9router 0.2.78 → 0.2.79

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 (265) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +35 -35
  3. package/app/.next/build-manifest.json +3 -3
  4. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  5. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/_global-error.html +2 -2
  16. package/app/.next/server/app/_global-error.rsc +1 -1
  17. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  18. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  19. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  20. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  21. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  22. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  23. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/_not-found.html +1 -1
  25. package/app/.next/server/app/_not-found.rsc +2 -2
  26. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  27. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  28. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  29. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  30. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  31. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  32. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  44. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  45. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  46. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/api/combos/route.js +1 -1
  48. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  51. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/keys/route.js +1 -1
  53. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/models/alias/route.js +1 -1
  55. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  58. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  61. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  64. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  67. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  74. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  76. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/providers/route.js +1 -1
  79. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/sync/cloud/route.js +1 -1
  85. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  93. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/v1/models/route.js +1 -1
  103. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  108. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/callback.html +1 -1
  111. package/app/.next/server/app/callback.rsc +2 -2
  112. package/app/.next/server/app/callback.segments/_full.segment.rsc +2 -2
  113. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  114. package/app/.next/server/app/callback.segments/_index.segment.rsc +2 -2
  115. package/app/.next/server/app/callback.segments/_tree.segment.rsc +1 -1
  116. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  117. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  118. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  119. package/app/.next/server/app/dashboard/cli-tools.rsc +4 -4
  120. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  121. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  122. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  123. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  124. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +4 -4
  125. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  126. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +2 -2
  127. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  128. package/app/.next/server/app/dashboard/combos.html +1 -1
  129. package/app/.next/server/app/dashboard/combos.rsc +4 -4
  130. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  131. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  132. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  133. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  134. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +4 -4
  135. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  136. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +2 -2
  137. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  138. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  139. package/app/.next/server/app/dashboard/endpoint.rsc +4 -4
  140. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  141. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  142. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  143. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  144. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +4 -4
  145. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  146. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +2 -2
  147. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  148. package/app/.next/server/app/dashboard/profile.html +1 -1
  149. package/app/.next/server/app/dashboard/profile.rsc +4 -4
  150. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  151. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  152. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  153. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  154. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +4 -4
  155. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  156. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +2 -2
  157. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  158. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  159. package/app/.next/server/app/dashboard/providers/new.rsc +4 -4
  160. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  161. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  162. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  163. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  164. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  165. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +4 -4
  166. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  167. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +2 -2
  168. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  169. package/app/.next/server/app/dashboard/providers.html +1 -1
  170. package/app/.next/server/app/dashboard/providers.rsc +4 -4
  171. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  172. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  173. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  174. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  175. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +4 -4
  176. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  177. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +2 -2
  178. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  179. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  181. package/app/.next/server/app/dashboard/settings/pricing.rsc +2 -2
  182. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +2 -2
  183. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  184. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +2 -2
  185. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  186. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  187. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  188. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  189. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  190. package/app/.next/server/app/dashboard/translator.html +1 -1
  191. package/app/.next/server/app/dashboard/translator.rsc +4 -4
  192. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  193. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  194. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  195. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  196. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +4 -4
  197. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  198. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +2 -2
  199. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  200. package/app/.next/server/app/dashboard/usage.html +1 -1
  201. package/app/.next/server/app/dashboard/usage.rsc +4 -4
  202. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  203. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  204. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  205. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  206. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +4 -4
  207. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  208. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +2 -2
  209. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  210. package/app/.next/server/app/dashboard.html +1 -1
  211. package/app/.next/server/app/dashboard.rsc +4 -4
  212. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  213. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  214. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  215. package/app/.next/server/app/dashboard.segments/_full.segment.rsc +4 -4
  216. package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  217. package/app/.next/server/app/dashboard.segments/_index.segment.rsc +2 -2
  218. package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  219. package/app/.next/server/app/index.html +1 -1
  220. package/app/.next/server/app/index.rsc +2 -2
  221. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  222. package/app/.next/server/app/index.segments/_full.segment.rsc +2 -2
  223. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  224. package/app/.next/server/app/index.segments/_index.segment.rsc +2 -2
  225. package/app/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  226. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  227. package/app/.next/server/app/landing.html +1 -1
  228. package/app/.next/server/app/landing.rsc +2 -2
  229. package/app/.next/server/app/landing.segments/_full.segment.rsc +2 -2
  230. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  231. package/app/.next/server/app/landing.segments/_index.segment.rsc +2 -2
  232. package/app/.next/server/app/landing.segments/_tree.segment.rsc +1 -1
  233. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  234. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  235. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  236. package/app/.next/server/app/login.html +1 -1
  237. package/app/.next/server/app/login.rsc +3 -3
  238. package/app/.next/server/app/login.segments/_full.segment.rsc +3 -3
  239. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  240. package/app/.next/server/app/login.segments/_index.segment.rsc +2 -2
  241. package/app/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  242. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  243. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  244. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  245. package/app/.next/server/app-paths-manifest.json +35 -35
  246. package/app/.next/server/chunks/3990.js +1 -1
  247. package/app/.next/server/chunks/412.js +4 -4
  248. package/app/.next/server/chunks/5330.js +2 -2
  249. package/app/.next/server/chunks/8031.js +1 -1
  250. package/app/.next/server/chunks/8152.js +1 -1
  251. package/app/.next/server/chunks/8954.js +1 -1
  252. package/app/.next/server/chunks/9718.js +1 -1
  253. package/app/.next/server/middleware-build-manifest.js +1 -1
  254. package/app/.next/server/pages/404.html +1 -1
  255. package/app/.next/server/pages/500.html +2 -2
  256. package/app/.next/server/server-reference-manifest.js +1 -1
  257. package/app/.next/server/server-reference-manifest.json +1 -1
  258. package/app/.next/static/chunks/{5497-ad7fb90ac4a481cb.js → 5497-22ff80798e3ea482.js} +2 -2
  259. package/app/.next/static/chunks/8729-c290b7a234aecfab.js +1 -0
  260. package/app/.next/static/chunks/{webpack-34add7e75711617f.js → webpack-79a9aedf42a631d8.js} +1 -1
  261. package/app/package.json +1 -1
  262. package/package.json +1 -1
  263. package/app/.next/static/chunks/8729-fc0f92ed5e5d2411.js +0 -1
  264. /package/app/.next/static/{jfmN0W_9Gk1asYjgWltrV → N1waQJ2nd9i6XzUYClHLi}/_buildManifest.js +0 -0
  265. /package/app/.next/static/{jfmN0W_9Gk1asYjgWltrV → N1waQJ2nd9i6XzUYClHLi}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
1
  exports.id=3990,exports.ids=[3990],exports.modules={47370:(a,b,c)=>{"use strict";c.d(b,{BY:()=>A,E5:()=>x,SL:()=>m.SL,Zx:()=>y,ox:()=>m.ox,sZ:()=>w,uw:()=>u});var d=c(82996),e=c(11259),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(29021),k=c.n(j),l=c(1932),m=c(90336);let n="u">typeof caches||"object"==typeof caches,o=function(){if(n)return"/tmp";try{let a=process.platform,b=i().homedir(),c=function(){if(n)return"9router";let a=g().dirname((0,l.fileURLToPath)("file:///Users/Working/router4/app/src/lib/usageDb.js")),b=g().resolve(a,"../../../package.json");try{let a=JSON.parse(k().readFileSync(b,"utf-8"));return a.config?.appName||"9router"}catch{return"9router"}}();if("win32"===a)return g().join(process.env.APPDATA||g().join(b,"AppData","Roaming"),c);return g().join(b,`.${c}`)}catch(a){return console.error("[usageDb] Failed to get user data directory:",a.message),g().join(process.cwd(),".9router")}}(),p=n?null:g().join(o,"usage.json"),q=n?null:g().join(o,"log.txt");if(!n&&k()&&"function"==typeof k().existsSync)try{k().existsSync(o)||(k().mkdirSync(o,{recursive:!0}),console.log(`[usageDb] Created data directory: ${o}`))}catch(a){console.error("[usageDb] Failed to create data directory:",a.message)}let r={history:[]},s=null,t={byModel:{},byAccount:{}};function u(a,b,c,d){let e=b?`${a} (${b})`:a;t.byModel[e]||(t.byModel[e]=0),t.byModel[e]=Math.max(0,t.byModel[e]+(d?1:-1)),c&&(t.byAccount[c]||(t.byAccount[c]={}),t.byAccount[c][e]||(t.byAccount[c][e]=0),t.byAccount[c][e]=Math.max(0,t.byAccount[c][e]+(d?1:-1)))}async function v(){if(n)return s||((s=new d.t({read:async()=>{},write:async()=>{}},r)).data=r),s;if(!s){let a=new e.Pv(p);s=new d.t(a,r);try{await s.read()}catch(a){if(a instanceof SyntaxError)console.warn("[DB] Corrupt Usage JSON detected, resetting to defaults..."),s.data=r,await s.write();else throw a}s.data||(s.data=r,await s.write())}return s}async function w(a){if(!n)try{let b=await v();a.timestamp||(a.timestamp=new Date().toISOString()),Array.isArray(b.data.history)||(b.data.history=[]),b.data.history.push(a),await b.write()}catch(a){console.error("Failed to save usage stats:",a)}}async function x({model:a,provider:b,connectionId:d,tokens:e,status:f}){if(!n)try{let g=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=b(a.getDate()),d=b(a.getMonth()+1),e=a.getFullYear(),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds());return`${c}-${d}-${e} ${f}:${g}:${h}`}(),h=b?.toUpperCase()||"-",i=d?d.slice(0,8):"-";try{let{getProviderConnections:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),b=(await a()).find(a=>a.id===d);b&&(i=b.name||b.email||i)}catch{}let j=e?.prompt_tokens!==void 0?e.prompt_tokens:"-",l=e?.completion_tokens!==void 0?e.completion_tokens:"-",m=`${g} | ${a||"-"} | ${h} | ${i} | ${j} | ${l} | ${f}
2
- `;k().appendFileSync(q,m);let n=k().readFileSync(q,"utf-8").trim().split("\n");n.length>200&&k().writeFileSync(q,n.slice(-200).join("\n")+"\n")}catch(a){console.error("Failed to append to log.txt:",a.message)}}async function y(a=200){if(n)return[];if(!k()||"function"!=typeof k().existsSync)return console.error("[usageDb] fs module not available in this environment"),[];if(!q)return console.error("[usageDb] LOG_FILE path not defined"),[];if(!k().existsSync(q))return console.log(`[usageDb] Log file does not exist: ${q}`),[];try{return k().readFileSync(q,"utf-8").trim().split("\n").slice(-a).reverse()}catch(a){return console.error("[usageDb] Failed to read log.txt:",a.message),console.error("[usageDb] LOG_FILE path:",q),[]}}async function z(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),f=await e(a,b);if(!f)return 0;let g=0,h=d.prompt_tokens||d.input_tokens||0,i=d.cached_tokens||d.cache_read_input_tokens||0,j=Math.max(0,h-i);if(g+=j*(f.input/1e6),i>0){let a=f.cached||f.input;g+=a/1e6*i}let k=d.completion_tokens||d.output_tokens||0;g+=k*(f.output/1e6);let l=d.reasoning_tokens||0;if(l>0){let a=f.reasoning||f.output;g+=a/1e6*l}let m=d.cache_creation_input_tokens||0;if(m>0){let a=f.cache_creation||f.input;g+=a/1e6*m}return g}catch(a){return console.error("Error calculating cost:",a),0}}async function A(){let a=(await v()).data.history||[],{getProviderConnections:b}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),d=[];try{d=await b()}catch(a){console.warn("Could not fetch provider connections for usage stats:",a.message)}let e={};for(let a of d)e[a.id]=a.name||a.email||a.id;let f={totalRequests:a.length,totalPromptTokens:0,totalCompletionTokens:0,totalCost:0,byProvider:{},byModel:{},byAccount:{},last10Minutes:[],pending:t,activeRequests:[]};for(let[a,b]of Object.entries(t.byAccount))for(let[c,d]of Object.entries(b))if(d>0){let b=e[a]||`Account ${a.slice(0,8)}...`,g=c.match(/^(.*) \((.*)\)$/),h=g?g[1]:c,i=g?g[2]:"unknown";f.activeRequests.push({model:h,provider:i,account:b,count:d})}let g=new Date,h=new Date(6e4*Math.floor(g.getTime()/6e4)),i=new Date(h.getTime()-54e4),j={};for(let a=0;a<10;a++){let b=new Date(h.getTime()-(9-a)*6e4).getTime();j[b]={requests:0,promptTokens:0,completionTokens:0,cost:0},f.last10Minutes.push(j[b])}for(let b of a){let a=b.tokens?.prompt_tokens||0,c=b.tokens?.completion_tokens||0,d=new Date(b.timestamp),h=await z(b.provider,b.model,b.tokens);if(f.totalPromptTokens+=a,f.totalCompletionTokens+=c,f.totalCost+=h,d>=i&&d<=g){let b=6e4*Math.floor(d.getTime()/6e4);j[b]&&(j[b].requests++,j[b].promptTokens+=a,j[b].completionTokens+=c,j[b].cost+=h)}f.byProvider[b.provider]||(f.byProvider[b.provider]={requests:0,promptTokens:0,completionTokens:0,cost:0}),f.byProvider[b.provider].requests++,f.byProvider[b.provider].promptTokens+=a,f.byProvider[b.provider].completionTokens+=c,f.byProvider[b.provider].cost+=h;let k=b.provider?`${b.model} (${b.provider})`:b.model;if(f.byModel[k]||(f.byModel[k]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:b.provider,lastUsed:b.timestamp}),f.byModel[k].requests++,f.byModel[k].promptTokens+=a,f.byModel[k].completionTokens+=c,f.byModel[k].cost+=h,new Date(b.timestamp)>new Date(f.byModel[k].lastUsed)&&(f.byModel[k].lastUsed=b.timestamp),b.connectionId){let d=e[b.connectionId]||`Account ${b.connectionId.slice(0,8)}...`,g=`${b.model} (${b.provider} - ${d})`;f.byAccount[g]||(f.byAccount[g]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:b.provider,connectionId:b.connectionId,accountName:d,lastUsed:b.timestamp}),f.byAccount[g].requests++,f.byAccount[g].promptTokens+=a,f.byAccount[g].completionTokens+=c,f.byAccount[g].cost+=h,new Date(b.timestamp)>new Date(f.byAccount[g].lastUsed)&&(f.byAccount[g].lastUsed=b.timestamp)}}return f}},78335:()=>{},90336:(a,b,c)=>{"use strict";c.d(b,{SL:()=>z,ox:()=>x,yU:()=>u});var d=c(87550),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(29021),k=c.n(j);let l="u">typeof caches||"object"==typeof caches;async function m(){try{let{getSettings:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),b=await a();return{maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||"1000",10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||"20",10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||"5000",10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"1024",10))}}catch(a){return console.error("[requestDetailsDb] Failed to load observability config:",a),{maxRecords:1e3,batchSize:20,flushIntervalMs:5e3,maxJsonSize:1048576}}}let n=null,o=null,p=function(){if(l)return"/tmp";try{let a=process.platform,b=i().homedir(),c="9router";if("win32"===a)return g().join(process.env.APPDATA||g().join(b,"AppData","Roaming"),c);return g().join(b,`.${c}`)}catch(a){return console.error("[requestDetailsDb] Failed to get user data directory:",a.message),g().join(process.cwd(),".9router")}}(),q=l?null:g().join(p,"request-details.sqlite");if(!l&&k()&&"function"==typeof k().existsSync)try{k().existsSync(p)||k().mkdirSync(p,{recursive:!0})}catch(a){console.error("[requestDetailsDb] Failed to create data directory:",a.message)}let r=[],s=null,t=!1;async function u(){if(l)return o||(o={prepare:()=>({run:()=>{},get:()=>null,all:()=>[]}),exec:()=>{},pragma:()=>{}}),o;if(!o){let a=new(e())(q);a.pragma("journal_mode = WAL"),a.pragma("synchronous = NORMAL"),a.pragma("cache_size = -64000"),a.pragma("temp_store = MEMORY"),a.exec(`
2
+ `;k().appendFileSync(q,m);let n=k().readFileSync(q,"utf-8").trim().split("\n");n.length>200&&k().writeFileSync(q,n.slice(-200).join("\n")+"\n")}catch(a){console.error("Failed to append to log.txt:",a.message)}}async function y(a=200){if(n)return[];if(!k()||"function"!=typeof k().existsSync)return console.error("[usageDb] fs module not available in this environment"),[];if(!q)return console.error("[usageDb] LOG_FILE path not defined"),[];if(!k().existsSync(q))return console.log(`[usageDb] Log file does not exist: ${q}`),[];try{return k().readFileSync(q,"utf-8").trim().split("\n").slice(-a).reverse()}catch(a){return console.error("[usageDb] Failed to read log.txt:",a.message),console.error("[usageDb] LOG_FILE path:",q),[]}}async function z(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),f=await e(a,b);if(!f)return 0;let g=0,h=d.prompt_tokens||d.input_tokens||0,i=d.cached_tokens||d.cache_read_input_tokens||0,j=Math.max(0,h-i);if(g+=j*(f.input/1e6),i>0){let a=f.cached||f.input;g+=a/1e6*i}let k=d.completion_tokens||d.output_tokens||0;g+=k*(f.output/1e6);let l=d.reasoning_tokens||0;if(l>0){let a=f.reasoning||f.output;g+=a/1e6*l}let m=d.cache_creation_input_tokens||0;if(m>0){let a=f.cache_creation||f.input;g+=a/1e6*m}return g}catch(a){return console.error("Error calculating cost:",a),0}}async function A(){let a=(await v()).data.history||[],{getProviderConnections:b,getApiKeys:d}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),e=[];try{e=await b()}catch(a){console.warn("Could not fetch provider connections for usage stats:",a.message)}let f={};for(let a of e)f[a.id]=a.name||a.email||a.id;let g=[];try{g=await d()}catch(a){console.warn("Could not fetch API keys for usage stats:",a.message)}let h={};for(let a of g)h[a.key]={name:a.name,id:a.id,createdAt:a.createdAt};let i={totalRequests:a.length,totalPromptTokens:0,totalCompletionTokens:0,totalCost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},last10Minutes:[],pending:t,activeRequests:[]};for(let[a,b]of Object.entries(t.byAccount))for(let[c,d]of Object.entries(b))if(d>0){let b=f[a]||`Account ${a.slice(0,8)}...`,e=c.match(/^(.*) \((.*)\)$/),g=e?e[1]:c,h=e?e[2]:"unknown";i.activeRequests.push({model:g,provider:h,account:b,count:d})}let j=new Date,k=new Date(6e4*Math.floor(j.getTime()/6e4)),l=new Date(k.getTime()-54e4),m={};for(let a=0;a<10;a++){let b=new Date(k.getTime()-(9-a)*6e4).getTime();m[b]={requests:0,promptTokens:0,completionTokens:0,cost:0},i.last10Minutes.push(m[b])}for(let b of a){let a=b.tokens?.prompt_tokens||0,c=b.tokens?.completion_tokens||0,d=new Date(b.timestamp),e=await z(b.provider,b.model,b.tokens);if(i.totalPromptTokens+=a,i.totalCompletionTokens+=c,i.totalCost+=e,d>=l&&d<=j){let b=6e4*Math.floor(d.getTime()/6e4);m[b]&&(m[b].requests++,m[b].promptTokens+=a,m[b].completionTokens+=c,m[b].cost+=e)}i.byProvider[b.provider]||(i.byProvider[b.provider]={requests:0,promptTokens:0,completionTokens:0,cost:0}),i.byProvider[b.provider].requests++,i.byProvider[b.provider].promptTokens+=a,i.byProvider[b.provider].completionTokens+=c,i.byProvider[b.provider].cost+=e;let g=b.provider?`${b.model} (${b.provider})`:b.model;if(i.byModel[g]||(i.byModel[g]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:b.provider,lastUsed:b.timestamp}),i.byModel[g].requests++,i.byModel[g].promptTokens+=a,i.byModel[g].completionTokens+=c,i.byModel[g].cost+=e,new Date(b.timestamp)>new Date(i.byModel[g].lastUsed)&&(i.byModel[g].lastUsed=b.timestamp),b.connectionId){let d=f[b.connectionId]||`Account ${b.connectionId.slice(0,8)}...`,g=`${b.model} (${b.provider} - ${d})`;i.byAccount[g]||(i.byAccount[g]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:b.provider,connectionId:b.connectionId,accountName:d,lastUsed:b.timestamp}),i.byAccount[g].requests++,i.byAccount[g].promptTokens+=a,i.byAccount[g].completionTokens+=c,i.byAccount[g].cost+=e,new Date(b.timestamp)>new Date(i.byAccount[g].lastUsed)&&(i.byAccount[g].lastUsed=b.timestamp)}if(b.apiKey&&"string"==typeof b.apiKey){let d=h[b.apiKey],f=d?.name||b.apiKey.slice(0,8)+"...",g=b.apiKey,j=`${g}|${b.model}|${b.provider||"unknown"}`;i.byApiKey[j]||(i.byApiKey[j]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:b.provider,apiKey:b.apiKey,keyName:f,apiKeyKey:g,lastUsed:b.timestamp});let k=i.byApiKey[j];k.requests++,k.promptTokens+=a,k.completionTokens+=c,k.cost+=e,new Date(b.timestamp)>new Date(k.lastUsed)&&(k.lastUsed=b.timestamp)}else{let d="local-no-key";i.byApiKey[d]||(i.byApiKey[d]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:b.provider,apiKey:null,keyName:"Local (No API Key)",apiKeyKey:d,lastUsed:b.timestamp});let f=i.byApiKey[d];f.requests++,f.promptTokens+=a,f.completionTokens+=c,f.cost+=e,new Date(b.timestamp)>new Date(f.lastUsed)&&(f.lastUsed=b.timestamp)}}return i}},78335:()=>{},90336:(a,b,c)=>{"use strict";c.d(b,{SL:()=>z,ox:()=>x,yU:()=>u});var d=c(87550),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(29021),k=c.n(j);let l="u">typeof caches||"object"==typeof caches;async function m(){try{let{getSettings:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),b=await a();return{maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||"1000",10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||"20",10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||"5000",10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"1024",10))}}catch(a){return console.error("[requestDetailsDb] Failed to load observability config:",a),{maxRecords:1e3,batchSize:20,flushIntervalMs:5e3,maxJsonSize:1048576}}}let n=null,o=null,p=function(){if(l)return"/tmp";try{let a=process.platform,b=i().homedir(),c="9router";if("win32"===a)return g().join(process.env.APPDATA||g().join(b,"AppData","Roaming"),c);return g().join(b,`.${c}`)}catch(a){return console.error("[requestDetailsDb] Failed to get user data directory:",a.message),g().join(process.cwd(),".9router")}}(),q=l?null:g().join(p,"request-details.sqlite");if(!l&&k()&&"function"==typeof k().existsSync)try{k().existsSync(p)||k().mkdirSync(p,{recursive:!0})}catch(a){console.error("[requestDetailsDb] Failed to create data directory:",a.message)}let r=[],s=null,t=!1;async function u(){if(l)return o||(o={prepare:()=>({run:()=>{},get:()=>null,all:()=>[]}),exec:()=>{},pragma:()=>{}}),o;if(!o){let a=new(e())(q);a.pragma("journal_mode = WAL"),a.pragma("synchronous = NORMAL"),a.pragma("cache_size = -64000"),a.pragma("temp_store = MEMORY"),a.exec(`
3
3
  CREATE TABLE IF NOT EXISTS request_details (
4
4
  id TEXT PRIMARY KEY,
5
5
  provider TEXT,
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=412,exports.ids=[412],exports.modules={2525:(a,b,c)=>{c.d(b,{d_:()=>i,mA:()=>h});var d=c(89718);let e={cc:"claude",cx:"codex",gc:"gemini-cli",qw:"qwen",if:"iflow",ag:"antigravity",gh:"github",kr:"kiro",cu:"cursor",openai:"openai",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",cursor:"cursor"};function f(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:e[c]||c,model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function g(a,b){let c=f(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,g=function(a,b){var c,d;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:e[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:e[d=f.provider]||d,model:f.model}:null}(c.model,d);return g||{provider:"openai",model:c.model}}async function h(a){let b=f(a);if(!b.isAlias){if(b.provider===b.providerAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===b.providerAlias);if(a)return{provider:a.id,model:b.model};let c=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===b.providerAlias);if(c)return{provider:c.id,model:b.model}}return{provider:b.provider,model:b.model}}return g(a,d.OM)}async function i(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>f,error:()=>i,info:()=>g,maskKey:()=>m,request:()=>j,response:()=>k,stream:()=>l,warn:()=>h});function d(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}function e(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function f(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] 🔍 [${a}] ${b}${f}`)}}function g(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ℹ️ [${a}] ${b}${f}`)}}function h(a,b,c){c&&e(c)}function i(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ❌ [${a}] ${b}${f}`)}}function j(a,b,c){let f=c?` ${e(c)}`:"";console.log(`\x1b[36m[${d()}] 📥 ${a} ${b}${f}\x1b[0m`)}function k(a,b,c){let f=c?` ${e(c)}`:"";console.log(`[${d()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${f}`)}function l(a,b){let c=b?` ${e(b)}`:"";console.log(`[${d()}] 🌊 [STREAM] ${a}${c}`)}function m(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},12557:(a,b,c)=>{c.d(b,{AO:()=>g,Qo:()=>j,UY:()=>i,hk:()=>f,vp:()=>h});var d=c(2255);function e(a=0){return Math.min(d.EQ.base*Math.pow(2,a),d.EQ.max)}function f(a,b,c=0){if(b){let a=("string"==typeof b?b:JSON.stringify(b)).toLowerCase();if(a.includes("no credentials"))return{shouldFallback:!0,cooldownMs:d.Bm.notFound};if(a.includes("request not allowed"))return{shouldFallback:!0,cooldownMs:d.Bm.requestNotAllowed};if(a.includes("rate limit")||a.includes("too many requests")||a.includes("quota exceeded")||a.includes("capacity")||a.includes("overloaded")){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:e(c),newBackoffLevel:a}}}if(a===d.gx.UNAUTHORIZED)return{shouldFallback:!0,cooldownMs:d.Bm.unauthorized};if(a===d.gx.PAYMENT_REQUIRED||a===d.gx.FORBIDDEN)return{shouldFallback:!0,cooldownMs:d.Bm.paymentRequired};if(a===d.gx.NOT_FOUND)return{shouldFallback:!0,cooldownMs:d.Bm.notFound};if(a===d.gx.RATE_LIMITED){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:e(c),newBackoffLevel:a}}return[d.gx.NOT_ACCEPTABLE,d.gx.REQUEST_TIMEOUT,d.gx.SERVER_ERROR,d.gx.BAD_GATEWAY,d.gx.SERVICE_UNAVAILABLE,d.gx.GATEWAY_TIMEOUT].includes(a),{shouldFallback:!0,cooldownMs:d.Bm.transient}}function g(a){return!!a&&new Date(a).getTime()>Date.now()}function h(a){return new Date(Date.now()+a).toISOString()}function i(a){let b=null,c=Date.now();for(let d of a){if(!d.rateLimitedUntil)continue;let a=new Date(d.rateLimitedUntil).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function j(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}},18910:(a,b,c)=>{c.d(b,{P:()=>f});var d=c(12557),e=c(43659);async function f({body:a,models:b,handleSingleModel:c,log:f}){let g=null,h=null,i=null;for(let e=0;e<b.length;e++){let j=b[e];f.info("COMBO",`Trying model ${e+1}/${b.length}: ${j}`);let k=await c(a,j);if(k.ok)return f.info("COMBO",`Model ${j} succeeded`),k;let l=k.statusText||"",m=null;try{let a=await k.clone().json();l=a?.error?.message||a?.error||a?.message||l,m=a?.retryAfter||null}catch{}if(m&&(!h||new Date(m)<new Date(h))&&(h=m),"string"!=typeof l)try{l=JSON.stringify(l)}catch{l=String(l)}let{shouldFallback:n}=(0,d.hk)(k.status,l);if(!n)return f.warn("COMBO",`Model ${j} failed (no fallback)`,{status:k.status}),k;g=l||String(k.status),i||(i=k.status),f.warn("COMBO",`Model ${j} failed, trying next`,{status:k.status})}let j=g||"All combo models unavailable";if(h){let a=(0,d.Qo)(h);return f.warn("COMBO",`All models failed | ${j} (${a})`),(0,e.wO)(406,j,h,a)}return f.warn("COMBO",`All models failed | ${j}`),new Response(JSON.stringify({error:{message:j}}),{status:406,headers:{"Content-Type":"application/json"}})}},19225:(a,b,c)=>{a.exports=c(44870)},27349:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(57647),e=c(33110),f=c(14170),g=c(2255),h=c(74590);function i(a,b,c=""){if(!c.includes("claude-cli")||!a.messages?.length)return null;let l=a.messages,m=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",n=!1,o=l[l.length-1];if(o?.role==="assistant"&&o.content?.[0]?.text==="{"&&(n=!0),n||"Warmup"===m(l[0]?.content)&&(n=!0),n||1!==l.length||l[0]?.role!=="user"||"count"===m(l[0]?.content)&&(n=!0),!n&&g.C8?.length){let a=l.filter(a=>"user"===a.role).map(a=>m(a.content)).join(" ");g.C8.some(b=>a.includes(b))&&(n=!0)}if(!n)return null;let p=(0,d.Tz)(a);return!1!==a.stream?function(a,b){let c=j(b),d=(0,e.Ws)(a);d.model=b;let g=k(c),i=[];for(let b of g){let c=(0,e.Y8)(f.h.OPENAI,a,b,d);if(c?.length>0)for(let b of c)i.push((0,h.v8)(b,a))}let l=(0,e.Y8)(f.h.OPENAI,a,null,d);if(l?.length>0)for(let b of l)i.push((0,h.v8)(b,a));return i.push("data: [DONE]\n\n"),{success:!0,response:new Response(i.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}}(p,b):function(a,b){let c=j(b);if(a===f.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(c),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let d=(0,e.Ws)(a);d.model=b;let g=k(c),h=[];for(let b of g){let c=(0,e.Y8)(f.h.OPENAI,a,b,d);c?.length>0&&h.push(...c)}let i=(0,e.Y8)(f.h.OPENAI,a,null,d);return i?.length>0&&h.push(...i),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return j("unknown");let c=a[a.length-1];if(b===f.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);d?.message&&(c=d.message,b?.usage&&(c.usage=b.usage))}return c}(h,a)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}(p,b)}function j(a){let b=`chatcmpl-${Date.now()}`;return{id:b,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:"CLI Command Execution: Clear Terminal"},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function k(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},43659:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(2255);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let c="",e=null;try{let b=await a.text();try{let a=JSON.parse(b);c=a.error?.message||a.message||a.error||b}catch{c=b}}catch{c=`Upstream error: ${a.status}`}let g=("string"==typeof c?c:JSON.stringify(c))||d.O[a.status]||`Upstream error: ${a.status}`;return"antigravity"===b&&429===a.status&&(e=function(a){if("string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=60*parseInt(b[1])*6e4),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}(g)),{statusCode:a.status,message:g,retryAfterMs:e}}function g(a,b,c=null){let d={success:!1,status:a,error:b,response:e(a,b)};return c&&(d.retryAfterMs=c),d}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error";return`[${e}]: ${f}`}},57247:(a,b,c)=>{c.d(b,{Xg:()=>f,ux:()=>e,vq:()=>d});let d={cc:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],cx:[{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}],gc:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],qw:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"}],if:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.6",name:"GLM 4.6"}],ag:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-opus-4-5-thinking",name:"Claude Opus 4.5 Thinking"},{id:"claude-sonnet-4-5-thinking",name:"Claude Sonnet 4.5 Thinking"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5"},{id:"gemini-3-pro-high",name:"Gemini 3 Pro High"},{id:"gemini-3-pro-low",name:"Gemini 3 Pro Low"},{id:"gemini-3-flash",name:"Gemini 3 Flash"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],gh:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"raptor-mini",name:"Raptor Mini"}],kr:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}],cu:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}],openai:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"}],anthropic:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],gemini:[{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],openrouter:[{id:"auto",name:"Auto (Best Available)"}],glm:[{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],"glm-cn":[{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5",name:"GLM-4.5"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],kimi:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],minimax:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]};function e(a,b){let c=d[a];if(!c)return null;let e=c.find(a=>a.id===b);return e?.targetFormat||null}let f={claude:"cc",codex:"cx","gemini-cli":"gc",qwen:"qw",iflow:"if",antigravity:"ag",github:"gh",kiro:"kr",cursor:"cu",openai:"openai",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",glm:"glm","glm-cn":"glm-cn",kimi:"kimi",minimax:"minimax","minimax-cn":"minimax"}},59657:(a,b,c)=>{function d({onDisconnect:a,log:b,provider:c,model:e}={}){let f=new AbortController,g=Date.now(),h=!1,i=null,j=a=>{let b=Date.now()-g,d=c?.toUpperCase()||"UNKNOWN";console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 🌊 [STREAM] ${d} | ${e||"unknown"} | ${b}ms | ${a}`)};return{signal:f.signal,startTime:g,isConnected:()=>!h,handleDisconnect:(b="client_closed")=>{h||(h=!0,j(`disconnect: ${b}`),i=setTimeout(()=>{f.abort()},500),a?.({reason:b,duration:Date.now()-g}))},handleComplete:()=>{!h&&(h=!0,j("complete"),i&&(clearTimeout(i),i=null))},handleError:a=>{(i&&(clearTimeout(i),i=null),"AbortError"===a.name)?j("aborted"):j(`error: ${a.message}`)},abort:()=>f.abort()}}function e(a,b,c){var d;let e,f;return d={readable:a.body.pipeThrough(b),writable:{getWriter:()=>({abort:()=>{}})}},e=d.readable.getReader(),f=d.writable.getWriter(),new ReadableStream({async pull(a){if(!c.isConnected())return void a.close();try{let{done:b,value:d}=await e.read();if(b){c.handleComplete(),a.close();return}a.enqueue(d)}catch(b){c.handleError(b),a.error(b)}},cancel(a){c.handleDisconnect(a||"cancelled"),e.cancel(),f.abort()}})}c.d(b,{Jb:()=>e,jd:()=>d})},67828:(a,b,c)=>{c.d(b,{eU:()=>i,vN:()=>h});var d=c(7803),e=c(89718),f=c(8590);let g=f.oD;async function h(a,b){try{let c={};b.accessToken&&(c.accessToken=b.accessToken),b.refreshToken&&(c.refreshToken=b.refreshToken),b.expiresIn&&(c.expiresAt=new Date(Date.now()+1e3*b.expiresIn).toISOString(),c.expiresIn=b.expiresIn),b.providerSpecificData&&(c.providerSpecificData=b.providerSpecificData);let f=await (0,e.rj)(a,c);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!f}),!!f}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function i(a,b){let c={...b};if(c.expiresAt){let b=new Date(c.expiresAt).getTime(),e=Date.now();if(b-e<g){let g;d.info("TOKEN_REFRESH","Token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round((b-e)/1e3)});let i=await (g=c,(0,f.iD)(a,g,d));i&&i.accessToken&&(await h(c.connectionId,i),c={...c,accessToken:i.accessToken,refreshToken:i.refreshToken||c.refreshToken,expiresAt:i.expiresIn?new Date(Date.now()+1e3*i.expiresIn).toISOString():c.expiresAt})}}if("github"===a&&c.providerSpecificData?.copilotTokenExpiresAt){let b=1e3*c.providerSpecificData.copilotTokenExpiresAt,e=Date.now();if(b-e<g){let g;d.info("TOKEN_REFRESH","Copilot token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round((b-e)/1e3)});let i=await (g=c.accessToken,(0,f.jR)(g,d));i&&(await h(c.connectionId,{providerSpecificData:{...c.providerSpecificData,copilotToken:i.token,copilotTokenExpiresAt:i.expiresAt}}),c.providerSpecificData={...c.providerSpecificData,copilotToken:i.token,copilotTokenExpiresAt:i.expiresAt})}}return c}},71336:(a,b,c)=>{c.d(b,{q7:()=>m});let d="u">typeof process&&process.versions?.node&&!0,e="u">typeof process&&process.env?.ENABLE_REQUEST_LOGS==="true",f=null,g=null,h=null;async function i(){if(d&&e&&!f)try{f=await Promise.resolve().then(c.t.bind(c,29021,23)),h=(g=await Promise.resolve().then(c.t.bind(c,33873,23))).join("u">typeof process&&process.cwd?process.cwd():".","logs")}catch{}}async function j(a,b,c){if(await i(),!f||!h)return null;try{f.existsSync(h)||f.mkdirSync(h,{recursive:!0});let d=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=a.getFullYear(),d=b(a.getMonth()+1),e=b(a.getDate()),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds());return`${c}${d}${e}_${f}${g}${h}`}(),e=c.replace(/[/:]/g,"-"),i=`${a}_${b}_${e}_${d}`,j=g.join(h,i);return f.mkdirSync(j,{recursive:!0}),j}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}function k(a,b,c){if(f&&a)try{let d=g.join(a,b);f.writeFileSync(d,JSON.stringify(c,null,2))}catch(a){console.log(`[LOG] Failed to write ${b}:`,a.message)}}function l(a){return a?{...a}:{}}async function m(a,b,c){if(!e)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){}};let d=await j(a,b,c);return{get sessionPath(){return d},logClientRawRequest(a,b,c={}){k(d,"1_req_client.json",{timestamp:new Date().toISOString(),endpoint:a,headers:l(c),body:b})},logRawRequest(a,b={}){k(d,"2_req_source.json",{timestamp:new Date().toISOString(),headers:l(b),body:a})},logOpenAIRequest(a){k(d,"3_req_openai.json",{timestamp:new Date().toISOString(),body:a})},logTargetRequest(a,b,c){k(d,"4_req_target.json",{timestamp:new Date().toISOString(),url:a,headers:l(b),body:c})},logProviderResponse(a,b,c,e){k(d,"5_res_provider.json",{timestamp:new Date().toISOString(),status:a,statusText:b,headers:c?"function"==typeof c.entries?Object.fromEntries(c.entries()):c:{},body:e})},appendProviderChunk(a){if(f&&d)try{let b=g.join(d,"5_res_provider.txt");f.appendFileSync(b,a)}catch(a){}},appendOpenAIChunk(a){if(f&&d)try{let b=g.join(d,"6_res_openai.txt");f.appendFileSync(b,a)}catch(a){}},logConvertedResponse(a){k(d,"7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){if(f&&d)try{let b=g.join(d,"7_res_client.txt");f.appendFileSync(b,a)}catch(a){}},logError(a,b=null){k(d,"6_error.json",{timestamp:new Date().toISOString(),error:a?.message||String(a),stack:a?.stack,requestBody:b})}}}},74590:(a,b,c)=>{c.d(b,{lm:()=>g.lm,l2:()=>q,i5:()=>p,v8:()=>j});var d=c(33110),e=c(14170),f=c(47370),g=c(73483);function h(a){if(!a||100!==a.charCodeAt(0))return null;let b=a.slice(5).trim();if("[DONE]"===b)return{done:!0};try{return JSON.parse(b)}catch(a){return b.length>0&&b.length<1e3&&console.log(`[WARN] Failed to parse SSE line (${b.length} chars): ${b.substring(0,100)}...`),null}}function i(a,b){if(b===e.h.OPENAI&&a.choices?.[0]?.delta){let b=a.choices[0].delta;return b.content&&""!==b.content||b.reasoning_content&&""!==b.reasoning_content||b.tool_calls&&b.tool_calls.length>0||a.choices[0].finish_reason||b.role}if(b===e.h.CLAUDE){let b="content_block_delta"===a.type,c=a.delta?.text&&""!==a.delta.text,d=a.delta?.thinking&&""!==a.delta.thinking,e=a.delta?.partial_json&&""!==a.delta.partial_json;if(b&&!c&&!d&&!e)return!1}return!0}function j(a,b){if(null==a)return"data: null\n\n";if(a&&a.done)return"data: [DONE]\n\n";if(a&&a.event&&a.data)return`event: ${a.event}
1
+ "use strict";exports.id=412,exports.ids=[412],exports.modules={2525:(a,b,c)=>{c.d(b,{d_:()=>i,mA:()=>h});var d=c(89718);let e={cc:"claude",cx:"codex",gc:"gemini-cli",qw:"qwen",if:"iflow",ag:"antigravity",gh:"github",kr:"kiro",cu:"cursor",openai:"openai",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",cursor:"cursor"};function f(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),d=a.slice(b+1);return{provider:e[c]||c,model:d,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function g(a,b){let c=f(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let d="function"==typeof b?await b():b,g=function(a,b){var c,d;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:e[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:e[d=f.provider]||d,model:f.model}:null}(c.model,d);return g||{provider:"openai",model:c.model}}async function h(a){let b=f(a);if(!b.isAlias){if(b.provider===b.providerAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===b.providerAlias);if(a)return{provider:a.id,model:b.model};let c=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===b.providerAlias);if(c)return{provider:c.id,model:b.model}}return{provider:b.provider,model:b.model}}return g(a,d.OM)}async function i(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>f,error:()=>i,info:()=>g,maskKey:()=>m,request:()=>j,response:()=>k,stream:()=>l,warn:()=>h});function d(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}function e(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function f(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] 🔍 [${a}] ${b}${f}`)}}function g(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ℹ️ [${a}] ${b}${f}`)}}function h(a,b,c){c&&e(c)}function i(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ❌ [${a}] ${b}${f}`)}}function j(a,b,c){let f=c?` ${e(c)}`:"";console.log(`\x1b[36m[${d()}] 📥 ${a} ${b}${f}\x1b[0m`)}function k(a,b,c){let f=c?` ${e(c)}`:"";console.log(`[${d()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${f}`)}function l(a,b){let c=b?` ${e(b)}`:"";console.log(`[${d()}] 🌊 [STREAM] ${a}${c}`)}function m(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},12557:(a,b,c)=>{c.d(b,{AO:()=>g,Qo:()=>j,UY:()=>i,hk:()=>f,vp:()=>h});var d=c(2255);function e(a=0){return Math.min(d.EQ.base*Math.pow(2,a),d.EQ.max)}function f(a,b,c=0){if(b){let a=("string"==typeof b?b:JSON.stringify(b)).toLowerCase();if(a.includes("no credentials"))return{shouldFallback:!0,cooldownMs:d.Bm.notFound};if(a.includes("request not allowed"))return{shouldFallback:!0,cooldownMs:d.Bm.requestNotAllowed};if(a.includes("rate limit")||a.includes("too many requests")||a.includes("quota exceeded")||a.includes("capacity")||a.includes("overloaded")){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:e(c),newBackoffLevel:a}}}if(a===d.gx.UNAUTHORIZED)return{shouldFallback:!0,cooldownMs:d.Bm.unauthorized};if(a===d.gx.PAYMENT_REQUIRED||a===d.gx.FORBIDDEN)return{shouldFallback:!0,cooldownMs:d.Bm.paymentRequired};if(a===d.gx.NOT_FOUND)return{shouldFallback:!0,cooldownMs:d.Bm.notFound};if(a===d.gx.RATE_LIMITED){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:e(c),newBackoffLevel:a}}return[d.gx.NOT_ACCEPTABLE,d.gx.REQUEST_TIMEOUT,d.gx.SERVER_ERROR,d.gx.BAD_GATEWAY,d.gx.SERVICE_UNAVAILABLE,d.gx.GATEWAY_TIMEOUT].includes(a),{shouldFallback:!0,cooldownMs:d.Bm.transient}}function g(a){return!!a&&new Date(a).getTime()>Date.now()}function h(a){return new Date(Date.now()+a).toISOString()}function i(a){let b=null,c=Date.now();for(let d of a){if(!d.rateLimitedUntil)continue;let a=new Date(d.rateLimitedUntil).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function j(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}},18910:(a,b,c)=>{c.d(b,{P:()=>f});var d=c(12557),e=c(43659);async function f({body:a,models:b,handleSingleModel:c,log:f}){let g=null,h=null,i=null;for(let e=0;e<b.length;e++){let j=b[e];f.info("COMBO",`Trying model ${e+1}/${b.length}: ${j}`);let k=await c(a,j);if(k.ok)return f.info("COMBO",`Model ${j} succeeded`),k;let l=k.statusText||"",m=null;try{let a=await k.clone().json();l=a?.error?.message||a?.error||a?.message||l,m=a?.retryAfter||null}catch{}if(m&&(!h||new Date(m)<new Date(h))&&(h=m),"string"!=typeof l)try{l=JSON.stringify(l)}catch{l=String(l)}let{shouldFallback:n}=(0,d.hk)(k.status,l);if(!n)return f.warn("COMBO",`Model ${j} failed (no fallback)`,{status:k.status}),k;g=l||String(k.status),i||(i=k.status),f.warn("COMBO",`Model ${j} failed, trying next`,{status:k.status})}let j=g||"All combo models unavailable";if(h){let a=(0,d.Qo)(h);return f.warn("COMBO",`All models failed | ${j} (${a})`),(0,e.wO)(406,j,h,a)}return f.warn("COMBO",`All models failed | ${j}`),new Response(JSON.stringify({error:{message:j}}),{status:406,headers:{"Content-Type":"application/json"}})}},19225:(a,b,c)=>{a.exports=c(44870)},27349:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(57647),e=c(33110),f=c(14170),g=c(2255),h=c(74590);function i(a,b,c=""){if(!c.includes("claude-cli")||!a.messages?.length)return null;let l=a.messages,m=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",n=!1,o=l[l.length-1];if(o?.role==="assistant"&&o.content?.[0]?.text==="{"&&(n=!0),n||"Warmup"===m(l[0]?.content)&&(n=!0),n||1!==l.length||l[0]?.role!=="user"||"count"===m(l[0]?.content)&&(n=!0),!n&&g.C8?.length){let a=l.filter(a=>"user"===a.role).map(a=>m(a.content)).join(" ");g.C8.some(b=>a.includes(b))&&(n=!0)}if(!n)return null;let p=(0,d.Tz)(a);return!1!==a.stream?function(a,b){let c=j(b),d=(0,e.Ws)(a);d.model=b;let g=k(c),i=[];for(let b of g){let c=(0,e.Y8)(f.h.OPENAI,a,b,d);if(c?.length>0)for(let b of c)i.push((0,h.v8)(b,a))}let l=(0,e.Y8)(f.h.OPENAI,a,null,d);if(l?.length>0)for(let b of l)i.push((0,h.v8)(b,a));return i.push("data: [DONE]\n\n"),{success:!0,response:new Response(i.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}}(p,b):function(a,b){let c=j(b);if(a===f.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(c),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let d=(0,e.Ws)(a);d.model=b;let g=k(c),h=[];for(let b of g){let c=(0,e.Y8)(f.h.OPENAI,a,b,d);c?.length>0&&h.push(...c)}let i=(0,e.Y8)(f.h.OPENAI,a,null,d);return i?.length>0&&h.push(...i),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return j("unknown");let c=a[a.length-1];if(b===f.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);d?.message&&(c=d.message,b?.usage&&(c.usage=b.usage))}return c}(h,a)),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}(p,b)}function j(a){let b=`chatcmpl-${Date.now()}`;return{id:b,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:"CLI Command Execution: Clear Terminal"},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function k(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},43659:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(2255);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let c="",e=null;try{let b=await a.text();try{let a=JSON.parse(b);c=a.error?.message||a.message||a.error||b}catch{c=b}}catch{c=`Upstream error: ${a.status}`}let g=("string"==typeof c?c:JSON.stringify(c))||d.O[a.status]||`Upstream error: ${a.status}`;return"antigravity"===b&&429===a.status&&(e=function(a){if("string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=60*parseInt(b[1])*6e4),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}(g)),{statusCode:a.status,message:g,retryAfterMs:e}}function g(a,b,c=null){let d={success:!1,status:a,error:b,response:e(a,b)};return c&&(d.retryAfterMs=c),d}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error";return`[${e}]: ${f}`}},57247:(a,b,c)=>{c.d(b,{Xg:()=>f,ux:()=>e,vq:()=>d});let d={cc:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],cx:[{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}],gc:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],qw:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"}],if:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"kimi-k2",name:"Kimi K2"},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3.2-chat",name:"DeepSeek V3.2 Chat"},{id:"minimax-m2.1",name:"MiniMax M2.1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6",name:"GLM 4.6"}],ag:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-opus-4-5-thinking",name:"Claude Opus 4.5 Thinking"},{id:"claude-sonnet-4-5-thinking",name:"Claude Sonnet 4.5 Thinking"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5"},{id:"gemini-3-pro-high",name:"Gemini 3 Pro High"},{id:"gemini-3-pro-low",name:"Gemini 3 Pro Low"},{id:"gemini-3-flash",name:"Gemini 3 Flash"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],gh:[{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}],kr:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}],cu:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}],openai:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"}],anthropic:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],gemini:[{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],openrouter:[{id:"auto",name:"Auto (Best Available)"}],glm:[{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],"glm-cn":[{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5",name:"GLM-4.5"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],kimi:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],minimax:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]};function e(a,b){let c=d[a];if(!c)return null;let e=c.find(a=>a.id===b);return e?.targetFormat||null}let f={claude:"cc",codex:"cx","gemini-cli":"gc",qwen:"qw",iflow:"if",antigravity:"ag",github:"gh",kiro:"kr",cursor:"cu",openai:"openai",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",glm:"glm","glm-cn":"glm-cn",kimi:"kimi",minimax:"minimax","minimax-cn":"minimax"}},59657:(a,b,c)=>{function d({onDisconnect:a,log:b,provider:c,model:e}={}){let f=new AbortController,g=Date.now(),h=!1,i=null,j=a=>{let b=Date.now()-g,d=c?.toUpperCase()||"UNKNOWN";console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 🌊 [STREAM] ${d} | ${e||"unknown"} | ${b}ms | ${a}`)};return{signal:f.signal,startTime:g,isConnected:()=>!h,handleDisconnect:(b="client_closed")=>{h||(h=!0,j(`disconnect: ${b}`),i=setTimeout(()=>{f.abort()},500),a?.({reason:b,duration:Date.now()-g}))},handleComplete:()=>{!h&&(h=!0,j("complete"),i&&(clearTimeout(i),i=null))},handleError:a=>{(i&&(clearTimeout(i),i=null),"AbortError"===a.name)?j("aborted"):j(`error: ${a.message}`)},abort:()=>f.abort()}}function e(a,b,c){var d;let e,f;return d={readable:a.body.pipeThrough(b),writable:{getWriter:()=>({abort:()=>{}})}},e=d.readable.getReader(),f=d.writable.getWriter(),new ReadableStream({async pull(a){if(!c.isConnected())return void a.close();try{let{done:b,value:d}=await e.read();if(b){c.handleComplete(),a.close();return}a.enqueue(d)}catch(b){c.handleError(b),a.error(b)}},cancel(a){c.handleDisconnect(a||"cancelled"),e.cancel(),f.abort()}})}c.d(b,{Jb:()=>e,jd:()=>d})},67828:(a,b,c)=>{c.d(b,{eU:()=>i,vN:()=>h});var d=c(7803),e=c(89718),f=c(8590);let g=f.oD;async function h(a,b){try{let c={};b.accessToken&&(c.accessToken=b.accessToken),b.refreshToken&&(c.refreshToken=b.refreshToken),b.expiresIn&&(c.expiresAt=new Date(Date.now()+1e3*b.expiresIn).toISOString(),c.expiresIn=b.expiresIn),b.providerSpecificData&&(c.providerSpecificData=b.providerSpecificData);let f=await (0,e.rj)(a,c);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!f}),!!f}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function i(a,b){let c={...b};if(c.expiresAt){let b=new Date(c.expiresAt).getTime(),e=Date.now();if(b-e<g){let g;d.info("TOKEN_REFRESH","Token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round((b-e)/1e3)});let i=await (g=c,(0,f.iD)(a,g,d));i&&i.accessToken&&(await h(c.connectionId,i),c={...c,accessToken:i.accessToken,refreshToken:i.refreshToken||c.refreshToken,expiresAt:i.expiresIn?new Date(Date.now()+1e3*i.expiresIn).toISOString():c.expiresAt})}}if("github"===a&&c.providerSpecificData?.copilotTokenExpiresAt){let b=1e3*c.providerSpecificData.copilotTokenExpiresAt,e=Date.now();if(b-e<g){let g;d.info("TOKEN_REFRESH","Copilot token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round((b-e)/1e3)});let i=await (g=c.accessToken,(0,f.jR)(g,d));i&&(await h(c.connectionId,{providerSpecificData:{...c.providerSpecificData,copilotToken:i.token,copilotTokenExpiresAt:i.expiresAt}}),c.providerSpecificData={...c.providerSpecificData,copilotToken:i.token,copilotTokenExpiresAt:i.expiresAt})}}return c}},71336:(a,b,c)=>{c.d(b,{q7:()=>m});let d="u">typeof process&&process.versions?.node&&!0,e="u">typeof process&&process.env?.ENABLE_REQUEST_LOGS==="true",f=null,g=null,h=null;async function i(){if(d&&e&&!f)try{f=await Promise.resolve().then(c.t.bind(c,29021,23)),h=(g=await Promise.resolve().then(c.t.bind(c,33873,23))).join("u">typeof process&&process.cwd?process.cwd():".","logs")}catch{}}async function j(a,b,c){if(await i(),!f||!h)return null;try{f.existsSync(h)||f.mkdirSync(h,{recursive:!0});let d=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=a.getFullYear(),d=b(a.getMonth()+1),e=b(a.getDate()),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds());return`${c}${d}${e}_${f}${g}${h}`}(),e=c.replace(/[/:]/g,"-"),i=`${a}_${b}_${e}_${d}`,j=g.join(h,i);return f.mkdirSync(j,{recursive:!0}),j}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}function k(a,b,c){if(f&&a)try{let d=g.join(a,b);f.writeFileSync(d,JSON.stringify(c,null,2))}catch(a){console.log(`[LOG] Failed to write ${b}:`,a.message)}}function l(a){return a?{...a}:{}}async function m(a,b,c){if(!e)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){}};let d=await j(a,b,c);return{get sessionPath(){return d},logClientRawRequest(a,b,c={}){k(d,"1_req_client.json",{timestamp:new Date().toISOString(),endpoint:a,headers:l(c),body:b})},logRawRequest(a,b={}){k(d,"2_req_source.json",{timestamp:new Date().toISOString(),headers:l(b),body:a})},logOpenAIRequest(a){k(d,"3_req_openai.json",{timestamp:new Date().toISOString(),body:a})},logTargetRequest(a,b,c){k(d,"4_req_target.json",{timestamp:new Date().toISOString(),url:a,headers:l(b),body:c})},logProviderResponse(a,b,c,e){k(d,"5_res_provider.json",{timestamp:new Date().toISOString(),status:a,statusText:b,headers:c?"function"==typeof c.entries?Object.fromEntries(c.entries()):c:{},body:e})},appendProviderChunk(a){if(f&&d)try{let b=g.join(d,"5_res_provider.txt");f.appendFileSync(b,a)}catch(a){}},appendOpenAIChunk(a){if(f&&d)try{let b=g.join(d,"6_res_openai.txt");f.appendFileSync(b,a)}catch(a){}},logConvertedResponse(a){k(d,"7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){if(f&&d)try{let b=g.join(d,"7_res_client.txt");f.appendFileSync(b,a)}catch(a){}},logError(a,b=null){k(d,"6_error.json",{timestamp:new Date().toISOString(),error:a?.message||String(a),stack:a?.stack,requestBody:b})}}}},74590:(a,b,c)=>{c.d(b,{lm:()=>g.lm,l2:()=>q,i5:()=>p,v8:()=>j});var d=c(33110),e=c(14170),f=c(47370),g=c(73483);function h(a){if(!a||100!==a.charCodeAt(0))return null;let b=a.slice(5).trim();if("[DONE]"===b)return{done:!0};try{return JSON.parse(b)}catch(a){return b.length>0&&b.length<1e3&&console.log(`[WARN] Failed to parse SSE line (${b.length} chars): ${b.substring(0,100)}...`),null}}function i(a,b){if(b===e.h.OPENAI&&a.choices?.[0]?.delta){let b=a.choices[0].delta;return b.content&&""!==b.content||b.reasoning_content&&""!==b.reasoning_content||b.tool_calls&&b.tool_calls.length>0||a.choices[0].finish_reason||b.role}if(b===e.h.CLAUDE){let b="content_block_delta"===a.type,c=a.delta?.text&&""!==a.delta.text,d=a.delta?.thinking&&""!==a.delta.thinking,e=a.delta?.partial_json&&""!==a.delta.partial_json;if(b&&!c&&!d&&!e)return!1}return!0}function j(a,b){if(null==a)return"data: null\n\n";if(a&&a.done)return"data: [DONE]\n\n";if(a&&a.event&&a.data)return`event: ${a.event}
2
2
  data: ${JSON.stringify(a.data)}
3
3
 
4
4
  `;if(b===e.h.CLAUDE&&a&&a.type){if(a.usage&&"object"==typeof a.usage&&null===a.usage.perf_metrics){let{perf_metrics:b,...c}=a.usage;a={...a,usage:c}}return`event: ${a.type}
@@ -6,7 +6,7 @@ data: ${JSON.stringify(a)}
6
6
 
7
7
  `}if(a?.usage&&"object"==typeof a.usage&&null===a.usage.perf_metrics){let{perf_metrics:b,...c}=a.usage;a={...a,usage:c}}return`data: ${JSON.stringify(a)}
8
8
 
9
- `}let k=new TextDecoder,l=new TextEncoder,m="translate",n="passthrough";function o(a={}){let{mode:b=m,targetFormat:c,sourceFormat:p,provider:q=null,reqLogger:r=null,toolNameMap:s=null,model:t=null,connectionId:u=null,body:v=null,onStreamComplete:w=null}=a,x="",y=null,z=b===m?{...(0,d.Ws)(p),provider:q,toolNameMap:s}:null,A=0,B="",C="",D=null;return new TransformStream({transform(a,f){D||(D=Date.now());let m=k.decode(a,{stream:!0});x+=m,r?.appendProviderChunk?.(m);let o=x.split("\n");for(let a of(x=o.pop()||"",o)){let k=a.trim();if(b===n){let b,c=!1;if(k.startsWith("data:")&&"[DONE]"!==k.slice(5).trim())try{let a=JSON.parse(k.slice(5).trim()),d=function(a){if(a.id&&("chat"===a.id||"completion"===a.id||a.id.length<8)){let b=a.extend_fields?.requestId||a.extend_fields?.traceId||Date.now().toString(36);return a.id=`chatcmpl-${b}`,!0}return!1}(a);if(!i(a,e.h.OPENAI))continue;let f=a.choices?.[0]?.delta,h=f?.content,j=f?.reasoning_content;h&&"string"==typeof h&&(A+=h.length,B+=h),j&&"string"==typeof j&&(A+=j.length,C+=j);let l=(0,g.f5)(a);l&&(y=l);let m=a.choices?.[0]?.finish_reason;if(m&&!(0,g.Gh)(a.usage)){let d=(0,g.OF)(v,A,e.h.OPENAI);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
10
- `,y=d,c=!0}else if(m&&y){let d=(0,g.O9)(y);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
9
+ `}let k=new TextDecoder,l=new TextEncoder,m="translate",n="passthrough";function o(a={}){let{mode:b=m,targetFormat:c,sourceFormat:p,provider:q=null,reqLogger:r=null,toolNameMap:s=null,model:t=null,connectionId:u=null,body:v=null,onStreamComplete:w=null,apiKey:x=null}=a,y="",z=null,A=b===m?{...(0,d.Ws)(p),provider:q,toolNameMap:s}:null,B=0,C="",D="",E=null;return new TransformStream({transform(a,f){E||(E=Date.now());let m=k.decode(a,{stream:!0});y+=m,r?.appendProviderChunk?.(m);let o=y.split("\n");for(let a of(y=o.pop()||"",o)){let k=a.trim();if(b===n){let b,c=!1;if(k.startsWith("data:")&&"[DONE]"!==k.slice(5).trim())try{let a=JSON.parse(k.slice(5).trim()),d=function(a){if(a.id&&("chat"===a.id||"completion"===a.id||a.id.length<8)){let b=a.extend_fields?.requestId||a.extend_fields?.traceId||Date.now().toString(36);return a.id=`chatcmpl-${b}`,!0}return!1}(a);if(!i(a,e.h.OPENAI))continue;let f=a.choices?.[0]?.delta,h=f?.content,j=f?.reasoning_content;h&&"string"==typeof h&&(B+=h.length,C+=h),j&&"string"==typeof j&&(B+=j.length,D+=j);let l=(0,g.f5)(a);l&&(z=l);let m=a.choices?.[0]?.finish_reason;if(m&&!(0,g.Gh)(a.usage)){let d=(0,g.OF)(v,B,e.h.OPENAI);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
10
+ `,z=d,c=!0}else if(m&&z){let d=(0,g.O9)(z);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
11
11
  `,c=!0}else d&&(b=`data: ${JSON.stringify(a)}
12
- `,c=!0)}catch{}c||(b=a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5)+"\n":a+"\n"),r?.appendConvertedChunk?.(b),f.enqueue(l.encode(b));continue}if(!k)continue;let m=h(k);if(!m)continue;if(m&&m.done){let a="data: [DONE]\n\n";r?.appendConvertedChunk?.(a),f.enqueue(l.encode(a));continue}if(m.delta?.text&&(A+=m.delta.text.length,B+=m.delta.text),m.delta?.thinking&&(A+=m.delta.thinking.length,C+=m.delta.thinking),m.choices?.[0]?.delta?.content&&(A+=m.choices[0].delta.content.length,B+=m.choices[0].delta.content),m.choices?.[0]?.delta?.reasoning_content&&(A+=m.choices[0].delta.reasoning_content.length,C+=m.choices[0].delta.reasoning_content),m.candidates?.[0]?.content?.parts)for(let a of m.candidates[0].content.parts)a.text&&"string"==typeof a.text&&(A+=a.text.length,!0===a.thought?C+=a.text:B+=a.text);let o=(0,g.f5)(m);o&&(z.usage=o);let q=(0,d.Y8)(c,p,m,z);if(q?._openaiIntermediate)for(let a of q._openaiIntermediate){let b=j(a,e.h.OPENAI);r?.appendOpenAIChunk?.(b)}if(q?.length>0)for(let a of q){if(!i(a,p))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(z.finishReason&&b&&!(0,g.Gh)(a.usage)&&A>0){let b=(0,g.OF)(v,A,p);a.usage=(0,g.WL)(b,p),z.usage=b}else if(z.finishReason&&b&&z.usage){let b=(0,g.O9)(z.usage);a.usage=(0,g.WL)(b,p)}let c=j(a,p);r?.appendConvertedChunk?.(c),f.enqueue(l.encode(c))}}},flush(a){(0,f.uw)(t,q,u,!1);try{let i=k.decode();if(i&&(x+=i),b===n){if(x){let b=x;x.startsWith("data:")&&!x.startsWith("data: ")&&(b="data: "+x.slice(5)),r?.appendConvertedChunk?.(b),a.enqueue(l.encode(b))}!(0,g.Gh)(y)&&A>0&&(y=(0,g.OF)(v,A,e.h.OPENAI)),(0,g.Gh)(y)?(0,g.IF)(q,y,t,u):(0,f.E5)({model:t,provider:q,connectionId:u,tokens:null,status:"200 OK"}).catch(()=>{}),w&&w({content:B,thinking:C},y,D);return}if(x.trim()){let b=h(x.trim());if(b&&!b.done){let f=(0,d.Y8)(c,p,b,z);if(f?._openaiIntermediate)for(let a of f._openaiIntermediate){let b=j(a,e.h.OPENAI);r?.appendOpenAIChunk?.(b)}if(f?.length>0)for(let b of f){let c=j(b,p);r?.appendConvertedChunk?.(c),a.enqueue(l.encode(c))}}}let m=(0,d.Y8)(c,p,null,z);if(m?._openaiIntermediate)for(let a of m._openaiIntermediate){let b=j(a,e.h.OPENAI);r?.appendOpenAIChunk?.(b)}if(m?.length>0)for(let b of m){let c=j(b,p);r?.appendConvertedChunk?.(c),a.enqueue(l.encode(c))}let o="data: [DONE]\n\n";r?.appendConvertedChunk?.(o),a.enqueue(l.encode(o)),!(0,g.Gh)(z?.usage)&&A>0&&(z.usage=(0,g.OF)(v,A,p)),(0,g.Gh)(z?.usage)?(0,g.IF)(z.provider||c,z.usage,t,u):(0,f.E5)({model:t,provider:q,connectionId:u,tokens:null,status:"200 OK"}).catch(()=>{}),w&&w({content:B,thinking:C},z?.usage,D)}catch(a){console.log("Error in flush:",a)}}})}function p(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null){return o({mode:m,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i})}function q(a=null,b=null,c=null,d=null,e=null,f=null){return o({mode:n,provider:a,reqLogger:b,model:c,connectionId:d,body:e,onStreamComplete:f})}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>n});var e=c(80238),f=c(2525),g=c(92500),h=c(43659),i=c(18910),j=c(2255),k=c(7803),l=c(67828),m=a([g]);async function n(a,b=null){let c;try{c=await a.json()}catch{return k.warn("CHAT","Invalid JSON body"),(0,h.yj)(j.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())});let d=new URL(a.url),g=c.model,l=c.messages?.length||c.input?.length||0,m=c.tools?.length||0,p=c.reasoning_effort||c.reasoning?.effort||null;k.request("POST",`${d.pathname} | ${g} | ${l} msgs${m?` | ${m} tools`:""}${p?` | effort=${p}`:""}`);let q=a.headers.get("Authorization"),r=(0,e.Tr)(a);if(q&&r){let a=k.maskKey(r);k.debug("AUTH",`API Key: ${a}`)}else k.debug("AUTH","No API key provided (local mode)");if("true"===process.env.REQUIRE_API_KEY){if(!r)return k.warn("AUTH","Missing API key while REQUIRE_API_KEY=true"),(0,h.yj)(j.gx.UNAUTHORIZED,"Missing API key");if(!await (0,e.kI)(r))return k.warn("AUTH","Invalid API key while REQUIRE_API_KEY=true"),(0,h.yj)(j.gx.UNAUTHORIZED,"Invalid API key")}if(!g)return k.warn("CHAT","Missing model"),(0,h.yj)(j.gx.BAD_REQUEST,"Missing model");let s=await (0,f.d_)(g);return s?(k.info("CHAT",`Combo "${g}" with ${s.length} models`),(0,i.P)({body:c,models:s,handleSingleModel:(c,d)=>o(c,d,b,a),log:k})):o(c,g,b,a)}async function o(a,b,c=null,d=null){let i=await (0,f.mA)(b);if(!i.provider)return k.warn("CHAT","Invalid model format",{model:b}),(0,h.yj)(j.gx.BAD_REQUEST,"Invalid model format");let{provider:m,model:n}=i;b!==`${m}/${n}`?k.info("ROUTING",`${b} → ${m}/${n}`):k.info("ROUTING",`Provider: ${m}, Model: ${n}`);let p=d?.headers?.get("user-agent")||"",q=null,r=null,s=null;for(;;){let b=await (0,e.c1)(m,q);if(!b||b.allRateLimited){if(b?.allRateLimited){let a=r||b.lastError||"Unavailable",c=s||Number(b.lastErrorCode)||j.gx.SERVICE_UNAVAILABLE;return k.warn("CHAT",`[${m}/${n}] ${a} (${b.retryAfterHuman})`),(0,h.wO)(c,`[${m}/${n}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(!q)return k.error("AUTH",`No credentials for provider: ${m}`),(0,h.yj)(j.gx.BAD_REQUEST,`No credentials for provider: ${m}`);return k.warn("CHAT","No more accounts available",{provider:m}),(0,h.yj)(s||j.gx.SERVICE_UNAVAILABLE,r||"All accounts unavailable")}let d=b.connectionId.slice(0,8);k.info("AUTH",`Using ${m} account: ${d}...`);let f=await (0,l.eU)(m,b),i=await (0,g.w)({body:{...a,model:`${m}/${n}`},modelInfo:{provider:m,model:n},credentials:f,log:k,clientRawRequest:c,connectionId:b.connectionId,userAgent:p,onCredentialsRefreshed:async a=>{await (0,l.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,e.Pt)(b.connectionId,b)}});if(i.success)return i.response;let{shouldFallback:o}=await (0,e.vk)(b.connectionId,i.status,i.error,m);if(o){k.warn("AUTH",`Account ${d}... unavailable (${i.status}), trying fallback`),q=b.connectionId,r=i.error,s=i.status;continue}return i.response}}g=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},80238:(a,b,c)=>{c.d(b,{Pt:()=>j,Tr:()=>k,c1:()=>h,kI:()=>l,vk:()=>i});var d=c(89718),e=c(12557),f=c(7803);let g=Promise.resolve();async function h(a,b=null){let c,i=g;g=new Promise(a=>{c=a});try{let c;await i;let g=await (0,d.getProviderConnections)({provider:a,isActive:!0});if(f.debug("AUTH",`${a} | total connections: ${g.length}, excludeId: ${b||"none"}`),0===g.length){let b=await (0,d.getProviderConnections)({provider:a});if(f.debug("AUTH",`${a} | all connections (incl inactive): ${b.length}`),b.length>0){let c=(0,e.UY)(b);if(c)return f.warn("AUTH",`${a} | all ${b.length} accounts rate limited (${(0,e.Qo)(c)})`),{allRateLimited:!0,retryAfter:c,retryAfterHuman:(0,e.Qo)(c)};f.warn("AUTH",`${a} | ${b.length} accounts found but none active`),b.forEach(a=>{f.debug("AUTH",` → ${a.id?.slice(0,8)} | isActive=${a.isActive} | rateLimitedUntil=${a.rateLimitedUntil||"none"} | testStatus=${a.testStatus}`)})}return f.warn("AUTH",`No credentials for ${a}`),null}let h=g.filter(a=>!(b&&a.id===b||(0,e.AO)(a.rateLimitedUntil)));if(f.debug("AUTH",`${a} | available: ${h.length}/${g.length}`),g.forEach(a=>{let c=b&&a.id===b,d=(0,e.AO)(a.rateLimitedUntil);(c||d)&&f.debug("AUTH",` → ${a.id?.slice(0,8)} | ${c?"excluded":""} ${d?`rateLimited until ${a.rateLimitedUntil}`:""}`)}),0===h.length){let b=(0,e.UY)(g);if(b){let c=g.filter(a=>a.rateLimitedUntil&&new Date(a.rateLimitedUntil).getTime()>Date.now()).sort((a,b)=>new Date(a.rateLimitedUntil)-new Date(b.rateLimitedUntil))[0];return f.warn("AUTH",`${a} | all ${g.length} active accounts rate limited (${(0,e.Qo)(b)}) | lastErrorCode=${c?.errorCode}, lastError=${c?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:b,retryAfterHuman:(0,e.Qo)(b),lastError:c?.lastError||null,lastErrorCode:c?.errorCode||null}}return f.warn("AUTH",`${a} | all ${g.length} accounts unavailable`),null}let j=await (0,d.getSettings)(),k=j.fallbackStrategy||"fill-first";if("round-robin"===k){let a=j.stickyRoundRobinLimit||3,b=[...h].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=b?.consecutiveUseCount||0;b&&b.lastUsedAt&&e<a?(c=b,await (0,d.rj)(c.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(c.consecutiveUseCount||0)+1})):(c=[...h].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.rj)(c.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else c=h[0];return{apiKey:c.apiKey,accessToken:c.accessToken,refreshToken:c.refreshToken,projectId:c.projectId,copilotToken:c.providerSpecificData?.copilotToken,providerSpecificData:c.providerSpecificData,connectionId:c.id,testStatus:c.testStatus,lastError:c.lastError,rateLimitedUntil:c.rateLimitedUntil}}finally{c&&c()}}async function i(a,b,c,f=null){let g=(await (0,d.getProviderConnections)({provider:f})).find(b=>b.id===a),h=g?.backoffLevel||0,{shouldFallback:j,cooldownMs:k,newBackoffLevel:l}=(0,e.hk)(b,c,h);if(!j)return{shouldFallback:!1,cooldownMs:0};let m=(0,e.vp)(k),n="string"==typeof c?c.slice(0,100):"Provider error";return await (0,d.rj)(a,{rateLimitedUntil:m,testStatus:"unavailable",lastError:n,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:l??h}),f&&b&&n&&console.error(`❌ ${f} [${b}]: ${n}`),{shouldFallback:!0,cooldownMs:k}}async function j(a,b){("unavailable"===b.testStatus||b.lastError||b.rateLimitedUntil)&&(await (0,d.rj)(a,{testStatus:"active",lastError:null,lastErrorAt:null,rateLimitedUntil:null,backoffLevel:0}),f.info("AUTH",`Account ${a.slice(0,8)} error cleared`))}function k(a){let b=a.headers.get("Authorization");return b?.startsWith("Bearer ")?b.slice(7):null}async function l(a){return!!a&&await (0,d.ek)(a)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>u});var e=c(57647),f=c(33110),g=c(14170),h=c(74590),i=c(59657),j=c(73483),k=c(8590),l=c(71336),m=c(57247),n=c(43659),o=c(2255),p=c(27349),q=c(47370),r=c(55330),s=a([r]);function t(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of["temperature","top_p","top_k","max_tokens","max_completion_tokens","thinking","reasoning","enable_thinking","presence_penalty","frequency_penalty","seed","stop","tools","tool_choice","response_format","prediction","store","metadata","n","logprobs","top_logprobs","logit_bias","user","parallel_tool_calls"])void 0!==a[b]&&(c[b]=a[b]);return c}async function u({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:s,onRequestSuccess:u,onDisconnect:v,clientRawRequest:w,connectionId:x,userAgent:y}){let z,A,B,C,D,{provider:E,model:F}=b,G=Date.now(),H=(0,e.Tz)(a),I=(0,p.c)(a,F,y);if(I)return I;let J=m.Xg[E]||E,K=(0,m.ux)(J,F)||(0,e.jJ)(E),L="openai"===E||"codex"===E||!1!==a.stream,M=await (0,l.q7)(H,K,F);w&&M.logClientRawRequest(w.endpoint,w.body,w.headers),M.logRawRequest(a),d?.debug?.("FORMAT",`${H} → ${K} | stream=${L}`);let N=a,O=(N=(0,f.GH)(H,K,F,a,L,c,E,M))._toolNameMap;delete N._toolNameMap,N.model=F;let P=(0,r.SB)(E);(0,q.uw)(F,E,x,!0),(0,q.E5)({model:F,provider:E,connectionId:x,status:"PENDING"}).catch(()=>{});let Q=N.messages?.length||N.contents?.length||N.request?.contents?.length||0;d?.debug?.("REQUEST",`${E.toUpperCase()} | ${F} | ${Q} msgs`);let R=(0,i.jd)({onDisconnect:v,log:d,provider:E,model:F});try{let a=await P.execute({model:F,body:N,stream:L,credentials:c,signal:R.signal,log:d});z=a.response,A=a.url,B=a.headers,C=a.transformedBody,M.logTargetRequest(A,B,C)}catch(d){(0,q.uw)(F,E,x,!1),(0,q.E5)({model:F,provider:E,connectionId:x,status:`FAILED ${"AbortError"===d.name?499:o.gx.BAD_GATEWAY}`}).catch(()=>{});let b={provider:E||"unknown",model:F||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:0,total:Date.now()-G},tokens:{prompt_tokens:0,completion_tokens:0},request:t(a,L),providerRequest:N||null,providerResponse:null,response:{error:d.message||String(d),status:"AbortError"===d.name?499:502,thinking:null},status:"error"};if((0,q.ox)(b).catch(()=>{}),"AbortError"===d.name)return R.handleError(d),(0,n.A1)(499,"Request aborted");let c=(0,n.lR)(d,E,F,o.gx.BAD_GATEWAY);return console.log(`${h.lm.red}[ERROR] ${c}${h.lm.reset}`),(0,n.A1)(o.gx.BAD_GATEWAY,c)}if(z.status===o.gx.UNAUTHORIZED||z.status===o.gx.FORBIDDEN){let a=await (0,k.qZ)(()=>P.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){d?.info?.("TOKEN",`${E.toUpperCase()} | refreshed`),Object.assign(c,a),s&&a&&await s(a);try{let a=await P.execute({model:F,body:N,stream:L,credentials:c,signal:R.signal,log:d});a.response.ok&&(z=a.response,A=a.url)}catch(a){d?.warn?.("TOKEN",`${E.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${E.toUpperCase()} | refresh failed`)}if(!z.ok){(0,q.uw)(F,E,x,!1);let{statusCode:b,message:c,retryAfterMs:e}=await (0,n.zL)(z,E);(0,q.E5)({model:F,provider:E,connectionId:x,status:`FAILED ${b}`}).catch(()=>{});let f={provider:E||"unknown",model:F||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:0,total:Date.now()-G},tokens:{prompt_tokens:0,completion_tokens:0},request:t(a,L),providerRequest:C||N||null,providerResponse:null,response:{error:c,status:b,thinking:null},status:"error"};(0,q.ox)(f).catch(()=>{});let g=(0,n.lR)(Error(c),E,F,b);if(console.log(`${h.lm.red}[ERROR] ${g}${h.lm.reset}`),e&&"antigravity"===E){let a=Math.ceil(e/1e3);d?.debug?.("RETRY",`Antigravity quota reset in ${a}s (${e}ms)`)}return M.logError(Error(c),C||N),(0,n.A1)(b,g,e)}if(!L){var S;let b;if((0,q.uw)(F,E,x,!1),(z.headers.get("content-type")||"").includes("text/event-stream")){let a=await z.text(),c=function(a,b){let c=String(a||"").split("\n"),d=[];for(let a of c){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if(c&&"[DONE]"!==c)try{d.push(JSON.parse(c))}catch{}}if(0===d.length)return null;let e=d[0],f=[],g=[],h="stop",i=null;for(let a of d){let b=a?.choices?.[0],c=b?.delta||{};"string"==typeof c.content&&c.content.length>0&&f.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&g.push(c.reasoning_content),b?.finish_reason&&(h=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(i=a.usage)}let j={role:"assistant",content:f.join("")};g.length>0&&(j.reasoning_content=g.join(""));let k={id:e.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:e.created||Math.floor(Date.now()/1e3),model:e.model||b||"unknown",choices:[{index:0,message:j,finish_reason:h}]};return i&&(k.usage=i),k}(a,F);if(!c)return(0,q.E5)({model:F,provider:E,connectionId:x,status:`FAILED ${o.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,n.A1)(o.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");b=c}else b=await z.json();u&&await u();let c=(S=b,S&&"object"==typeof S?S.usage&&"object"==typeof S.usage?{prompt_tokens:S.usage.prompt_tokens||0,completion_tokens:S.usage.completion_tokens||0,cached_tokens:S.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:S.usage.completion_tokens_details?.reasoning_tokens}:S.usage&&"object"==typeof S.usage&&(void 0!==S.usage.input_tokens||void 0!==S.usage.output_tokens)?{prompt_tokens:S.usage.input_tokens||0,completion_tokens:S.usage.output_tokens||0,cache_read_input_tokens:S.usage.cache_read_input_tokens,cache_creation_input_tokens:S.usage.cache_creation_input_tokens}:S.usageMetadata&&"object"==typeof S.usageMetadata?{prompt_tokens:S.usageMetadata.promptTokenCount||0,completion_tokens:S.usageMetadata.candidatesTokenCount||0,reasoning_tokens:S.usageMetadata.thoughtsTokenCount}:null:null);if((0,q.E5)({model:F,provider:E,connectionId:x,tokens:c,status:"200 OK"}).catch(()=>{}),c&&"object"==typeof c){let a=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}] 📊 [USAGE] ${E.toUpperCase()} | in=${c?.prompt_tokens||0} | out=${c?.completion_tokens||0}${x?` | account=${x.slice(0,8)}...`:""}`;console.log(`${h.lm.green}${a}${h.lm.reset}`),(0,q.sZ)({provider:E||"unknown",model:F||"unknown",tokens:c,timestamp:new Date().toISOString(),connectionId:x||void 0}).catch(a=>{console.error("Failed to save usage stats:",a.message)})}let d=(0,f.nZ)(K,H)?function(a,b,c){if(b===c||b===g.h.OPENAI)return a;if(b===g.h.GEMINI||b===g.h.ANTIGRAVITY||b===g.h.GEMINI_CLI){let b=a.response||a;if(!b?.candidates?.[0])return a;let c=b.candidates[0],d=c.content,e=b.usageMetadata||a.usageMetadata,f="",g=[],h="";if(d?.parts)for(let a of d.parts)!0===a.thought&&a.text?h+=a.text:void 0!==a.text&&(f+=a.text),a.functionCall&&g.push({id:`call_${a.functionCall.name}_${Date.now()}_${g.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let i={role:"assistant"};f&&(i.content=f),h&&(i.reasoning_content=h),g.length>0&&(i.tool_calls=g),i.content||i.tool_calls||(i.content="");let j=(c.finishReason||"stop").toLowerCase();"stop"===j&&g.length>0&&(j="tool_calls");let k={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:Math.floor(new Date(b.createTime||Date.now()).getTime()/1e3),model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(k.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(k.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),k}if(b===g.h.CLAUDE){if(!a.content)return a;let b="",c="",d=[];for(let e of a.content)"text"===e.type?b+=e.text:"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e={role:"assistant"};b&&(e.content=b),c&&(e.reasoning_content=c),d.length>0&&(e.tool_calls=d),e.content||e.tool_calls||(e.content="");let f=a.stop_reason||"stop";"end_turn"===f&&(f="stop"),"tool_use"===f&&(f="tool_calls");let g={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:e,finish_reason:f}]};return a.usage&&(g.usage={prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,total_tokens:(a.usage.input_tokens||0)+(a.usage.output_tokens||0)}),g}return a}(b,K,H):b;if(d?.usage){let a=(0,j.O9)(d.usage);d.usage=(0,j.WL)(a,H)}let e=Date.now()-G,i={provider:E||"unknown",model:F||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:e,total:e},tokens:c||{prompt_tokens:0,completion_tokens:0},request:t(a,L),providerRequest:C||N||null,providerResponse:b||null,response:{content:d?.choices?.[0]?.message?.content||d?.content||null,thinking:d?.choices?.[0]?.message?.reasoning_content||d?.reasoning_content||null,finish_reason:d?.choices?.[0]?.finish_reason||"unknown"},status:"success"};return(0,q.ox)(i).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(d),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}u&&await u();let T=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,U=(b,c,d)=>{let e={provider:E||"unknown",model:F||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:d?d-G:Date.now()-G,total:Date.now()-G},tokens:c||{prompt_tokens:0,completion_tokens:0},request:t(a,L),providerRequest:C||N||null,providerResponse:b.content||"[Empty streaming response]",response:{content:b.content||"[Empty streaming response]",thinking:b.thinking||null,type:"streaming"},status:"success",id:T};if((0,q.ox)(e).catch(a=>{console.error("[RequestDetail] Failed to update streaming content:",a.message)}),c&&"object"==typeof c){let a=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}] 📊 [STREAM USAGE] ${E.toUpperCase()} | in=${c?.prompt_tokens||0} | out=${c?.completion_tokens||0}${x?` | account=${x.slice(0,8)}...`:""}`;console.log(`${h.lm.green}${a}${h.lm.reset}`),(0,q.sZ)({provider:E||"unknown",model:F||"unknown",tokens:c,timestamp:new Date().toISOString(),connectionId:x||void 0}).catch(a=>{console.error("Failed to save streaming usage stats:",a.message)})}},V=y?.toLowerCase().includes("droid")||y?.toLowerCase().includes("codex-cli");"codex"!==E||"openai-responses"!==K||V?(0,f.nZ)(K,H)?(d?.debug?.("STREAM",`Translation mode: ${K} → ${H}`),D=(0,h.i5)(K,H,E,M,O,F,x,a,U)):(d?.debug?.("STREAM","Standard passthrough mode"),D=(0,h.l2)(E,M,F,x,a,U)):(d?.debug?.("STREAM",`Codex translation mode: openai-responses → openai`),D=(0,h.i5)("openai-responses","openai",E,M,O,F,x,a,U));let W=(0,i.Jb)(z,D,R);Date.now();let X={provider:E||"unknown",model:F||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:0,total:Date.now()-G},tokens:{prompt_tokens:0,completion_tokens:0},request:t(a,L),providerRequest:C||N||null,providerResponse:"[Streaming - raw response not captured]",response:{content:"[Streaming in progress...]",thinking:null,type:"streaming"},status:"success",id:T};return(0,q.ox)(X).catch(a=>{console.error("[RequestDetail] Failed to save streaming request:",a.message)}),{success:!0,response:new Response(W,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}}r=(s.then?(await s)():s)[0],d()}catch(a){d(a)}})}};
12
+ `,c=!0)}catch{}c||(b=a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5)+"\n":a+"\n"),r?.appendConvertedChunk?.(b),f.enqueue(l.encode(b));continue}if(!k)continue;let m=h(k);if(!m)continue;if(m&&m.done){let a="data: [DONE]\n\n";r?.appendConvertedChunk?.(a),f.enqueue(l.encode(a));continue}if(m.delta?.text&&(B+=m.delta.text.length,C+=m.delta.text),m.delta?.thinking&&(B+=m.delta.thinking.length,D+=m.delta.thinking),m.choices?.[0]?.delta?.content&&(B+=m.choices[0].delta.content.length,C+=m.choices[0].delta.content),m.choices?.[0]?.delta?.reasoning_content&&(B+=m.choices[0].delta.reasoning_content.length,D+=m.choices[0].delta.reasoning_content),m.candidates?.[0]?.content?.parts)for(let a of m.candidates[0].content.parts)a.text&&"string"==typeof a.text&&(B+=a.text.length,!0===a.thought?D+=a.text:C+=a.text);let o=(0,g.f5)(m);o&&(A.usage=o);let q=(0,d.Y8)(c,p,m,A);if(q?._openaiIntermediate)for(let a of q._openaiIntermediate){let b=j(a,e.h.OPENAI);r?.appendOpenAIChunk?.(b)}if(q?.length>0)for(let a of q){if(!i(a,p))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(A.finishReason&&b&&!(0,g.Gh)(a.usage)&&B>0){let b=(0,g.OF)(v,B,p);a.usage=(0,g.WL)(b,p),A.usage=b}else if(A.finishReason&&b&&A.usage){let b=(0,g.O9)(A.usage);a.usage=(0,g.WL)(b,p)}let c=j(a,p);r?.appendConvertedChunk?.(c),f.enqueue(l.encode(c))}}},flush(a){(0,f.uw)(t,q,u,!1);try{let i=k.decode();if(i&&(y+=i),b===n){if(y){let b=y;y.startsWith("data:")&&!y.startsWith("data: ")&&(b="data: "+y.slice(5)),r?.appendConvertedChunk?.(b),a.enqueue(l.encode(b))}!(0,g.Gh)(z)&&B>0&&(z=(0,g.OF)(v,B,e.h.OPENAI)),(0,g.Gh)(z)?(0,g.IF)(q,z,t,u,x):(0,f.E5)({model:t,provider:q,connectionId:u,tokens:null,status:"200 OK"}).catch(()=>{}),w&&w({content:C,thinking:D},z,E);return}if(y.trim()){let b=h(y.trim());if(b&&!b.done){let f=(0,d.Y8)(c,p,b,A);if(f?._openaiIntermediate)for(let a of f._openaiIntermediate){let b=j(a,e.h.OPENAI);r?.appendOpenAIChunk?.(b)}if(f?.length>0)for(let b of f){let c=j(b,p);r?.appendConvertedChunk?.(c),a.enqueue(l.encode(c))}}}let m=(0,d.Y8)(c,p,null,A);if(m?._openaiIntermediate)for(let a of m._openaiIntermediate){let b=j(a,e.h.OPENAI);r?.appendOpenAIChunk?.(b)}if(m?.length>0)for(let b of m){let c=j(b,p);r?.appendConvertedChunk?.(c),a.enqueue(l.encode(c))}let o="data: [DONE]\n\n";r?.appendConvertedChunk?.(o),a.enqueue(l.encode(o)),!(0,g.Gh)(A?.usage)&&B>0&&(A.usage=(0,g.OF)(v,B,p)),(0,g.Gh)(A?.usage)?(0,g.IF)(A.provider||c,A.usage,t,u,x):(0,f.E5)({model:t,provider:q,connectionId:u,tokens:null,status:"200 OK"}).catch(()=>{}),w&&w({content:C,thinking:D},A?.usage,E)}catch(a){console.log("Error in flush:",a)}}})}function p(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null,j=null){return o({mode:m,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i,apiKey:j})}function q(a=null,b=null,c=null,d=null,e=null,f=null,g=null){return o({mode:n,provider:a,reqLogger:b,model:c,connectionId:d,body:e,onStreamComplete:f,apiKey:g})}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>n});var e=c(80238),f=c(2525),g=c(92500),h=c(43659),i=c(18910),j=c(2255),k=c(7803),l=c(67828),m=a([g]);async function n(a,b=null){let c;try{c=await a.json()}catch{return k.warn("CHAT","Invalid JSON body"),(0,h.yj)(j.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())});let d=new URL(a.url),g=c.model,l=c.messages?.length||c.input?.length||0,m=c.tools?.length||0,p=c.reasoning_effort||c.reasoning?.effort||null;k.request("POST",`${d.pathname} | ${g} | ${l} msgs${m?` | ${m} tools`:""}${p?` | effort=${p}`:""}`);let q=a.headers.get("Authorization"),r=(0,e.Tr)(a);if(q&&r){let a=k.maskKey(r);k.debug("AUTH",`API Key: ${a}`)}else k.debug("AUTH","No API key provided (local mode)");if("true"===process.env.REQUIRE_API_KEY){if(!r)return k.warn("AUTH","Missing API key while REQUIRE_API_KEY=true"),(0,h.yj)(j.gx.UNAUTHORIZED,"Missing API key");if(!await (0,e.kI)(r))return k.warn("AUTH","Invalid API key while REQUIRE_API_KEY=true"),(0,h.yj)(j.gx.UNAUTHORIZED,"Invalid API key")}if(!g)return k.warn("CHAT","Missing model"),(0,h.yj)(j.gx.BAD_REQUEST,"Missing model");let s=await (0,f.d_)(g);return s?(k.info("CHAT",`Combo "${g}" with ${s.length} models`),(0,i.P)({body:c,models:s,handleSingleModel:(c,d)=>o(c,d,b,a,r),log:k})):o(c,g,b,a,r)}async function o(a,b,c=null,d=null,i=null){let m=await (0,f.mA)(b);if(!m.provider)return k.warn("CHAT","Invalid model format",{model:b}),(0,h.yj)(j.gx.BAD_REQUEST,"Invalid model format");let{provider:n,model:p}=m;b!==`${n}/${p}`?k.info("ROUTING",`${b} → ${n}/${p}`):k.info("ROUTING",`Provider: ${n}, Model: ${p}`);let q=d?.headers?.get("user-agent")||"",r=null,s=null,t=null;for(;;){let b=await (0,e.c1)(n,r);if(!b||b.allRateLimited){if(b?.allRateLimited){let a=s||b.lastError||"Unavailable",c=t||Number(b.lastErrorCode)||j.gx.SERVICE_UNAVAILABLE;return k.warn("CHAT",`[${n}/${p}] ${a} (${b.retryAfterHuman})`),(0,h.wO)(c,`[${n}/${p}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(!r)return k.error("AUTH",`No credentials for provider: ${n}`),(0,h.yj)(j.gx.BAD_REQUEST,`No credentials for provider: ${n}`);return k.warn("CHAT","No more accounts available",{provider:n}),(0,h.yj)(t||j.gx.SERVICE_UNAVAILABLE,s||"All accounts unavailable")}let d=b.connectionId.slice(0,8);k.info("AUTH",`Using ${n} account: ${d}...`);let f=await (0,l.eU)(n,b),m=await (0,g.w)({body:{...a,model:`${n}/${p}`},modelInfo:{provider:n,model:p},credentials:f,log:k,clientRawRequest:c,connectionId:b.connectionId,userAgent:q,apiKey:i,onCredentialsRefreshed:async a=>{await (0,l.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,e.Pt)(b.connectionId,b)}});if(m.success)return m.response;let{shouldFallback:o}=await (0,e.vk)(b.connectionId,m.status,m.error,n);if(o){k.warn("AUTH",`Account ${d}... unavailable (${m.status}), trying fallback`),r=b.connectionId,s=m.error,t=m.status;continue}return m.response}}g=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},80238:(a,b,c)=>{c.d(b,{Pt:()=>j,Tr:()=>k,c1:()=>h,kI:()=>l,vk:()=>i});var d=c(89718),e=c(12557),f=c(7803);let g=Promise.resolve();async function h(a,b=null){let c,i=g;g=new Promise(a=>{c=a});try{let c;await i;let g=await (0,d.getProviderConnections)({provider:a,isActive:!0});if(f.debug("AUTH",`${a} | total connections: ${g.length}, excludeId: ${b||"none"}`),0===g.length){let b=await (0,d.getProviderConnections)({provider:a});if(f.debug("AUTH",`${a} | all connections (incl inactive): ${b.length}`),b.length>0){let c=(0,e.UY)(b);if(c)return f.warn("AUTH",`${a} | all ${b.length} accounts rate limited (${(0,e.Qo)(c)})`),{allRateLimited:!0,retryAfter:c,retryAfterHuman:(0,e.Qo)(c)};f.warn("AUTH",`${a} | ${b.length} accounts found but none active`),b.forEach(a=>{f.debug("AUTH",` → ${a.id?.slice(0,8)} | isActive=${a.isActive} | rateLimitedUntil=${a.rateLimitedUntil||"none"} | testStatus=${a.testStatus}`)})}return f.warn("AUTH",`No credentials for ${a}`),null}let h=g.filter(a=>!(b&&a.id===b||(0,e.AO)(a.rateLimitedUntil)));if(f.debug("AUTH",`${a} | available: ${h.length}/${g.length}`),g.forEach(a=>{let c=b&&a.id===b,d=(0,e.AO)(a.rateLimitedUntil);(c||d)&&f.debug("AUTH",` → ${a.id?.slice(0,8)} | ${c?"excluded":""} ${d?`rateLimited until ${a.rateLimitedUntil}`:""}`)}),0===h.length){let b=(0,e.UY)(g);if(b){let c=g.filter(a=>a.rateLimitedUntil&&new Date(a.rateLimitedUntil).getTime()>Date.now()).sort((a,b)=>new Date(a.rateLimitedUntil)-new Date(b.rateLimitedUntil))[0];return f.warn("AUTH",`${a} | all ${g.length} active accounts rate limited (${(0,e.Qo)(b)}) | lastErrorCode=${c?.errorCode}, lastError=${c?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:b,retryAfterHuman:(0,e.Qo)(b),lastError:c?.lastError||null,lastErrorCode:c?.errorCode||null}}return f.warn("AUTH",`${a} | all ${g.length} accounts unavailable`),null}let j=await (0,d.getSettings)(),k=j.fallbackStrategy||"fill-first";if("round-robin"===k){let a=j.stickyRoundRobinLimit||3,b=[...h].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],e=b?.consecutiveUseCount||0;b&&b.lastUsedAt&&e<a?(c=b,await (0,d.rj)(c.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:(c.consecutiveUseCount||0)+1})):(c=[...h].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0],await (0,d.rj)(c.id,{lastUsedAt:new Date().toISOString(),consecutiveUseCount:1}))}else c=h[0];return{apiKey:c.apiKey,accessToken:c.accessToken,refreshToken:c.refreshToken,projectId:c.projectId,copilotToken:c.providerSpecificData?.copilotToken,providerSpecificData:c.providerSpecificData,connectionId:c.id,testStatus:c.testStatus,lastError:c.lastError,rateLimitedUntil:c.rateLimitedUntil}}finally{c&&c()}}async function i(a,b,c,f=null){let g=(await (0,d.getProviderConnections)({provider:f})).find(b=>b.id===a),h=g?.backoffLevel||0,{shouldFallback:j,cooldownMs:k,newBackoffLevel:l}=(0,e.hk)(b,c,h);if(!j)return{shouldFallback:!1,cooldownMs:0};let m=(0,e.vp)(k),n="string"==typeof c?c.slice(0,100):"Provider error";return await (0,d.rj)(a,{rateLimitedUntil:m,testStatus:"unavailable",lastError:n,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:l??h}),f&&b&&n&&console.error(`❌ ${f} [${b}]: ${n}`),{shouldFallback:!0,cooldownMs:k}}async function j(a,b){("unavailable"===b.testStatus||b.lastError||b.rateLimitedUntil)&&(await (0,d.rj)(a,{testStatus:"active",lastError:null,lastErrorAt:null,rateLimitedUntil:null,backoffLevel:0}),f.info("AUTH",`Account ${a.slice(0,8)} error cleared`))}function k(a){let b=a.headers.get("Authorization");return b?.startsWith("Bearer ")?b.slice(7):null}async function l(a){return!!a&&await (0,d.ek)(a)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>u});var e=c(57647),f=c(33110),g=c(14170),h=c(74590),i=c(59657),j=c(73483),k=c(8590),l=c(71336),m=c(57247),n=c(43659),o=c(2255),p=c(27349),q=c(47370),r=c(55330),s=a([r]);function t(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of["temperature","top_p","top_k","max_tokens","max_completion_tokens","thinking","reasoning","enable_thinking","presence_penalty","frequency_penalty","seed","stop","tools","tool_choice","response_format","prediction","store","metadata","n","logprobs","top_logprobs","logit_bias","user","parallel_tool_calls"])void 0!==a[b]&&(c[b]=a[b]);return c}async function u({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:s,onRequestSuccess:u,onDisconnect:v,clientRawRequest:w,connectionId:x,userAgent:y,apiKey:z}){let A,B,C,D,E,{provider:F,model:G}=b,H=Date.now(),I=(0,e.Tz)(a),J=(0,p.c)(a,G,y);if(J)return J;let K=m.Xg[F]||F,L=(0,m.ux)(K,G)||(0,e.jJ)(F),M="openai"===F||"codex"===F||!1!==a.stream,N=await (0,l.q7)(I,L,G);w&&N.logClientRawRequest(w.endpoint,w.body,w.headers),N.logRawRequest(a),d?.debug?.("FORMAT",`${I} → ${L} | stream=${M}`);let O=a,P=(O=(0,f.GH)(I,L,G,a,M,c,F,N))._toolNameMap;delete O._toolNameMap,O.model=G;let Q=(0,r.SB)(F);(0,q.uw)(G,F,x,!0),(0,q.E5)({model:G,provider:F,connectionId:x,status:"PENDING"}).catch(()=>{});let R=O.messages?.length||O.contents?.length||O.request?.contents?.length||0;d?.debug?.("REQUEST",`${F.toUpperCase()} | ${G} | ${R} msgs`);let S=(0,i.jd)({onDisconnect:v,log:d,provider:F,model:G});try{let a=await Q.execute({model:G,body:O,stream:M,credentials:c,signal:S.signal,log:d});A=a.response,B=a.url,C=a.headers,D=a.transformedBody,N.logTargetRequest(B,C,D)}catch(d){(0,q.uw)(G,F,x,!1),(0,q.E5)({model:G,provider:F,connectionId:x,status:`FAILED ${"AbortError"===d.name?499:o.gx.BAD_GATEWAY}`}).catch(()=>{});let b={provider:F||"unknown",model:G||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:0,total:Date.now()-H},tokens:{prompt_tokens:0,completion_tokens:0},request:t(a,M),providerRequest:O||null,providerResponse:null,response:{error:d.message||String(d),status:"AbortError"===d.name?499:502,thinking:null},status:"error"};if((0,q.ox)(b).catch(()=>{}),"AbortError"===d.name)return S.handleError(d),(0,n.A1)(499,"Request aborted");let c=(0,n.lR)(d,F,G,o.gx.BAD_GATEWAY);return console.log(`${h.lm.red}[ERROR] ${c}${h.lm.reset}`),(0,n.A1)(o.gx.BAD_GATEWAY,c)}if(A.status===o.gx.UNAUTHORIZED||A.status===o.gx.FORBIDDEN){let a=await (0,k.qZ)(()=>Q.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){d?.info?.("TOKEN",`${F.toUpperCase()} | refreshed`),Object.assign(c,a),s&&a&&await s(a);try{let a=await Q.execute({model:G,body:O,stream:M,credentials:c,signal:S.signal,log:d});a.response.ok&&(A=a.response,B=a.url)}catch(a){d?.warn?.("TOKEN",`${F.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${F.toUpperCase()} | refresh failed`)}if(!A.ok){(0,q.uw)(G,F,x,!1);let{statusCode:b,message:c,retryAfterMs:e}=await (0,n.zL)(A,F);(0,q.E5)({model:G,provider:F,connectionId:x,status:`FAILED ${b}`}).catch(()=>{});let f={provider:F||"unknown",model:G||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:0,total:Date.now()-H},tokens:{prompt_tokens:0,completion_tokens:0},request:t(a,M),providerRequest:D||O||null,providerResponse:null,response:{error:c,status:b,thinking:null},status:"error"};(0,q.ox)(f).catch(()=>{});let g=(0,n.lR)(Error(c),F,G,b);if(console.log(`${h.lm.red}[ERROR] ${g}${h.lm.reset}`),e&&"antigravity"===F){let a=Math.ceil(e/1e3);d?.debug?.("RETRY",`Antigravity quota reset in ${a}s (${e}ms)`)}return N.logError(Error(c),D||O),(0,n.A1)(b,g,e)}if(!M){var T;let b;if((0,q.uw)(G,F,x,!1),(A.headers.get("content-type")||"").includes("text/event-stream")){let a=await A.text(),c=function(a,b){let c=String(a||"").split("\n"),d=[];for(let a of c){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if(c&&"[DONE]"!==c)try{d.push(JSON.parse(c))}catch{}}if(0===d.length)return null;let e=d[0],f=[],g=[],h="stop",i=null;for(let a of d){let b=a?.choices?.[0],c=b?.delta||{};"string"==typeof c.content&&c.content.length>0&&f.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&g.push(c.reasoning_content),b?.finish_reason&&(h=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(i=a.usage)}let j={role:"assistant",content:f.join("")};g.length>0&&(j.reasoning_content=g.join(""));let k={id:e.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:e.created||Math.floor(Date.now()/1e3),model:e.model||b||"unknown",choices:[{index:0,message:j,finish_reason:h}]};return i&&(k.usage=i),k}(a,G);if(!c)return(0,q.E5)({model:G,provider:F,connectionId:x,status:`FAILED ${o.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,n.A1)(o.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");b=c}else b=await A.json();u&&await u();let c=(T=b,T&&"object"==typeof T?T.usage&&"object"==typeof T.usage?{prompt_tokens:T.usage.prompt_tokens||0,completion_tokens:T.usage.completion_tokens||0,cached_tokens:T.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:T.usage.completion_tokens_details?.reasoning_tokens}:T.usage&&"object"==typeof T.usage&&(void 0!==T.usage.input_tokens||void 0!==T.usage.output_tokens)?{prompt_tokens:T.usage.input_tokens||0,completion_tokens:T.usage.output_tokens||0,cache_read_input_tokens:T.usage.cache_read_input_tokens,cache_creation_input_tokens:T.usage.cache_creation_input_tokens}:T.usageMetadata&&"object"==typeof T.usageMetadata?{prompt_tokens:T.usageMetadata.promptTokenCount||0,completion_tokens:T.usageMetadata.candidatesTokenCount||0,reasoning_tokens:T.usageMetadata.thoughtsTokenCount}:null:null);if((0,q.E5)({model:G,provider:F,connectionId:x,tokens:c,status:"200 OK"}).catch(()=>{}),c&&"object"==typeof c){let a=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}] 📊 [USAGE] ${F.toUpperCase()} | in=${c?.prompt_tokens||0} | out=${c?.completion_tokens||0}${x?` | account=${x.slice(0,8)}...`:""}`;console.log(`${h.lm.green}${a}${h.lm.reset}`),(0,q.sZ)({provider:F||"unknown",model:G||"unknown",tokens:c,timestamp:new Date().toISOString(),connectionId:x||void 0,apiKey:z||void 0}).catch(a=>{console.error("Failed to save usage stats:",a.message)})}let d=(0,f.nZ)(L,I)?function(a,b,c){if(b===c||b===g.h.OPENAI)return a;if(b===g.h.GEMINI||b===g.h.ANTIGRAVITY||b===g.h.GEMINI_CLI){let b=a.response||a;if(!b?.candidates?.[0])return a;let c=b.candidates[0],d=c.content,e=b.usageMetadata||a.usageMetadata,f="",g=[],h="";if(d?.parts)for(let a of d.parts)!0===a.thought&&a.text?h+=a.text:void 0!==a.text&&(f+=a.text),a.functionCall&&g.push({id:`call_${a.functionCall.name}_${Date.now()}_${g.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let i={role:"assistant"};f&&(i.content=f),h&&(i.reasoning_content=h),g.length>0&&(i.tool_calls=g),i.content||i.tool_calls||(i.content="");let j=(c.finishReason||"stop").toLowerCase();"stop"===j&&g.length>0&&(j="tool_calls");let k={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:Math.floor(new Date(b.createTime||Date.now()).getTime()/1e3),model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(k.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(k.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),k}if(b===g.h.CLAUDE){if(!a.content)return a;let b="",c="",d=[];for(let e of a.content)"text"===e.type?b+=e.text:"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e={role:"assistant"};b&&(e.content=b),c&&(e.reasoning_content=c),d.length>0&&(e.tool_calls=d),e.content||e.tool_calls||(e.content="");let f=a.stop_reason||"stop";"end_turn"===f&&(f="stop"),"tool_use"===f&&(f="tool_calls");let g={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:e,finish_reason:f}]};return a.usage&&(g.usage={prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,total_tokens:(a.usage.input_tokens||0)+(a.usage.output_tokens||0)}),g}return a}(b,L,I):b;if(d?.usage){let a=(0,j.O9)(d.usage);d.usage=(0,j.WL)(a,I)}let e=Date.now()-H,i={provider:F||"unknown",model:G||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:e,total:e},tokens:c||{prompt_tokens:0,completion_tokens:0},request:t(a,M),providerRequest:D||O||null,providerResponse:b||null,response:{content:d?.choices?.[0]?.message?.content||d?.content||null,thinking:d?.choices?.[0]?.message?.reasoning_content||d?.reasoning_content||null,finish_reason:d?.choices?.[0]?.finish_reason||"unknown"},status:"success"};return(0,q.ox)(i).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(d),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}u&&await u();let U=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,V=(b,c,d)=>{let e={provider:F||"unknown",model:G||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:d?d-H:Date.now()-H,total:Date.now()-H},tokens:c||{prompt_tokens:0,completion_tokens:0},request:t(a,M),providerRequest:D||O||null,providerResponse:b.content||"[Empty streaming response]",response:{content:b.content||"[Empty streaming response]",thinking:b.thinking||null,type:"streaming"},status:"success",id:U};if((0,q.ox)(e).catch(a=>{console.error("[RequestDetail] Failed to update streaming content:",a.message)}),c&&"object"==typeof c){let a=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}] 📊 [STREAM USAGE] ${F.toUpperCase()} | in=${c?.prompt_tokens||0} | out=${c?.completion_tokens||0}${x?` | account=${x.slice(0,8)}...`:""}`;console.log(`${h.lm.green}${a}${h.lm.reset}`),(0,q.sZ)({provider:F||"unknown",model:G||"unknown",tokens:c,timestamp:new Date().toISOString(),connectionId:x||void 0,apiKey:z||void 0}).catch(a=>{console.error("Failed to save streaming usage stats:",a.message)})}},W=y?.toLowerCase().includes("droid")||y?.toLowerCase().includes("codex-cli");"codex"!==F||"openai-responses"!==L||W?(0,f.nZ)(L,I)?(d?.debug?.("STREAM",`Translation mode: ${L} → ${I}`),E=(0,h.i5)(L,I,F,N,P,G,x,a,V,z)):(d?.debug?.("STREAM","Standard passthrough mode"),E=(0,h.l2)(F,N,G,x,a,V,z)):(d?.debug?.("STREAM",`Codex translation mode: openai-responses → openai`),E=(0,h.i5)("openai-responses","openai",F,N,P,G,x,a,V,z));let X=(0,i.Jb)(A,E,S);Date.now();let Y={provider:F||"unknown",model:G||"unknown",connectionId:x||void 0,timestamp:new Date().toISOString(),latency:{ttft:0,total:Date.now()-H},tokens:{prompt_tokens:0,completion_tokens:0},request:t(a,M),providerRequest:D||O||null,providerResponse:"[Streaming - raw response not captured]",response:{content:"[Streaming in progress...]",thinking:null,type:"streaming"},status:"success",id:U};return(0,q.ox)(Y).catch(a=>{console.error("[RequestDetail] Failed to save streaming request:",a.message)}),{success:!0,response:new Response(X,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}}r=(s.then?(await s)():s)[0],d()}catch(a){d(a)}})}};
@@ -10,7 +10,7 @@
10
10
 
11
11
  `);let r=(0,h.OF)(c,l.length,i.h.OPENAI);return j.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{},finish_reason:m.length>0?"tool_calls":"stop"}],usage:r})}
12
12
 
13
- `),j.push("data: [DONE]\n\n"),new Response(j.join(""),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(){return null}}d()}catch(a){d(a)}},1)},39536:(a,b,c)=>{c.d(b,{c:()=>h});var d=c(55511),e=c.n(d),f=c(74957),g=c(2255);class h extends f.H{constructor(){super("antigravity",g.xq.antigravity)}buildUrl(a,b,c=0){let d=this.getBaseUrls(),e=d[c]||d[0];return`${e}/v1internal:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||"antigravity/1.104.0 darwin/arm64","X-9Router-Source":"9router",...b&&{Accept:"text/event-stream"}}}transformRequest(a,b,c,d){let f=d?.projectId||this.generateProjectId(),g=b.request?.contents?.map(a=>{let b=a.role;a.parts?.some(a=>a.functionResponse)&&(b="user");let c=a.parts?.filter(a=>(!a.thought||!!a.functionCall)&&(!a.thoughtSignature||!!a.functionCall||!!a.text));return b!==a.role||c?.length!==a.parts?.length?{...a,role:b,parts:c}:a}),h={...b.request,...g&&{contents:g},sessionId:b.request?.sessionId||this.generateSessionId(),safetySettings:void 0,toolConfig:b.request?.tools?.length>0?{functionCallingConfig:{mode:"VALIDATED"}}:b.request?.toolConfig};return{...b,project:f,model:a,userAgent:"antigravity",requestType:"agent",requestId:`agent-${e().randomUUID()}`,request:h}}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{let c=await fetch(g.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","Antigravity refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Antigravity refresh error: ${a.message}`),null}}generateProjectId(){let a=["useful","bright","swift","calm","bold"][Math.floor(5*Math.random())],b=["fuze","wave","spark","flow","core"][Math.floor(5*Math.random())];return`${a}-${b}-${e().randomUUID().slice(0,5)}`}generateSessionId(){return`-${Math.floor(9e18*Math.random())}`}parseRetryHeaders(a){if(!a?.get)return null;let b=a.get("retry-after");if(b){let a=parseInt(b,10);if(!isNaN(a)&&a>0)return 1e3*a;let c=new Date(b);if(!isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}}let c=a.get("x-ratelimit-reset-after");if(c){let a=parseInt(c,10);if(!isNaN(a)&&a>0)return 1e3*a}let d=a.get("x-ratelimit-reset");if(d){let a=1e3*parseInt(d,10)-Date.now();return a>0?a:null}return null}parseRetryFromErrorMessage(a){if(!a||"string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=3600*parseInt(b[1])*1e3),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f}){let h=this.getFallbackCount(),i=null,j=0,k={};for(let l=0;l<h;l++){let m=this.buildUrl(a,c,l),n=this.buildHeaders(d,c),o=this.transformRequest(a,b,c,d);k[l]||(k[l]=0);try{let a=await fetch(m,{method:"POST",headers:n,body:JSON.stringify(o),signal:e});if(a.status===g.gx.RATE_LIMITED||a.status===g.gx.SERVICE_UNAVAILABLE){let b=this.parseRetryHeaders(a.headers);if(!b)try{let c=await a.clone().text(),d=JSON.parse(c),e=d?.error?.message||d?.message||"";b=this.parseRetryFromErrorMessage(e)}catch(a){}if(b&&b<=1e4){f?.debug?.("RETRY",`${a.status} with Retry-After: ${Math.ceil(b/1e3)}s, waiting...`),await new Promise(a=>setTimeout(a,b)),l--;continue}if(a.status===g.gx.RATE_LIMITED&&(!b||0===b)&&k[l]<3){k[l]++;let a=Math.min(1e3*2**k[l],1e4);f?.debug?.("RETRY",`429 auto retry ${k[l]}/3 after ${a/1e3}s`),await new Promise(b=>setTimeout(b,a)),l--;continue}if(f?.debug?.("RETRY",`${a.status}, Retry-After ${b?`too long (${Math.ceil(b/1e3)}s)`:"missing"}, trying fallback`),j=a.status,l+1<h)continue}if(this.shouldRetry(a.status,l)){f?.debug?.("RETRY",`${a.status} on ${m}, trying fallback ${l+1}`),j=a.status;continue}return{response:a,url:m,headers:n,transformedBody:o}}catch(a){if(i=a,l+1<h){f?.debug?.("RETRY",`Error on ${m}, trying fallback ${l+1}`);continue}throw a}}throw i||Error(`All ${h} URLs failed with status ${j}`)}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>m});var e=c(39536),f=c(95128),g=c(11655),h=c(76467),i=c(61001),j=c(19946),k=c(96179);c(74957);var l=a([j]);j=(l.then?(await l)():l)[0];let n={antigravity:new e.c,"gemini-cli":new f.V,github:new g.x,kiro:new h.B,codex:new i.T,cursor:new j.o,cu:new j.o},o=new Map;function m(a){return n[a]?n[a]:(o.has(a)||o.set(a,new k.L(a)),o.get(a))}d()}catch(a){d(a)}})},55456:(a,b,c)=>{c.d(b,{CP:()=>n,yI:()=>k});var d=c(94755),e=c(74075),f=c.n(e);let g=(a,...b)=>console.log(`[PROTOBUF:${a}]`,...b);function h(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function i(a,b,c){let d=h(a<<3|b);if(0===b)return j(d,h(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return j(d,h(a.length),a)}return new Uint8Array(0)}function j(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function k(a,b,c=[],e=null){g("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}`);let l=function(a,b,c=[],e=null){return i(1,2,function(a,b,c=[],e=null){let f,g=c?.length>0,k=[],l=[];for(let b=0;b<a.length;b++){let c=a[b],e="user"===c.role?1:2,f=(0,d.A)(),h=b===a.length-1;k.push({content:c.content,role:e,messageId:f,isLast:h,hasTools:g,toolResults:c.tool_results||[]}),l.push({messageId:f,role:e})}let m=0;return"medium"===e?m=1:"high"===e&&(m=2),j(...k.map(a=>i(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[]){return j(i(1,2,a),i(2,0,b),i(13,2,c),...g.length>0?g.map(a=>{let b,c,d,e;return i(18,2,(b=a.tool_call_id||"",c=a.name||"",d=a.index||0,e=a.raw_args||"{}",j(i(1,2,b),i(2,2,c),i(3,0,d),i(5,2,e))))}):[],i(29,0,+!!f),i(47,0,f?2:1),...e&&f?[i(51,2,h(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),i(2,0,1),i(3,2,new Uint8Array(0)),i(4,0,1),i(5,2,j(i(1,2,b),i(4,2,new Uint8Array(0)))),i(8,2,""),i(13,0,1),i(15,2,(f=j(i(1,2,new Uint8Array(0)),i(2,2,new Uint8Array(0))),j(i(1,2,"cursor\\aisettings"),i(3,2,new Uint8Array(0)),i(6,2,f),i(8,0,1),i(9,0,1)))),i(19,0,1),i(23,2,(0,d.A)()),i(26,2,j(i(1,2,process.platform||"linux"),i(2,2,process.arch||"x64"),i(3,2,process.version||"v20.0.0"),i(4,2,process.cwd?.()||"/"),i(5,2,new Date().toISOString()))),i(27,0,+!!g),...g?[i(29,2,h(1))]:[],...l.map(a=>i(30,2,function(a,b,c=null){return j(i(1,2,a),...c?[i(2,2,c)]:[],i(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return i(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},j(...b?[i(1,2,b)]:[],...c?[i(2,2,c)]:[],...Object.keys(d).length>0?[i(3,2,JSON.stringify(d))]:[],i(4,2,"custom"))))}):[],i(35,0,0),i(38,0,0),i(46,0,g?2:1),i(47,2,""),i(48,0,+!g),i(49,0,m),i(51,0,0),i(53,0,1),i(54,2,g?"Agent":"Ask"))}(a,b,c,e))}(a,b,c,e),m=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(f().gzipSync(Buffer.from(a))),d=1);let e=new Uint8Array(5+c.length);return e[0]=d,e[1]=c.length>>24&255,e[2]=c.length>>16&255,e[3]=c.length>>8&255,e[4]=255&c.length,e.set(c,5),e}(l,!1);return g("BODY",`Protobuf=${l.length}B, Framed=${m.length}B`),m}function l(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function m(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=l(a,b),f=7&d,g=e;if(0===f)[c,g]=l(a,g);else if(2===f){let[b,d]=l(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function n(a){try{let b=m(a);if(b.has(1)){let a=function(a){let b=m(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=m(b.get(27)[0].value);if(a.has(1)){let b=m(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){g("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return g("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=m(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=m(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){g("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(a){return g("EXTRACT",`Error: ${a.message}`),{text:null,error:null,toolCall:null,thinking:null}}}},61001:(a,b,c)=>{c.d(b,{T:()=>g});var d=c(74957);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
13
+ `),j.push("data: [DONE]\n\n"),new Response(j.join(""),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(){return null}}d()}catch(a){d(a)}},1)},39536:(a,b,c)=>{c.d(b,{c:()=>h});var d=c(55511),e=c.n(d),f=c(74957),g=c(2255);class h extends f.H{constructor(){super("antigravity",g.xq.antigravity)}buildUrl(a,b,c=0){let d=this.getBaseUrls(),e=d[c]||d[0];return`${e}/v1internal:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||"antigravity/1.104.0 darwin/arm64","X-9Router-Source":"9router",...b&&{Accept:"text/event-stream"}}}transformRequest(a,b,c,d){let f=d?.projectId||this.generateProjectId(),g=b.request?.contents?.map(a=>{let b=a.role;a.parts?.some(a=>a.functionResponse)&&(b="user");let c=a.parts?.filter(a=>(!a.thought||!!a.functionCall)&&(!a.thoughtSignature||!!a.functionCall||!!a.text));return b!==a.role||c?.length!==a.parts?.length?{...a,role:b,parts:c}:a}),h={...b.request,...g&&{contents:g},sessionId:b.request?.sessionId||this.generateSessionId(),safetySettings:void 0,toolConfig:b.request?.tools?.length>0?{functionCallingConfig:{mode:"VALIDATED"}}:b.request?.toolConfig};return{...b,project:f,model:a,userAgent:"antigravity",requestType:"agent",requestId:`agent-${e().randomUUID()}`,request:h}}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{let c=await fetch(g.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","Antigravity refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Antigravity refresh error: ${a.message}`),null}}generateProjectId(){let a=["useful","bright","swift","calm","bold"][Math.floor(5*Math.random())],b=["fuze","wave","spark","flow","core"][Math.floor(5*Math.random())];return`${a}-${b}-${e().randomUUID().slice(0,5)}`}generateSessionId(){return`-${Math.floor(9e18*Math.random())}`}parseRetryHeaders(a){if(!a?.get)return null;let b=a.get("retry-after");if(b){let a=parseInt(b,10);if(!isNaN(a)&&a>0)return 1e3*a;let c=new Date(b);if(!isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}}let c=a.get("x-ratelimit-reset-after");if(c){let a=parseInt(c,10);if(!isNaN(a)&&a>0)return 1e3*a}let d=a.get("x-ratelimit-reset");if(d){let a=1e3*parseInt(d,10)-Date.now();return a>0?a:null}return null}parseRetryFromErrorMessage(a){if(!a||"string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=3600*parseInt(b[1])*1e3),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f}){let h=this.getFallbackCount(),i=null,j=0,k={};for(let l=0;l<h;l++){let m=this.buildUrl(a,c,l),n=this.buildHeaders(d,c),o=this.transformRequest(a,b,c,d);k[l]||(k[l]=0);try{let a=await fetch(m,{method:"POST",headers:n,body:JSON.stringify(o),signal:e});if(a.status===g.gx.RATE_LIMITED||a.status===g.gx.SERVICE_UNAVAILABLE){let b=this.parseRetryHeaders(a.headers);if(!b)try{let c=await a.clone().text(),d=JSON.parse(c),e=d?.error?.message||d?.message||"";b=this.parseRetryFromErrorMessage(e)}catch(a){}if(b&&b<=1e4){f?.debug?.("RETRY",`${a.status} with Retry-After: ${Math.ceil(b/1e3)}s, waiting...`),await new Promise(a=>setTimeout(a,b)),l--;continue}if(a.status===g.gx.RATE_LIMITED&&(!b||0===b)&&k[l]<3){k[l]++;let a=Math.min(1e3*2**k[l],1e4);f?.debug?.("RETRY",`429 auto retry ${k[l]}/3 after ${a/1e3}s`),await new Promise(b=>setTimeout(b,a)),l--;continue}if(f?.debug?.("RETRY",`${a.status}, Retry-After ${b?`too long (${Math.ceil(b/1e3)}s)`:"missing"}, trying fallback`),j=a.status,l+1<h)continue}if(this.shouldRetry(a.status,l)){f?.debug?.("RETRY",`${a.status} on ${m}, trying fallback ${l+1}`),j=a.status;continue}return{response:a,url:m,headers:n,transformedBody:o}}catch(a){if(i=a,l+1<h){f?.debug?.("RETRY",`Error on ${m}, trying fallback ${l+1}`);continue}throw a}}throw i||Error(`All ${h} URLs failed with status ${j}`)}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>n});var e=c(39536),f=c(95128),g=c(11655),h=c(61433),i=c(76467),j=c(61001),k=c(19946),l=c(96179);c(74957);var m=a([k]);k=(m.then?(await m)():m)[0];let o={antigravity:new e.c,"gemini-cli":new f.V,github:new g.x,iflow:new h.r,kiro:new i.B,codex:new j.T,cursor:new k.o,cu:new k.o},p=new Map;function n(a){return o[a]?o[a]:(p.has(a)||p.set(a,new l.L(a)),p.get(a))}d()}catch(a){d(a)}})},55456:(a,b,c)=>{c.d(b,{CP:()=>n,yI:()=>k});var d=c(94755),e=c(74075),f=c.n(e);let g=(a,...b)=>console.log(`[PROTOBUF:${a}]`,...b);function h(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function i(a,b,c){let d=h(a<<3|b);if(0===b)return j(d,h(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return j(d,h(a.length),a)}return new Uint8Array(0)}function j(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function k(a,b,c=[],e=null){g("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}`);let l=function(a,b,c=[],e=null){return i(1,2,function(a,b,c=[],e=null){let f,g=c?.length>0,k=[],l=[];for(let b=0;b<a.length;b++){let c=a[b],e="user"===c.role?1:2,f=(0,d.A)(),h=b===a.length-1;k.push({content:c.content,role:e,messageId:f,isLast:h,hasTools:g,toolResults:c.tool_results||[]}),l.push({messageId:f,role:e})}let m=0;return"medium"===e?m=1:"high"===e&&(m=2),j(...k.map(a=>i(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[]){return j(i(1,2,a),i(2,0,b),i(13,2,c),...g.length>0?g.map(a=>{let b,c,d,e;return i(18,2,(b=a.tool_call_id||"",c=a.name||"",d=a.index||0,e=a.raw_args||"{}",j(i(1,2,b),i(2,2,c),i(3,0,d),i(5,2,e))))}):[],i(29,0,+!!f),i(47,0,f?2:1),...e&&f?[i(51,2,h(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),i(2,0,1),i(3,2,new Uint8Array(0)),i(4,0,1),i(5,2,j(i(1,2,b),i(4,2,new Uint8Array(0)))),i(8,2,""),i(13,0,1),i(15,2,(f=j(i(1,2,new Uint8Array(0)),i(2,2,new Uint8Array(0))),j(i(1,2,"cursor\\aisettings"),i(3,2,new Uint8Array(0)),i(6,2,f),i(8,0,1),i(9,0,1)))),i(19,0,1),i(23,2,(0,d.A)()),i(26,2,j(i(1,2,process.platform||"linux"),i(2,2,process.arch||"x64"),i(3,2,process.version||"v20.0.0"),i(4,2,process.cwd?.()||"/"),i(5,2,new Date().toISOString()))),i(27,0,+!!g),...g?[i(29,2,h(1))]:[],...l.map(a=>i(30,2,function(a,b,c=null){return j(i(1,2,a),...c?[i(2,2,c)]:[],i(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return i(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},j(...b?[i(1,2,b)]:[],...c?[i(2,2,c)]:[],...Object.keys(d).length>0?[i(3,2,JSON.stringify(d))]:[],i(4,2,"custom"))))}):[],i(35,0,0),i(38,0,0),i(46,0,g?2:1),i(47,2,""),i(48,0,+!g),i(49,0,m),i(51,0,0),i(53,0,1),i(54,2,g?"Agent":"Ask"))}(a,b,c,e))}(a,b,c,e),m=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(f().gzipSync(Buffer.from(a))),d=1);let e=new Uint8Array(5+c.length);return e[0]=d,e[1]=c.length>>24&255,e[2]=c.length>>16&255,e[3]=c.length>>8&255,e[4]=255&c.length,e.set(c,5),e}(l,!1);return g("BODY",`Protobuf=${l.length}B, Framed=${m.length}B`),m}function l(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function m(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=l(a,b),f=7&d,g=e;if(0===f)[c,g]=l(a,g);else if(2===f){let[b,d]=l(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function n(a){try{let b=m(a);if(b.has(1)){let a=function(a){let b=m(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=m(b.get(27)[0].value);if(a.has(1)){let b=m(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){g("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return g("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=m(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=m(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){g("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(a){return g("EXTRACT",`Error: ${a.message}`),{text:null,error:null,toolCall:null,thinking:null}}}},61001:(a,b,c)=>{c.d(b,{T:()=>g});var d=c(74957);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
14
14
 
15
15
  ## General
16
16
 
@@ -126,7 +126,7 @@ You are producing plain text that will later be styled by the CLI. Follow these
126
126
  * Optionally include line/column (1‑based): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
127
127
  * Do not use URIs like file://, vscode://, or https://.
128
128
  * Do not provide range of lines
129
- * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(2255);class g extends d.H{constructor(){super("codex",f.xq.codex)}transformRequest(a,b,c,d){b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1;let f=null;for(let c of["none","low","medium","high","xhigh"])if(a.endsWith(`-${c}`)){f=c,b.model=b.model.replace(`-${c}`,"");break}if(!b.reasoning){let a=b.reasoning_effort||f||"medium";b.reasoning={effort:a}}return delete b.reasoning_effort,delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,b}}},73483:(a,b,c)=>{c.d(b,{Gh:()=>j,IF:()=>m,O9:()=>g,OF:()=>l,WL:()=>h,f5:()=>k,lm:()=>f});var d=c(47370),e=c(14170);let 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={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},d=c[b];b===e.h.GEMINI_CLI||b===e.h.ANTIGRAVITY?d=c[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?d=c[e.h.OPENAI_RESPONSES]:d||(d=c.default);let f={};for(let b of d)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)};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),0===Object.keys(b).length)?null:b}function j(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 k(a){if(!a||"object"!=typeof a)return null;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});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens})}return a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens?i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens}):a.usageMetadata&&"object"==typeof a.usageMetadata?i({prompt_tokens:a.usageMetadata?.promptTokenCount||0,completion_tokens:a.usageMetadata?.candidatesTokenCount||0,total_tokens:a.usageMetadata?.totalTokenCount,cached_tokens:a.usageMetadata?.cachedContentTokenCount,reasoning_tokens:a.usageMetadata?.thoughtsTokenCount}):null}function l(a,b,c=e.h.OPENAI){var d,f;return d=function(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a).length;return Math.ceil(b/4)}catch(a){return 0}}(a),f=b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c===e.h.CLAUDE?g({input_tokens:d,output_tokens:f,estimated:!0}):g({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function m(a,b,c=null,e=null){if(!b||"object"!=typeof b)return;let g=a?.toUpperCase()||"UNKNOWN",h=b?.prompt_tokens||b?.input_tokens||0,i=b?.completion_tokens||b?.output_tokens||0,j=e?e.slice(0,8)+"...":"unknown",k=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${g} | in=${h} | out=${i} | account=${j}${f.reset}`;b.estimated&&(k+=` ${f.yellow}(estimated)${f.reset}`);let l=b.cache_read_input_tokens||b.cached_tokens;l&&(k+=` | cache_read=${l}`);let n=b.cache_creation_input_tokens;n&&(k+=` | cache_create=${n}`);let o=b.reasoning_tokens;o&&(k+=` | reasoning=${o}`),console.log(k);let p={prompt_tokens:h,completion_tokens:i,cache_read_input_tokens:l||0,cache_creation_input_tokens:n||0,reasoning_tokens:o||0};(0,d.sZ)({model:c,provider:a,connectionId:e,tokens:p}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:p,status:"200 OK"}).catch(()=>{})}},74957:(a,b,c)=>{c.d(b,{H:()=>e});var d=c(2255);class e{constructor(a,b){this.provider=a,this.config=b}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};return a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b){return null}needsRefresh(a){return!!a.expiresAt&&new Date(a.expiresAt).getTime()-Date.now()<3e5}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f}){let g=this.getFallbackCount(),h=null,i=0;for(let j=0;j<g;j++){let k=this.buildUrl(a,c,j,d),l=this.buildHeaders(d,c),m=this.transformRequest(a,b,c,d);try{let a=await fetch(k,{method:"POST",headers:l,body:JSON.stringify(m),signal:e});if(this.shouldRetry(a.status,j)){f?.debug?.("RETRY",`${a.status} on ${k}, trying fallback ${j+1}`),i=a.status;continue}return{response:a,url:k,headers:l,transformedBody:m}}catch(a){if(h=a,j+1<g){f?.debug?.("RETRY",`Error on ${k}, trying fallback ${j+1}`);continue}throw a}}throw h||Error(`All ${g} URLs failed with status ${i}`)}}},76467:(a,b,c)=>{c.d(b,{B:()=>h});var d=c(74957),e=c(2255),f=c(94755),g=c(8590);class h extends d.H{constructor(){super("kiro",e.xq.kiro)}buildHeaders(a,b=!0){let c={...this.config.headers,"Amz-Sdk-Request":"attempt=1; max=3","Amz-Sdk-Invocation-Id":(0,f.A)()};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c}transformRequest(a,b,c,d){return b}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f}){let g=this.buildUrl(a,c,0),h=this.buildHeaders(d,c),i=this.transformRequest(a,b,c,d),j=await fetch(g,{method:"POST",headers:h,body:JSON.stringify(i),signal:e});return j.ok?{response:this.transformEventStreamToSSE(j,a),url:g,headers:h,transformedBody:i}:{response:j,url:g,headers:h,transformedBody:i}}transformEventStreamToSSE(a,b){let c=new Uint8Array(0),d=0,e=`chatcmpl-${Date.now()}`,f=Math.floor(Date.now()/1e3),g={endDetected:!1,finishEmitted:!1,hasToolCalls:!1,toolCallIndex:0,seenToolIds:new Map},h=new TransformStream({async transform(a,h){let i=new Uint8Array(c.length+a.length);i.set(c),i.set(a,c.length),c=i;let j=0;for(;c.length>=16&&j<1e3;){j++;let a=new DataView(c.buffer,c.byteOffset).getUint32(0,!1);if(a<16||a>c.length||c.length<a)break;let i=c.slice(0,a);c=c.slice(a);let k=function(a){try{let b=new DataView(a.buffer,a.byteOffset).getUint32(4,!1),c={},d=12,e=12+b;for(;d<e&&d<a.length;){let b=a[d];if(++d+b>a.length)break;let e=new TextDecoder().decode(a.slice(d,d+b)),f=a[d+=b];if(d++,7===f){let b=a[d]<<8|a[d+1];if((d+=2)+b>a.length)break;let f=new TextDecoder().decode(a.slice(d,d+b));d+=b,c[e]=f}else break}let f=12+b,g=a.length-4,h=null;if(g>f){let b=new TextDecoder().decode(a.slice(f,g));if(!b||!b.trim())return{headers:c,payload:null};try{h=JSON.parse(b)}catch(a){console.warn(`[Kiro] Failed to parse payload: ${a.message} | payload: ${b.substring(0,100)}`),h={raw:b}}}return{headers:c,payload:h}}catch{return null}}(i);if(!k)continue;let l=k.headers[":event-type"]||"";if(g.totalContentLength||(g.totalContentLength=0),g.contextUsagePercentage||(g.contextUsagePercentage=0),"assistantResponseEvent"===l&&k.payload?.content){let a=k.payload.content;g.totalContentLength+=a.length;let c={id:e,object:"chat.completion.chunk",created:f,model:b,choices:[{index:0,delta:0===d?{role:"assistant",content:a}:{content:a},finish_reason:null}]};d++,h.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(c)}
129
+ * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(2255);class g extends d.H{constructor(){super("codex",f.xq.codex)}transformRequest(a,b,c,d){b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1;let f=null;for(let c of["none","low","medium","high","xhigh"])if(a.endsWith(`-${c}`)){f=c,b.model=b.model.replace(`-${c}`,"");break}if(!b.reasoning){let a=b.reasoning_effort||f||"medium";b.reasoning={effort:a}}return delete b.reasoning_effort,delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,b}}},61433:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(74957),g=c(2255);class h extends f.H{constructor(){super("iflow",g.xq.iflow)}generateUUID(){return e().randomUUID()}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${this.generateUUID()}`,d=Date.now(),e=this.config.headers["User-Agent"]||"iFlow-Cli",f=a.apiKey||a.accessToken||"",g=this.createIFlowSignature(e,c,d,f),h={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":g};return a.apiKey&&(h.Authorization=`Bearer ${a.apiKey}`),b&&(h.Accept="text/event-stream"),h}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return b}}},73483:(a,b,c)=>{c.d(b,{Gh:()=>j,IF:()=>m,O9:()=>g,OF:()=>l,WL:()=>h,f5:()=>k,lm:()=>f});var d=c(47370),e=c(14170);let 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={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},d=c[b];b===e.h.GEMINI_CLI||b===e.h.ANTIGRAVITY?d=c[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?d=c[e.h.OPENAI_RESPONSES]:d||(d=c.default);let f={};for(let b of d)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)};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),0===Object.keys(b).length)?null:b}function j(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 k(a){if(!a||"object"!=typeof a)return null;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});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens})}return a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens?i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens}):a.usageMetadata&&"object"==typeof a.usageMetadata?i({prompt_tokens:a.usageMetadata?.promptTokenCount||0,completion_tokens:a.usageMetadata?.candidatesTokenCount||0,total_tokens:a.usageMetadata?.totalTokenCount,cached_tokens:a.usageMetadata?.cachedContentTokenCount,reasoning_tokens:a.usageMetadata?.thoughtsTokenCount}):null}function l(a,b,c=e.h.OPENAI){var d,f;return d=function(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a).length;return Math.ceil(b/4)}catch(a){return 0}}(a),f=b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c===e.h.CLAUDE?g({input_tokens:d,output_tokens:f,estimated:!0}):g({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function m(a,b,c=null,e=null,g=null){if(!b||"object"!=typeof b)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=e?e.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 n=b.cache_read_input_tokens||b.cached_tokens;n&&(l+=` | cache_read=${n}`);let o=b.cache_creation_input_tokens;o&&(l+=` | cache_create=${o}`);let p=b.reasoning_tokens;p&&(l+=` | reasoning=${p}`),console.log(l);let q={prompt_tokens:i,completion_tokens:j,cache_read_input_tokens:n||0,cache_creation_input_tokens:o||0,reasoning_tokens:p||0};(0,d.sZ)({model:c,provider:a,connectionId:e,tokens:q,apiKey:g||void 0}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:q,status:"200 OK"}).catch(()=>{})}},74957:(a,b,c)=>{c.d(b,{H:()=>e});var d=c(2255);class e{constructor(a,b){this.provider=a,this.config=b}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};return a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b){return null}needsRefresh(a){return!!a.expiresAt&&new Date(a.expiresAt).getTime()-Date.now()<3e5}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f}){let g=this.getFallbackCount(),h=null,i=0;for(let j=0;j<g;j++){let k=this.buildUrl(a,c,j,d),l=this.buildHeaders(d,c),m=this.transformRequest(a,b,c,d);try{let a=await fetch(k,{method:"POST",headers:l,body:JSON.stringify(m),signal:e});if(this.shouldRetry(a.status,j)){f?.debug?.("RETRY",`${a.status} on ${k}, trying fallback ${j+1}`),i=a.status;continue}return{response:a,url:k,headers:l,transformedBody:m}}catch(a){if(h=a,j+1<g){f?.debug?.("RETRY",`Error on ${k}, trying fallback ${j+1}`);continue}throw a}}throw h||Error(`All ${g} URLs failed with status ${i}`)}}},76467:(a,b,c)=>{c.d(b,{B:()=>h});var d=c(74957),e=c(2255),f=c(94755),g=c(8590);class h extends d.H{constructor(){super("kiro",e.xq.kiro)}buildHeaders(a,b=!0){let c={...this.config.headers,"Amz-Sdk-Request":"attempt=1; max=3","Amz-Sdk-Invocation-Id":(0,f.A)()};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c}transformRequest(a,b,c,d){return b}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f}){let g=this.buildUrl(a,c,0),h=this.buildHeaders(d,c),i=this.transformRequest(a,b,c,d),j=await fetch(g,{method:"POST",headers:h,body:JSON.stringify(i),signal:e});return j.ok?{response:this.transformEventStreamToSSE(j,a),url:g,headers:h,transformedBody:i}:{response:j,url:g,headers:h,transformedBody:i}}transformEventStreamToSSE(a,b){let c=new Uint8Array(0),d=0,e=`chatcmpl-${Date.now()}`,f=Math.floor(Date.now()/1e3),g={endDetected:!1,finishEmitted:!1,hasToolCalls:!1,toolCallIndex:0,seenToolIds:new Map},h=new TransformStream({async transform(a,h){let i=new Uint8Array(c.length+a.length);i.set(c),i.set(a,c.length),c=i;let j=0;for(;c.length>=16&&j<1e3;){j++;let a=new DataView(c.buffer,c.byteOffset).getUint32(0,!1);if(a<16||a>c.length||c.length<a)break;let i=c.slice(0,a);c=c.slice(a);let k=function(a){try{let b=new DataView(a.buffer,a.byteOffset).getUint32(4,!1),c={},d=12,e=12+b;for(;d<e&&d<a.length;){let b=a[d];if(++d+b>a.length)break;let e=new TextDecoder().decode(a.slice(d,d+b)),f=a[d+=b];if(d++,7===f){let b=a[d]<<8|a[d+1];if((d+=2)+b>a.length)break;let f=new TextDecoder().decode(a.slice(d,d+b));d+=b,c[e]=f}else break}let f=12+b,g=a.length-4,h=null;if(g>f){let b=new TextDecoder().decode(a.slice(f,g));if(!b||!b.trim())return{headers:c,payload:null};try{h=JSON.parse(b)}catch(a){console.warn(`[Kiro] Failed to parse payload: ${a.message} | payload: ${b.substring(0,100)}`),h={raw:b}}}return{headers:c,payload:h}}catch{return null}}(i);if(!k)continue;let l=k.headers[":event-type"]||"";if(g.totalContentLength||(g.totalContentLength=0),g.contextUsagePercentage||(g.contextUsagePercentage=0),"assistantResponseEvent"===l&&k.payload?.content){let a=k.payload.content;g.totalContentLength+=a.length;let c={id:e,object:"chat.completion.chunk",created:f,model:b,choices:[{index:0,delta:0===d?{role:"assistant",content:a}:{content:a},finish_reason:null}]};d++,h.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(c)}
130
130
 
131
131
  `))}if("codeEvent"===l&&k.payload?.content){let a={id:e,object:"chat.completion.chunk",created:f,model:b,choices:[{index:0,delta:{content:k.payload.content},finish_reason:null}]};d++,h.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(a)}
132
132