zevairouter 1.1.21 → 1.1.22

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 (222) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  3. package/cli/app/.next-cli-build/app-path-routes-manifest.json +14 -14
  4. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  5. package/cli/app/.next-cli-build/prerender-manifest.json +3 -3
  6. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  35. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  36. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  37. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  38. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  39. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  40. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  41. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  42. package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  43. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  44. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  45. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  46. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  47. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  48. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  49. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  50. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  51. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  52. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  53. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  54. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  55. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  56. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  57. package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  59. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  60. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  61. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  62. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  63. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  64. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  65. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  66. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  67. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  68. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  69. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  70. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  71. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  72. package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
  73. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  74. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  75. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
  76. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  77. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
  78. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +5 -5
  79. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
  80. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
  81. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  82. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  83. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +5 -5
  84. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  85. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  86. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  87. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  88. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +5 -5
  89. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  90. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  91. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  92. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  93. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +5 -5
  94. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  95. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  96. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  97. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
  98. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +5 -5
  99. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
  100. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
  101. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  102. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  103. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +5 -5
  104. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  105. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  106. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  107. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  108. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +5 -5
  109. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  110. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  111. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  112. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  113. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +5 -5
  114. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  115. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  116. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  117. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +5 -5
  118. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +5 -5
  119. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +5 -5
  120. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
  121. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  122. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  123. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +5 -5
  124. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  125. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  126. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  127. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  128. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +5 -5
  129. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  130. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  131. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  132. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  133. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +5 -5
  134. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  135. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  136. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  137. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  138. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +5 -5
  139. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  140. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  141. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  142. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  143. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +5 -5
  144. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  145. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  146. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  147. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  148. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +6 -6
  149. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  150. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  151. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  152. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  153. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
  154. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  155. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  156. package/cli/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  157. package/cli/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  158. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +5 -5
  159. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  160. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  161. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  162. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  163. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +5 -5
  164. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  165. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  166. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  167. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  168. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +5 -5
  169. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  170. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  171. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  172. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  173. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +5 -5
  174. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  175. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  176. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  177. package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  178. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +5 -5
  179. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  180. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  181. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  182. package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
  183. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  184. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  185. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  186. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  187. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  188. package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
  189. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  190. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  191. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
  192. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  193. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  194. package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
  195. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  196. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  197. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  198. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  199. package/cli/app/.next-cli-build/server/app-paths-manifest.json +14 -14
  200. package/cli/app/.next-cli-build/server/chunks/1131.js +1 -1
  201. package/cli/app/.next-cli-build/server/chunks/1350.js +1 -1
  202. package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
  203. package/cli/app/.next-cli-build/server/chunks/4586.js +4 -4
  204. package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
  205. package/cli/app/.next-cli-build/server/chunks/5295.js +1 -1
  206. package/cli/app/.next-cli-build/server/chunks/5330.js +13 -13
  207. package/cli/app/.next-cli-build/server/chunks/7319.js +18 -18
  208. package/cli/app/.next-cli-build/server/chunks/7634.js +1 -1
  209. package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
  210. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  211. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  212. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  213. package/cli/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  214. package/cli/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  215. package/cli/app/.next-cli-build/static/chunks/{620-46dbc702c96915a8.js → 620-7c3dc00edd0bd4c0.js} +1 -1
  216. package/cli/app/CHANGELOG.md +7 -0
  217. package/cli/app/package.json +1 -1
  218. package/cli/app/src/mitm/server.js +29 -31
  219. package/cli/package.json +1 -1
  220. package/package.json +1 -1
  221. /package/cli/app/.next-cli-build/static/{1SUOdmC5cYVWo8ijpBKlM → gK9BfF7EJy16MlBCuLPxW}/_buildManifest.js +0 -0
  222. /package/cli/app/.next-cli-build/static/{1SUOdmC5cYVWo8ijpBKlM → gK9BfF7EJy16MlBCuLPxW}/_ssgManifest.js +0 -0
@@ -1,30 +1,30 @@
1
- "use strict";exports.id=5330,exports.ids=[5330],exports.modules={1376:(a,b,c)=>{c.d(b,{Br:()=>H});var d=c(74957),e=c(35024),f=c(47293),g=c(8590),h=c(39609),i=c(59657),j=c(41004),k=c(66682);let l=new Set(["assistantResponseEvent","reasoningContentEvent","codeEvent","toolUseEvent"]),m=new Uint32Array(256);for(let a=0;a<m.length;a++){let b=a;for(let a=0;a<8;a++)b=1&b?0xedb88320^b>>>1:b>>>1;m[a]=b>>>0}function n(a){let b=0xffffffff;for(let c of a)b=m[(b^c)&255]^b>>>8;return(0xffffffff^b)>>>0}function o(a,b={}){let c=Error(a);return c.name="AwsEventStreamError",c.code=a,Object.assign(c,b),c}var p=c(51455),q=c(48161),r=c(76760),s=c(77598);let t=new Map;function u(a,{now:b=Date.now()}={}){return t.set(a,{verifiedUntil:b+9e5,cleanProbes:0,probeInFlight:!1}),"verified"}function v(a,{now:b=Date.now()}={}){let c=t.get(a);return c?c.probeInFlight?(c.probeInFlight=!1,c.cleanProbes+=1,c.cleanProbes>=5)?(t.delete(a),"live"):(c.verifiedUntil=b,"verified"):"verified":"live"}function w(a,{now:b=Date.now()}={}){let c=t.get(a);c?.probeInFlight&&(c.probeInFlight=!1,c.verifiedUntil=Math.min(c.verifiedUntil,b))}function x(...a){for(let b of a)if(("string"==typeof b||"number"==typeof b)&&String(b).trim())return String(b).trim();return""}function y(...a){for(let b of a){if("string"!=typeof b&&"number"!=typeof b)continue;let a=String(b).trim();if(/^[A-Za-z0-9_.:#/-]{1,200}$/.test(a)&&!(/^aor[A-Za-z0-9._~+/=-]{8,}$/.test(a)||/^eyJ[A-Za-z0-9_-]{8,}\./.test(a)))return a}return null}function z(a,b){let c=a?.headers;if(!c)return null;if("function"==typeof c.get)return c.get(b);let d=Object.entries(c).find(([a])=>a.toLowerCase()===b.toLowerCase());return d?.[1]??null}function A(a,b){return B(a,b)[0]??null}function B(a,b){if(!a||"object"!=typeof a)return[];let c=new Set(b.map(a=>a.toLowerCase())),d=[{value:a,depth:0}],e=new Set,f=[];for(;d.length>0&&e.size<64;){let{value:a,depth:b}=d.shift();if(!(!a||"object"!=typeof a||e.has(a)))for(let[g,h]of(e.add(a),Object.entries(a)))c.has(g.toLowerCase())&&null!=h&&""!==h&&f.push(h),b<3&&h&&"object"==typeof h&&d.push({value:h,depth:b+1})}return f}function C(a){return a&&"object"==typeof a?[...new Set(B(a,["reason","code","errorCode","type","__type","status"]).map(a=>y(a)).filter(Boolean))]:[]}function D(a,b){if(null==a||""===a)return null;let c="number"==typeof a?a:Number(String(a).trim());if(Number.isFinite(c)){let a=c>=1e12?c:c>=1e9?1e3*c:null;return a&&a>b?Math.round(a):null}let d=Date.parse(String(a));return Number.isFinite(d)&&d>b?d:null}function E(a,b){if(null==a||""===a)return null;let c=String(a).trim().toLowerCase().match(/^(\d+(?:\.\d+)?)\s*(ms|s|m|h)?$/);if(!c)return null;let d=Number(c[1]);return!Number.isFinite(d)||d<=0?null:b+Math.round(d*("ms"===c[2]?1:"m"===c[2]?6e4:"h"===c[2]?36e5:1e3))}function F(a,b="KIRO_STREAM_PROTOCOL_ERROR",c="Kiro upstream returned an invalid event stream"){let d=/^(?:AWS_EVENTSTREAM|KIRO_STREAM|KIRO_VERIFIED)_[A-Z0-9_]+$/.test(String(b||""))?String(b):"KIRO_STREAM_PROTOCOL_ERROR",e=a.parseError({status:j.gx.BAD_GATEWAY,headers:{}},JSON.stringify({code:d,message:c}));return{error:{message:e.message,type:"kiro_stream_error",code:e.providerErrorCode||d,status:e.status},failureMetadata:{failureClass:"KIRO_STREAM_PROTOCOL_ERROR"===d?"upstream_protocol":/(?:CRC_MISMATCH|INVALID_|TRUNCATED|TOO_LARGE)/.test(d)?"protocol_corruption":"upstream_protocol",providerErrorCode:e.providerErrorCode,upstreamRequestId:e.upstreamRequestId,resetsAtMs:e.resetsAtMs,authLifecycle:{initialStatus:e.status,refreshAttempted:!1,refreshOutcome:"not_attempted",retryStatus:null}}}}function G(a,b){return new Response(`data: ${JSON.stringify(b)}
1
+ "use strict";exports.id=5330,exports.ids=[5330],exports.modules={1376:(a,b,c)=>{c.d(b,{Br:()=>L});var d=c(74957),e=c(35024),f=c(47293),g=c(8590),h=c(39609),i=c(59657),j=c(41004),k=c(66682);let l=new Set(["assistantResponseEvent","reasoningContentEvent","codeEvent","toolUseEvent"]),m=new Uint32Array(256);for(let a=0;a<m.length;a++){let b=a;for(let a=0;a<8;a++)b=1&b?0xedb88320^b>>>1:b>>>1;m[a]=b>>>0}function n(a){let b=0xffffffff;for(let c of a)b=m[(b^c)&255]^b>>>8;return(0xffffffff^b)>>>0}function o(a,b={}){let c=Error(a);return c.name="AwsEventStreamError",c.code=a,Object.assign(c,b),c}var p=c(51455),q=c(48161),r=c(76760),s=c(77598);let t=new Map;function u(a,{now:b=Date.now()}={}){return t.set(a,{verifiedUntil:b+9e5,cleanProbes:0,probeInFlight:!1}),"verified"}function v(a,{now:b=Date.now()}={}){let c=t.get(a);return c?c.probeInFlight?(c.probeInFlight=!1,c.cleanProbes+=1,c.cleanProbes>=5)?(t.delete(a),"live"):(c.verifiedUntil=b,"verified"):"verified":"live"}function w(a,{now:b=Date.now()}={}){let c=t.get(a);c?.probeInFlight&&(c.probeInFlight=!1,c.verifiedUntil=Math.min(c.verifiedUntil,b))}var x=c(66014);let{createTaggedThinkingState:y,flushTaggedThinking:z,pushTaggedThinking:A}=c.n(x)();function B(...a){for(let b of a)if(("string"==typeof b||"number"==typeof b)&&String(b).trim())return String(b).trim();return""}function C(...a){for(let b of a){if("string"!=typeof b&&"number"!=typeof b)continue;let a=String(b).trim();if(/^[A-Za-z0-9_.:#/-]{1,200}$/.test(a)&&!(/^aor[A-Za-z0-9._~+/=-]{8,}$/.test(a)||/^eyJ[A-Za-z0-9_-]{8,}\./.test(a)))return a}return null}function D(a,b){let c=a?.headers;if(!c)return null;if("function"==typeof c.get)return c.get(b);let d=Object.entries(c).find(([a])=>a.toLowerCase()===b.toLowerCase());return d?.[1]??null}function E(a,b){return F(a,b)[0]??null}function F(a,b){if(!a||"object"!=typeof a)return[];let c=new Set(b.map(a=>a.toLowerCase())),d=[{value:a,depth:0}],e=new Set,f=[];for(;d.length>0&&e.size<64;){let{value:a,depth:b}=d.shift();if(!(!a||"object"!=typeof a||e.has(a)))for(let[g,h]of(e.add(a),Object.entries(a)))c.has(g.toLowerCase())&&null!=h&&""!==h&&f.push(h),b<3&&h&&"object"==typeof h&&d.push({value:h,depth:b+1})}return f}function G(a){return a&&"object"==typeof a?[...new Set(F(a,["reason","code","errorCode","type","__type","status"]).map(a=>C(a)).filter(Boolean))]:[]}function H(a,b){if(null==a||""===a)return null;let c="number"==typeof a?a:Number(String(a).trim());if(Number.isFinite(c)){let a=c>=1e12?c:c>=1e9?1e3*c:null;return a&&a>b?Math.round(a):null}let d=Date.parse(String(a));return Number.isFinite(d)&&d>b?d:null}function I(a,b){if(null==a||""===a)return null;let c=String(a).trim().toLowerCase().match(/^(\d+(?:\.\d+)?)\s*(ms|s|m|h)?$/);if(!c)return null;let d=Number(c[1]);return!Number.isFinite(d)||d<=0?null:b+Math.round(d*("ms"===c[2]?1:"m"===c[2]?6e4:"h"===c[2]?36e5:1e3))}function J(a,b="KIRO_STREAM_PROTOCOL_ERROR",c="Kiro upstream returned an invalid event stream"){let d=/^(?:AWS_EVENTSTREAM|KIRO_STREAM|KIRO_VERIFIED)_[A-Z0-9_]+$/.test(String(b||""))?String(b):"KIRO_STREAM_PROTOCOL_ERROR",e=a.parseError({status:j.gx.BAD_GATEWAY,headers:{}},JSON.stringify({code:d,message:c}));return{error:{message:e.message,type:"kiro_stream_error",code:e.providerErrorCode||d,status:e.status},failureMetadata:{failureClass:"KIRO_STREAM_PROTOCOL_ERROR"===d?"upstream_protocol":/(?:CRC_MISMATCH|INVALID_|TRUNCATED|TOO_LARGE)/.test(d)?"protocol_corruption":"upstream_protocol",providerErrorCode:e.providerErrorCode,upstreamRequestId:e.upstreamRequestId,resetsAtMs:e.resetsAtMs,authLifecycle:{initialStatus:e.status,refreshAttempted:!1,refreshOutcome:"not_attempted",retryStatus:null}}}}function K(a,b){return new Response(`data: ${JSON.stringify(b)}
2
2
 
3
3
  data: [DONE]
4
4
 
5
- `,{status:a?.status||200,statusText:a?.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}class H extends d.Hv{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)()},d=a?.providerSpecificData?.authMethod,e=a?.apiKey||a?.accessToken;return e&&(c.Authorization=`Bearer ${e}`,"api_key"===d&&(c.tokentype="API_KEY"),"external_idp"===d&&(c.TokenType="EXTERNAL_IDP")),c}getOrderedBaseUrls(a){let b=this.getBaseUrls();if(!["api_key","external_idp","idc"].includes(a?.providerSpecificData?.authMethod))return b;let c=a?.providerSpecificData?.region||"us-east-1",d=/^[a-z]{2}-[a-z]+-\d{1,2}$/.test(c),e=b.filter(a=>a.includes("amazonaws.com")).map(a=>d&&"us-east-1"!==c&&a.includes("amazonaws.com")?a.replace(/([a-z]+)\.[a-z0-9-]+\.amazonaws\.com/,`$1.${c}.amazonaws.com`):a),f=b.filter(a=>!a.includes("amazonaws.com"));return e.length>0?[...e,...f]:b}buildUrl(a,b,c=0,d=null){let e=this.getOrderedBaseUrls(d);return e[c]||e[0]||this.config.baseUrl}transformRequest(a,b,c,d){return b}async prefetchImages(a,b){let c=a?.conversationState;for(let a of[c?.currentMessage,...c?.history||[]]){let c=a?.userInputMessage;if(!Array.isArray(c?.images))continue;let d=await Promise.all(c.images.map(async a=>{let d=a?.source?.url;if(!d)return a;let e=await (0,k.n)(d,{signal:b,timeoutMs:15e3});if(!e?.url){let a=`[Image unavailable: ${d}]`;return c.content=c.content?`${c.content}
5
+ `,{status:a?.status||200,statusText:a?.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}class L extends d.Hv{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)()},d=a?.providerSpecificData?.authMethod,e=a?.apiKey||a?.accessToken;return e&&(c.Authorization=`Bearer ${e}`,"api_key"===d&&(c.tokentype="API_KEY"),"external_idp"===d&&(c.TokenType="EXTERNAL_IDP")),c}getOrderedBaseUrls(a){let b=this.getBaseUrls();if(!["api_key","external_idp","idc"].includes(a?.providerSpecificData?.authMethod))return b;let c=a?.providerSpecificData?.region||"us-east-1",d=/^[a-z]{2}-[a-z]+-\d{1,2}$/.test(c),e=b.filter(a=>a.includes("amazonaws.com")).map(a=>d&&"us-east-1"!==c&&a.includes("amazonaws.com")?a.replace(/([a-z]+)\.[a-z0-9-]+\.amazonaws\.com/,`$1.${c}.amazonaws.com`):a),f=b.filter(a=>!a.includes("amazonaws.com"));return e.length>0?[...e,...f]:b}buildUrl(a,b,c=0,d=null){let e=this.getOrderedBaseUrls(d);return e[c]||e[0]||this.config.baseUrl}transformRequest(a,b,c,d){return b}async prefetchImages(a,b){let c=a?.conversationState;for(let a of[c?.currentMessage,...c?.history||[]]){let c=a?.userInputMessage;if(!Array.isArray(c?.images))continue;let d=await Promise.all(c.images.map(async a=>{let d=a?.source?.url;if(!d)return a;let e=await (0,k.n)(d,{signal:b,timeoutMs:15e3});if(!e?.url){let a=`[Image unavailable: ${d}]`;return c.content=c.content?`${c.content}
6
6
 
7
- ${a}`:a,null}let f=e.url.match(/^data:([^;]+);base64,(.+)$/);if(!f)return null;let g=f[1].split("/")[1]||a.format||"jpeg";return{format:"jpg"===g?"jpeg":g,source:{bytes:f[2]}}}));c.images=d.filter(Boolean),0===c.images.length&&delete c.images}}parseError(a,b){let c=Number.isFinite(a?.status)?a.status:500,d=String(z(a,"content-type")||"").toLowerCase(),e="string"==typeof b?b.trim():"",f=null;try{f=e?JSON.parse(e):null}catch{}let g=f?.error&&"object"==typeof f.error?f.error:{},h=C(f).map(a=>({code:a,normalized:String(a||"").replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")})),i=a=>h.find(({normalized:b})=>a(b)),k=i(a=>"invalid_model"===a||a.endsWith("_invalid_model")||/model_(?:not_(?:found|supported)|unsupported)/.test(a)),l=["policy_violation","content_policy","validation","invalid_request","invalid_argument","bad_request","malformed_request"],m=i(a=>l.some(b=>a.includes(b))),n=["account_suspended","user_suspended","profile_suspended","account_banned","user_banned","account_disabled","user_disabled","account_restricted","user_restricted","profile_disabled","profile_restricted"],o=i(a=>n.some(b=>a.includes(b))),p=["entitlement","subscription","payment_required","billing","quota","not_subscribed","not_entitled","resource_exhausted"],q=i(a=>p.some(b=>a.includes(b))),r=(k||m||o||q||h[0])?.code||null,s=c===j.gx.FORBIDDEN&&(d.includes("text/html")||/^\s*(?:<!doctype\s+html|<html|<head|<body)/i.test(e)),t=x(g?.message,g?.Message,g?.errorMessage,f?.message,f?.Message,f?.errorMessage,A(f,["message","errorMessage","error_description"]),"string"==typeof f?.error?f.error:""),u=f||!e||/^\s*[<{[]/.test(e)?"":e,v=s?"Kiro upstream returned an HTML 403 response":function(a,b=1e3){return String(a||"").replace(/\bBearer\s+[^\s"',;]+/gi,"Bearer [REDACTED]").replace(/\baor[A-Za-z0-9._~+/=-]{8,}/g,"[REDACTED_REFRESH_TOKEN]").replace(/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/g,"[REDACTED_TOKEN]").replace(/\b((?:user|account|profile)\s*id)\s*\([^\r\n)]{1,200}\)/gi,"$1 ([REDACTED])").replace(/\b((?:user|account|profile)\s*id)(\s*[:=]\s*["']?)[A-Za-z0-9@._:/+-]{3,200}/gi,"$1$2[REDACTED]").replace(/((?:access|refresh|id)[_-]?token|authorization|client[_-]?secret|cookie)(\s*["']?\s*[:=]\s*["']?)[^\s"',;}]+/gi,"$1$2[REDACTED]").replace(/[\u0000-\u001f\u007f]+/g," ").replace(/\s+/g," ").trim().slice(0,b)}(t||u)||(r?`Kiro upstream error (${r})`:`Kiro upstream error: ${c}`),w=v.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),y=w.replace(/[^a-z0-9]+/g,"_"),B=/\b(?:request|prompt|input|content|message|response)\b.{0,100}\b(?:content\s+policy|policy\s+violation|restricted|blocked|rejected)\b/.test(w)||/\b(?:content\s+policy|policy\s+violation)\b.{0,100}\b(?:request|prompt|input|content|message|response)\b/.test(w),F=!B&&(/\b(?:account|user|profile)\b.{0,80}\b(?:suspended|banned|disabled|restricted)\b/.test(w)||/\b(?:suspended|banned|disabled|restricted)\b.{0,80}\b(?:account|user|profile)\b/.test(w)),G=!!o||(c===j.gx.UNAUTHORIZED||c===j.gx.FORBIDDEN)&&F,H=[j.gx.PAYMENT_REQUIRED,j.gx.FORBIDDEN,j.gx.RATE_LIMITED].includes(c)&&p.some(a=>y.includes(a)),I=!!q||H,J="unknown";s?J="shared_egress_waf":k?J="invalid_model":m||B?J="invalid_request":G?J="policy_suspended":I?J="entitlement_or_quota":c===j.gx.RATE_LIMITED?J="rate_limited":c===j.gx.UNAUTHORIZED?J="authentication":c===j.gx.REQUEST_TIMEOUT||c>=500?J="upstream_transient":c===j.gx.FORBIDDEN?J="permission_denied":(c===j.gx.BAD_REQUEST||413===c||422===c)&&(J="invalid_request");let K=function(a,b,c){let d=D(A(b,["resetAt","resetsAt","reset_at","resets_at","resetTime","resetTimestamp","quotaResetTimeStamp","quotaResetTimestamp"]),c);if(d)return d;let e=D(z(a,"x-ratelimit-reset")||z(a,"x-rate-limit-reset"),c);if(e)return e;let f=E(A(b,["retryAfter","retry_after","retryAfterSeconds","retry_after_seconds","retryDelay","quotaResetDelay"]),c);if(f)return f;let g=z(a,"retry-after");return E(g,c)||D(g,c)}(a,f,Date.now());return{status:c,message:v,failureClass:J,providerErrorCode:r,upstreamRequestId:function(...a){for(let b of a){let a=function(a){if("string"!=typeof a&&"number"!=typeof a)return null;let b=String(a).trim();return!/^[A-Za-z0-9][A-Za-z0-9._:/#-]{0,199}$/.test(b)||/^aor[A-Za-z0-9._~+/=-]{8,}$/.test(b)||/^eyJ[A-Za-z0-9_-]{8,}\./.test(b)?null:b.slice(0,200)}(b);if(a)return a}return null}(z(a,"x-amzn-requestid"),z(a,"x-amz-request-id"),g?.requestId,g?.requestID,g?.request_id,f?.requestId,f?.requestID,f?.request_id,f?.$metadata?.requestId,A(f,["requestId","requestID","request_id"])),resetsAtMs:K}}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null,integrityAttempt:k=1,streamControl:l=null,onIntegrityRetry:m=null}){await this.prefetchImages(b,e);let n=this.transformRequest(a,b,c,d),o={...j.cI,...this.config.retry},p=this.getOrderedBaseUrls(d),q=String(a||"unknown").split("-").slice(0,2).join("-")||"unknown",r=g?.proxyPoolId||"direct",s=`kiro:${q}:${r}`,u=null;for(let b=0;b<p.length;b++){let q=p[b],r=0;for(;;){let v,w=this.buildHeaders(d,c);try{v=await (0,h.proxyAwareFetch)(q,{method:"POST",headers:w,body:JSON.stringify(n),signal:e},g)}catch(a){if(e?.aborted||a?.name==="AbortError")throw a;if(u=a,b+1<p.length){f?.debug?.("RETRY",`Kiro network error on ${q}; trying fallback endpoint`);break}throw a}let x=v.status===j.gx.RATE_LIMITED&&!1===this.config.retrySameCredential429?null:o[v.status],{attempts:y,delayMs:z}=(0,j.DR)(x);if(!v.ok&&y>0&&r<y){r++,f?.debug?.("RETRY",`${v.status} retry ${r}/${y} after ${z/1e3}s`),await (0,i.aI)(v),await new Promise(a=>setTimeout(a,z));continue}if(!v.ok)return{response:v,url:q,headers:w,transformedBody:n};let A="live"===function(a,{now:b=Date.now()}={}){let c=t.get(a);return c?b<c.verifiedUntil||c.probeInFlight?"verified":(c.probeInFlight=!0,"probe"):"live"}(s)?"live":"verified",B=this.transformEventStreamToSSE(v,a,n,{deliveryMode:A,integrityKey:s,onValidatedFrame:()=>l?.reportValidatedEvent?.()});return{response:"verified"===A?function({transformedResponse:a,integrityAttempt:b,onIntegrityRetry:c,signal:d}){let e=new TextEncoder,f=a,g=!1,h=!1,i=async(a,b)=>{if(!a?.response)return!1;f=a.response;let c=f.body?.getReader?.();if(c)for(;;){let{done:a,value:d}=await c.read();if(a)break;b.enqueue(d)}return b.close(),!0};return new Response(new ReadableStream({async pull(f){if(g)return;g=!0;let k=null;try{var l;k=await a.text();let g=function(a){for(let b of String(a||"").split(/\r?\n/)){let a;if(!b.startsWith("data: ")||"data: [DONE]"===b)continue;try{a=JSON.parse(b.slice(6))}catch{continue}let c=a?.failureMetadata?.failureClass;if(a?.error?.type==="kiro_stream_error"&&("upstream_protocol"===c||"protocol_corruption"===c))return{code:a?.error?.code||"KIRO_STREAM_PROTOCOL_ERROR",failureClass:c}}return null}(k);if(g&&(l=g.code,/^(?:AWS_EVENTSTREAM_|KIRO_STREAM_(?:MISSING_TERMINAL|TRUNCATED|INVALID_TOOL_CALL|PROTOCOL_ERROR|TRANSPORT_READ_FAILED))/.test(String(l||"")))&&1===b&&"function"==typeof c&&!d?.aborted){h=!0;let a=await c({...g,integrityAttempt:b});if(await i(a,f))return}f.enqueue(e.encode(k)),f.close()}catch(g){if(null!==k){f.enqueue(e.encode(k)),f.close();return}if(1===b&&!h&&"function"==typeof c&&!d?.aborted)try{h=!0;let a=await c({code:"KIRO_STREAM_TRANSPORT_READ_FAILED",failureClass:"protocol_corruption",integrityAttempt:b});if(await i(a,f))return}catch{}let a={error:{message:"Kiro upstream stream ended during validation",type:"kiro_stream_error",code:"KIRO_STREAM_TRANSPORT_READ_FAILED",status:j.gx.BAD_GATEWAY},failureMetadata:{failureClass:"protocol_corruption",providerErrorCode:"KIRO_STREAM_TRANSPORT_READ_FAILED"}};f.enqueue(e.encode(`data: ${JSON.stringify(a)}
7
+ ${a}`:a,null}let f=e.url.match(/^data:([^;]+);base64,(.+)$/);if(!f)return null;let g=f[1].split("/")[1]||a.format||"jpeg";return{format:"jpg"===g?"jpeg":g,source:{bytes:f[2]}}}));c.images=d.filter(Boolean),0===c.images.length&&delete c.images}}parseError(a,b){let c=Number.isFinite(a?.status)?a.status:500,d=String(D(a,"content-type")||"").toLowerCase(),e="string"==typeof b?b.trim():"",f=null;try{f=e?JSON.parse(e):null}catch{}let g=f?.error&&"object"==typeof f.error?f.error:{},h=G(f).map(a=>({code:a,normalized:String(a||"").replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")})),i=a=>h.find(({normalized:b})=>a(b)),k=i(a=>"invalid_model"===a||a.endsWith("_invalid_model")||/model_(?:not_(?:found|supported)|unsupported)/.test(a)),l=["policy_violation","content_policy","validation","invalid_request","invalid_argument","bad_request","malformed_request"],m=i(a=>l.some(b=>a.includes(b))),n=["account_suspended","user_suspended","profile_suspended","account_banned","user_banned","account_disabled","user_disabled","account_restricted","user_restricted","profile_disabled","profile_restricted"],o=i(a=>n.some(b=>a.includes(b))),p=["entitlement","subscription","payment_required","billing","quota","not_subscribed","not_entitled","resource_exhausted"],q=i(a=>p.some(b=>a.includes(b))),r=(k||m||o||q||h[0])?.code||null,s=c===j.gx.FORBIDDEN&&(d.includes("text/html")||/^\s*(?:<!doctype\s+html|<html|<head|<body)/i.test(e)),t=B(g?.message,g?.Message,g?.errorMessage,f?.message,f?.Message,f?.errorMessage,E(f,["message","errorMessage","error_description"]),"string"==typeof f?.error?f.error:""),u=f||!e||/^\s*[<{[]/.test(e)?"":e,v=s?"Kiro upstream returned an HTML 403 response":function(a,b=1e3){return String(a||"").replace(/\bBearer\s+[^\s"',;]+/gi,"Bearer [REDACTED]").replace(/\baor[A-Za-z0-9._~+/=-]{8,}/g,"[REDACTED_REFRESH_TOKEN]").replace(/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/g,"[REDACTED_TOKEN]").replace(/\b((?:user|account|profile)\s*id)\s*\([^\r\n)]{1,200}\)/gi,"$1 ([REDACTED])").replace(/\b((?:user|account|profile)\s*id)(\s*[:=]\s*["']?)[A-Za-z0-9@._:/+-]{3,200}/gi,"$1$2[REDACTED]").replace(/((?:access|refresh|id)[_-]?token|authorization|client[_-]?secret|cookie)(\s*["']?\s*[:=]\s*["']?)[^\s"',;}]+/gi,"$1$2[REDACTED]").replace(/[\u0000-\u001f\u007f]+/g," ").replace(/\s+/g," ").trim().slice(0,b)}(t||u)||(r?`Kiro upstream error (${r})`:`Kiro upstream error: ${c}`),w=v.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),x=w.replace(/[^a-z0-9]+/g,"_"),y=/\b(?:request|prompt|input|content|message|response)\b.{0,100}\b(?:content\s+policy|policy\s+violation|restricted|blocked|rejected)\b/.test(w)||/\b(?:content\s+policy|policy\s+violation)\b.{0,100}\b(?:request|prompt|input|content|message|response)\b/.test(w),z=!y&&(/\b(?:account|user|profile)\b.{0,80}\b(?:suspended|banned|disabled|restricted)\b/.test(w)||/\b(?:suspended|banned|disabled|restricted)\b.{0,80}\b(?:account|user|profile)\b/.test(w)),A=!!o||(c===j.gx.UNAUTHORIZED||c===j.gx.FORBIDDEN)&&z,C=[j.gx.PAYMENT_REQUIRED,j.gx.FORBIDDEN,j.gx.RATE_LIMITED].includes(c)&&p.some(a=>x.includes(a)),F=!!q||C,J="unknown";s?J="shared_egress_waf":k?J="invalid_model":m||y?J="invalid_request":A?J="policy_suspended":F?J="entitlement_or_quota":c===j.gx.RATE_LIMITED?J="rate_limited":c===j.gx.UNAUTHORIZED?J="authentication":c===j.gx.REQUEST_TIMEOUT||c>=500?J="upstream_transient":c===j.gx.FORBIDDEN?J="permission_denied":(c===j.gx.BAD_REQUEST||413===c||422===c)&&(J="invalid_request");let K=function(a,b,c){let d=H(E(b,["resetAt","resetsAt","reset_at","resets_at","resetTime","resetTimestamp","quotaResetTimeStamp","quotaResetTimestamp"]),c);if(d)return d;let e=H(D(a,"x-ratelimit-reset")||D(a,"x-rate-limit-reset"),c);if(e)return e;let f=I(E(b,["retryAfter","retry_after","retryAfterSeconds","retry_after_seconds","retryDelay","quotaResetDelay"]),c);if(f)return f;let g=D(a,"retry-after");return I(g,c)||H(g,c)}(a,f,Date.now());return{status:c,message:v,failureClass:J,providerErrorCode:r,upstreamRequestId:function(...a){for(let b of a){let a=function(a){if("string"!=typeof a&&"number"!=typeof a)return null;let b=String(a).trim();return!/^[A-Za-z0-9][A-Za-z0-9._:/#-]{0,199}$/.test(b)||/^aor[A-Za-z0-9._~+/=-]{8,}$/.test(b)||/^eyJ[A-Za-z0-9_-]{8,}\./.test(b)?null:b.slice(0,200)}(b);if(a)return a}return null}(D(a,"x-amzn-requestid"),D(a,"x-amz-request-id"),g?.requestId,g?.requestID,g?.request_id,f?.requestId,f?.requestID,f?.request_id,f?.$metadata?.requestId,E(f,["requestId","requestID","request_id"])),resetsAtMs:K}}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null,integrityAttempt:k=1,streamControl:l=null,onIntegrityRetry:m=null}){await this.prefetchImages(b,e);let n=this.transformRequest(a,b,c,d),o={...j.cI,...this.config.retry},p=this.getOrderedBaseUrls(d),q=String(a||"unknown").split("-").slice(0,2).join("-")||"unknown",r=g?.proxyPoolId||"direct",s=`kiro:${q}:${r}`,u=null;for(let b=0;b<p.length;b++){let q=p[b],r=0;for(;;){let v,w=this.buildHeaders(d,c);try{v=await (0,h.proxyAwareFetch)(q,{method:"POST",headers:w,body:JSON.stringify(n),signal:e},g)}catch(a){if(e?.aborted||a?.name==="AbortError")throw a;if(u=a,b+1<p.length){f?.debug?.("RETRY",`Kiro network error on ${q}; trying fallback endpoint`);break}throw a}let x=v.status===j.gx.RATE_LIMITED&&!1===this.config.retrySameCredential429?null:o[v.status],{attempts:y,delayMs:z}=(0,j.DR)(x);if(!v.ok&&y>0&&r<y){r++,f?.debug?.("RETRY",`${v.status} retry ${r}/${y} after ${z/1e3}s`),await (0,i.aI)(v),await new Promise(a=>setTimeout(a,z));continue}if(!v.ok)return{response:v,url:q,headers:w,transformedBody:n};let A="live"===function(a,{now:b=Date.now()}={}){let c=t.get(a);return c?b<c.verifiedUntil||c.probeInFlight?"verified":(c.probeInFlight=!0,"probe"):"live"}(s)?"live":"verified",B=this.transformEventStreamToSSE(v,a,n,{deliveryMode:A,integrityKey:s,onValidatedFrame:()=>l?.reportValidatedEvent?.()});return{response:"verified"===A?function({transformedResponse:a,integrityAttempt:b,onIntegrityRetry:c,signal:d}){let e=new TextEncoder,f=a,g=!1,h=!1,i=async(a,b)=>{if(!a?.response)return!1;f=a.response;let c=f.body?.getReader?.();if(c)for(;;){let{done:a,value:d}=await c.read();if(a)break;b.enqueue(d)}return b.close(),!0};return new Response(new ReadableStream({async pull(f){if(g)return;g=!0;let k=null;try{var l;k=await a.text();let g=function(a){for(let b of String(a||"").split(/\r?\n/)){let a;if(!b.startsWith("data: ")||"data: [DONE]"===b)continue;try{a=JSON.parse(b.slice(6))}catch{continue}let c=a?.failureMetadata?.failureClass;if(a?.error?.type==="kiro_stream_error"&&("upstream_protocol"===c||"protocol_corruption"===c))return{code:a?.error?.code||"KIRO_STREAM_PROTOCOL_ERROR",failureClass:c}}return null}(k);if(g&&(l=g.code,/^(?:AWS_EVENTSTREAM_|KIRO_STREAM_(?:MISSING_TERMINAL|TRUNCATED|INVALID_TOOL_CALL|PROTOCOL_ERROR|TRANSPORT_READ_FAILED))/.test(String(l||"")))&&1===b&&"function"==typeof c&&!d?.aborted){h=!0;let a=await c({...g,integrityAttempt:b});if(await i(a,f))return}f.enqueue(e.encode(k)),f.close()}catch(g){if(null!==k){f.enqueue(e.encode(k)),f.close();return}if(1===b&&!h&&"function"==typeof c&&!d?.aborted)try{h=!0;let a=await c({code:"KIRO_STREAM_TRANSPORT_READ_FAILED",failureClass:"protocol_corruption",integrityAttempt:b});if(await i(a,f))return}catch{}let a={error:{message:"Kiro upstream stream ended during validation",type:"kiro_stream_error",code:"KIRO_STREAM_TRANSPORT_READ_FAILED",status:j.gx.BAD_GATEWAY},failureMetadata:{failureClass:"protocol_corruption",providerErrorCode:"KIRO_STREAM_TRANSPORT_READ_FAILED"}};f.enqueue(e.encode(`data: ${JSON.stringify(a)}
8
8
 
9
9
  data: [DONE]
10
10
 
11
- `)),f.close()}},async cancel(a){await f.body?.cancel?.(a).catch?.(()=>{})}},{highWaterMark:0}),{status:a.status,statusText:a.statusText,headers:a.headers})}({transformedResponse:B,integrityAttempt:k,onIntegrityRetry:m,signal:e}):B,url:q,headers:w,transformedBody:n,streamDelivery:{mode:A,progress:l,heartbeatIntervalMs:j.WL}}}}throw u||Error("All Kiro endpoints failed")}transformEventStreamToSSE(a,b,c=null,d={}){let e=this,f="verified"===d.deliveryMode,g=d.integrityKey||`kiro:${b}:direct`,h=String(z(a,"content-type")||"").toLowerCase().split(";",1)[0].trim();if(!(!h||"application/vnd.amazon.eventstream"===h||"application/octet-stream"===h||"application/json"===h))return u(g),a.body?.cancel?.().catch(()=>{}),G(a,F(e));let i=function({maxMessageBytes:a=0x1000000}={}){let b=new Uint8Array(0),c=0,d=!1,e=!1,f="",g=!1;return Object.freeze({push(h){if(g)throw o("AWS_EVENTSTREAM_DECODER_FINISHED");if(!(h instanceof Uint8Array))throw TypeError("EventStream chunk must be Uint8Array");b=function(a,b){if(0===a.length)return new Uint8Array(b);let c=new Uint8Array(a.length+b.length);return c.set(a),c.set(b,a.length),c}(b,h);let i=[];for(;b.length>=12;){let g=new DataView(b.buffer,b.byteOffset,b.byteLength),h=g.getUint32(0,!1),j=g.getUint32(4,!1),k=g.getUint32(8,!1);if(n(b.subarray(0,8))!==k)throw o("AWS_EVENTSTREAM_PRELUDE_CRC_MISMATCH");if(h<16)throw o("AWS_EVENTSTREAM_INVALID_LENGTH",{messageBytes:h});if(h>a)throw o("AWS_EVENTSTREAM_MESSAGE_TOO_LARGE",{messageBytes:h});if(j>h-16)throw o("AWS_EVENTSTREAM_INVALID_HEADERS",{headersBytes:j});if(b.length<h)break;let m=function(a,b){let c=new DataView(a.buffer,a.byteOffset,a.byteLength).getUint32(a.length-4,!1);if(n(a.subarray(0,a.length-4))!==c)throw o("AWS_EVENTSTREAM_MESSAGE_CRC_MISMATCH",{messageBytes:a.length});let d=function(a,b){let c={},d=12+b,e=12;for(;e<d;){let b=a[e++];if(0===b||e+b+1>d)throw o("AWS_EVENTSTREAM_INVALID_HEADERS");let f=new TextDecoder().decode(a.slice(e,e+b));e+=b;let g=a[e++],h=function(a,b,c,d){let e=new DataView(a.buffer,a.byteOffset,a.byteLength),f=a=>{if(b+a>d)throw o("AWS_EVENTSTREAM_INVALID_HEADERS")};switch(c){case 0:return{value:!0,offset:b};case 1:return{value:!1,offset:b};case 2:return f(1),{value:e.getInt8(b),offset:b+1};case 3:return f(2),{value:e.getInt16(b,!1),offset:b+2};case 4:return f(4),{value:e.getInt32(b,!1),offset:b+4};case 5:return f(8),{value:e.getBigInt64(b,!1),offset:b+8};case 6:case 7:{f(2);let d=e.getUint16(b,!1);b+=2,f(d);let g=a.slice(b,b+d);return{value:7===c?new TextDecoder().decode(g):g,offset:b+d}}case 8:return f(8),{value:Number(e.getBigInt64(b,!1)),offset:b+8};case 9:{f(16);let c=[...a.slice(b,b+16)].map(a=>a.toString(16).padStart(2,"0")).join("");return{value:`${c.slice(0,8)}-${c.slice(8,12)}-${c.slice(12,16)}-${c.slice(16,20)}-${c.slice(20)}`,offset:b+16}}default:throw o("AWS_EVENTSTREAM_UNSUPPORTED_HEADER_TYPE",{headerType:c})}}(a,e,g,d);c[f]=h.value,e=h.offset}if(e!==d)throw o("AWS_EVENTSTREAM_INVALID_HEADERS");return c}(a,b),e=String(d[":event-type"]||""),f=String(d[":message-type"]||""),g="exception"===f||"error"===f||!!d[":exception-type"]||!!d[":error-code"]||/exception$/i.test(e),h=g||"messageStopEvent"===e;return Object.freeze({headers:Object.freeze(d),payload:function(a,b){let c=a.slice(12+b,a.length-4);if(0===c.length)return null;let d=new TextDecoder().decode(c);if(!d.trim())return null;try{return JSON.parse(d)}catch{return{raw:d}}}(a,b),isException:g,isTerminal:h,messageBytes:a.length})}(b.slice(0,h),j);b=b.slice(h),c+=1,m.isTerminal&&(d=!0);let p=String(m.headers[":event-type"]||"");l.has(p)&&(e=!0),f=p,i.push(m)}return i},finish(){if(g)return;if(g=!0,b.length>0||0===c)throw o("KIRO_STREAM_TRUNCATED",{remainingBytes:b.length});let a=e&&"meteringEvent"===f;if(!d&&!a)throw o("KIRO_STREAM_MISSING_TERMINAL",{eventCount:c})}})}(),k=f?function({memoryLimitBytes:a=2097152,maxBytes:b=0x4000000,tempDir:c=(0,q.tmpdir)()}={}){let d=[],e=0,f=null,g=null,h=!1;async function i(){if(!f){for(let a of(g=(0,r.join)(c,`.zevai-kiro-${process.pid}-${(0,s.randomUUID)()}.spool`),f=await (0,p.open)(g,"wx",384),d))await f.write(a);d=[]}}return{get size(){return e},get storage(){return f?"file":"memory"},get filePath(){return g},async append(c){if(h)throw Error("Kiro verified spool is closed");let g=c instanceof Uint8Array?Buffer.from(c):Buffer.from(String(c)),j=e+g.length;if(j>b){let a;throw(a=Error("Kiro verified stream exceeded spool limit")).code="KIRO_VERIFIED_SPOOL_LIMIT",a.totalBytes=j,a}!f&&j>a&&await i(),f?await f.write(g):d.push(g),e=j},async readAll(){if(h)throw Error("Kiro verified spool is closed");return f?(await f.sync(),(0,p.readFile)(g)):Buffer.concat(d,e)},async cleanup(){!h&&(h=!0,d=[],f&&await f.close(),f=null,g&&await (0,p.rm)(g,{force:!0}))}}}(d.spoolOptions):null,m=new TextEncoder,t=0,B=`chatcmpl-${Date.now()}`,D=Math.floor(Date.now()/1e3),E=c?._kiroExposeReasoning===!0,H={endDetected:!1,finishEmitted:!1,hasToolCalls:!1,hasTextContent:!1,hasReasoningContent:!1,hasCodeContent:!1,reasoningChunkCount:0,toolCallIndex:0,seenToolIds:new Map,toolFrames:new Map,validFrameCount:0};async function I(a,b){if(H.streamFailed)return!1;let c="string"==typeof b?m.encode(b):b;if(!f)return a.enqueue(c),!0;try{return await k.append(c),!0}catch(c){H.streamFailed=!0,H.protocolFailed=!0,H.finishEmitted=!0;let b=F(e,c?.code||"KIRO_VERIFIED_SPOOL_FAILED","Kiro verified stream could not be retained safely");return await J(a,b),!1}}async function J(a,b){u(g),k&&await k.cleanup(),a.enqueue(m.encode(`data: ${JSON.stringify(b)}
11
+ `)),f.close()}},async cancel(a){await f.body?.cancel?.(a).catch?.(()=>{})}},{highWaterMark:0}),{status:a.status,statusText:a.statusText,headers:a.headers})}({transformedResponse:B,integrityAttempt:k,onIntegrityRetry:m,signal:e}):B,url:q,headers:w,transformedBody:n,streamDelivery:{mode:A,progress:l,heartbeatIntervalMs:j.WL}}}}throw u||Error("All Kiro endpoints failed")}transformEventStreamToSSE(a,b,c=null,d={}){let e=this,f="verified"===d.deliveryMode,g=d.integrityKey||`kiro:${b}:direct`,h=String(D(a,"content-type")||"").toLowerCase().split(";",1)[0].trim();if(!(!h||"application/vnd.amazon.eventstream"===h||"application/octet-stream"===h||"application/json"===h))return u(g),a.body?.cancel?.().catch(()=>{}),K(a,J(e));let i=function({maxMessageBytes:a=0x1000000}={}){let b=new Uint8Array(0),c=0,d=!1,e=!1,f="",g=!1;return Object.freeze({push(h){if(g)throw o("AWS_EVENTSTREAM_DECODER_FINISHED");if(!(h instanceof Uint8Array))throw TypeError("EventStream chunk must be Uint8Array");b=function(a,b){if(0===a.length)return new Uint8Array(b);let c=new Uint8Array(a.length+b.length);return c.set(a),c.set(b,a.length),c}(b,h);let i=[];for(;b.length>=12;){let g=new DataView(b.buffer,b.byteOffset,b.byteLength),h=g.getUint32(0,!1),j=g.getUint32(4,!1),k=g.getUint32(8,!1);if(n(b.subarray(0,8))!==k)throw o("AWS_EVENTSTREAM_PRELUDE_CRC_MISMATCH");if(h<16)throw o("AWS_EVENTSTREAM_INVALID_LENGTH",{messageBytes:h});if(h>a)throw o("AWS_EVENTSTREAM_MESSAGE_TOO_LARGE",{messageBytes:h});if(j>h-16)throw o("AWS_EVENTSTREAM_INVALID_HEADERS",{headersBytes:j});if(b.length<h)break;let m=function(a,b){let c=new DataView(a.buffer,a.byteOffset,a.byteLength).getUint32(a.length-4,!1);if(n(a.subarray(0,a.length-4))!==c)throw o("AWS_EVENTSTREAM_MESSAGE_CRC_MISMATCH",{messageBytes:a.length});let d=function(a,b){let c={},d=12+b,e=12;for(;e<d;){let b=a[e++];if(0===b||e+b+1>d)throw o("AWS_EVENTSTREAM_INVALID_HEADERS");let f=new TextDecoder().decode(a.slice(e,e+b));e+=b;let g=a[e++],h=function(a,b,c,d){let e=new DataView(a.buffer,a.byteOffset,a.byteLength),f=a=>{if(b+a>d)throw o("AWS_EVENTSTREAM_INVALID_HEADERS")};switch(c){case 0:return{value:!0,offset:b};case 1:return{value:!1,offset:b};case 2:return f(1),{value:e.getInt8(b),offset:b+1};case 3:return f(2),{value:e.getInt16(b,!1),offset:b+2};case 4:return f(4),{value:e.getInt32(b,!1),offset:b+4};case 5:return f(8),{value:e.getBigInt64(b,!1),offset:b+8};case 6:case 7:{f(2);let d=e.getUint16(b,!1);b+=2,f(d);let g=a.slice(b,b+d);return{value:7===c?new TextDecoder().decode(g):g,offset:b+d}}case 8:return f(8),{value:Number(e.getBigInt64(b,!1)),offset:b+8};case 9:{f(16);let c=[...a.slice(b,b+16)].map(a=>a.toString(16).padStart(2,"0")).join("");return{value:`${c.slice(0,8)}-${c.slice(8,12)}-${c.slice(12,16)}-${c.slice(16,20)}-${c.slice(20)}`,offset:b+16}}default:throw o("AWS_EVENTSTREAM_UNSUPPORTED_HEADER_TYPE",{headerType:c})}}(a,e,g,d);c[f]=h.value,e=h.offset}if(e!==d)throw o("AWS_EVENTSTREAM_INVALID_HEADERS");return c}(a,b),e=String(d[":event-type"]||""),f=String(d[":message-type"]||""),g="exception"===f||"error"===f||!!d[":exception-type"]||!!d[":error-code"]||/exception$/i.test(e),h=g||"messageStopEvent"===e;return Object.freeze({headers:Object.freeze(d),payload:function(a,b){let c=a.slice(12+b,a.length-4);if(0===c.length)return null;let d=new TextDecoder().decode(c);if(!d.trim())return null;try{return JSON.parse(d)}catch{return{raw:d}}}(a,b),isException:g,isTerminal:h,messageBytes:a.length})}(b.slice(0,h),j);b=b.slice(h),c+=1,m.isTerminal&&(d=!0);let p=String(m.headers[":event-type"]||"");l.has(p)&&(e=!0),f=p,i.push(m)}return i},finish(){if(g)return;if(g=!0,b.length>0||0===c)throw o("KIRO_STREAM_TRUNCATED",{remainingBytes:b.length});let a=e&&"meteringEvent"===f;if(!d&&!a)throw o("KIRO_STREAM_MISSING_TERMINAL",{eventCount:c})}})}(),k=f?function({memoryLimitBytes:a=2097152,maxBytes:b=0x4000000,tempDir:c=(0,q.tmpdir)()}={}){let d=[],e=0,f=null,g=null,h=!1;async function i(){if(!f){for(let a of(g=(0,r.join)(c,`.zevai-kiro-${process.pid}-${(0,s.randomUUID)()}.spool`),f=await (0,p.open)(g,"wx",384),d))await f.write(a);d=[]}}return{get size(){return e},get storage(){return f?"file":"memory"},get filePath(){return g},async append(c){if(h)throw Error("Kiro verified spool is closed");let g=c instanceof Uint8Array?Buffer.from(c):Buffer.from(String(c)),j=e+g.length;if(j>b){let a;throw(a=Error("Kiro verified stream exceeded spool limit")).code="KIRO_VERIFIED_SPOOL_LIMIT",a.totalBytes=j,a}!f&&j>a&&await i(),f?await f.write(g):d.push(g),e=j},async readAll(){if(h)throw Error("Kiro verified spool is closed");return f?(await f.sync(),(0,p.readFile)(g)):Buffer.concat(d,e)},async cleanup(){!h&&(h=!0,d=[],f&&await f.close(),f=null,g&&await (0,p.rm)(g,{force:!0}))}}}(d.spoolOptions):null,m=new TextEncoder,t=0,x=`chatcmpl-${Date.now()}`,F=Math.floor(Date.now()/1e3),H=c?._kiroExposeReasoning===!0,I=c?._kiroThinkingEnabled===!0,L={endDetected:!1,finishEmitted:!1,hasToolCalls:!1,hasTextContent:!1,hasReasoningContent:!1,hasCodeContent:!1,reasoningChunkCount:0,toolCallIndex:0,seenToolIds:new Map,toolFrames:new Map,validFrameCount:0,taggedThinking:y()};async function M(a,b){if(L.streamFailed)return!1;let c="string"==typeof b?m.encode(b):b;if(!f)return a.enqueue(c),!0;try{return await k.append(c),!0}catch(c){L.streamFailed=!0,L.protocolFailed=!0,L.finishEmitted=!0;let b=J(e,c?.code||"KIRO_VERIFIED_SPOOL_FAILED","Kiro verified stream could not be retained safely");return await N(a,b),!1}}async function N(a,b){u(g),k&&await k.cleanup(),a.enqueue(m.encode(`data: ${JSON.stringify(b)}
12
12
 
13
- `))}async function K(a){H.streamFailed||(H.streamFailed=!0,H.protocolFailed=!0,H.finishEmitted=!0,await J(a,F(e,"KIRO_STREAM_INVALID_TOOL_CALL","Kiro upstream returned an incomplete tool call")))}let L=new TransformStream({async transform(a,c){let f;try{f=i.push(a)}catch(a){if(!H.streamFailed){H.streamFailed=!0,H.protocolFailed=!0,H.finishEmitted=!0;let b=F(e,a?.code);await J(c,b)}return}for(let a of f){H.validFrameCount++;try{d.onValidatedFrame?.()}catch{}a.payload?.raw!==void 0&&console.warn(`[Kiro] Failed to parse ${a.payload.raw.length}-byte event payload: SyntaxError`);let f=a.headers[":event-type"]||"",g=a.headers[":message-type"]||"",h=a.headers[":exception-type"]||"";if(("exception"===g||"error"===g||h||a.headers[":error-code"]||/exception$/i.test(f))&&!H.streamFailed){H.streamFailed=!0,H.finishEmitted=!0;let b=function(a,b){var c;let d,e,f=b?.payload&&"object"==typeof b.payload?b.payload:{message:x(b?.payload)},g=b?.headers?.[":error-code"],h=b?.headers?.[":error-message"],i=C(f),k=y(g,b?.headers?.[":exception-type"],b?.headers?.[":event-type"],...i)||"KIRO_STREAM_EXCEPTION",l={...f,reason:x(A(f,["reason"])),code:x(g,A(f,["code","errorCode"]),k),message:x(h,A(f,["message","errorMessage","error_description"]),"string"==typeof b?.payload?b.payload:"")},m=(c=`${k} ${g||""} ${h||""}`,d=x(l?.error?.message,l?.message,l?.Message,""),e=`${c||""} ${d}`.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),/invalid.?model|validation|invalid.?request|bad.?request|malformed/.test(e)?j.gx.BAD_REQUEST:/throttl|rate.?limit|quota|resource.?exhausted/.test(e)?j.gx.RATE_LIMITED:/unauth|invalid.?token|token.?expired/.test(e)?j.gx.UNAUTHORIZED:/forbidden|access.?denied|permission|suspend|banned|disabled|restricted/.test(e)?j.gx.FORBIDDEN:/timeout|timed.?out/.test(e)?j.gx.GATEWAY_TIMEOUT:/unavailable|internal|server.?error|service.?error/.test(e)?j.gx.SERVICE_UNAVAILABLE:j.gx.BAD_GATEWAY),n=JSON.stringify({...l,streamExceptionType:k}),o=a.parseError({status:m,headers:b?.headers||{}},n);return{error:{message:o.message,type:"kiro_stream_error",code:o.providerErrorCode||k,status:o.status},failureMetadata:{failureClass:o.failureClass,providerErrorCode:o.providerErrorCode,upstreamRequestId:o.upstreamRequestId,resetsAtMs:o.resetsAtMs,authLifecycle:{initialStatus:o.status,refreshAttempted:!1,refreshOutcome:"not_attempted",retryStatus:null}}}}(e,a);k&&await k.cleanup(),c.enqueue(m.encode(`data: ${JSON.stringify(b)}
13
+ `))}async function O(a){L.streamFailed||(L.streamFailed=!0,L.protocolFailed=!0,L.finishEmitted=!0,await N(a,J(e,"KIRO_STREAM_INVALID_TOOL_CALL","Kiro upstream returned an incomplete tool call")))}async function P(a,c,d){let e={id:x,object:"chat.completion.chunk",created:F,model:b,choices:[{index:0,delta:{tool_calls:[{index:c,function:{arguments:d}}]},finish_reason:null}]};t++,await M(a,`data: ${JSON.stringify(e)}
14
14
 
15
- `));continue}if(!H.streamFailed){if(H.totalContentLength||(H.totalContentLength=0),H.contextUsagePercentage||(H.contextUsagePercentage=0),"assistantResponseEvent"===f&&a.payload?.content){let d=a.payload.content;H.hasTextContent=!0,H.totalContentLength+=d.length;let e={id:B,object:"chat.completion.chunk",created:D,model:b,choices:[{index:0,delta:0===t?{role:"assistant",content:d}:{content:d},finish_reason:null}]};t++,await I(c,`data: ${JSON.stringify(e)}
15
+ `)}async function Q(a){for(let[b,c]of L.toolFrames)null!==c.inputKind&&("string"!==c.inputKind||""!==c.inputChunks.join(""))||c.emptyArgumentsEmitted||(await P(a,L.seenToolIds.get(b),"{}"),c.emptyArgumentsEmitted=!0)}async function R(a,c){if(!c||(L.hasReasoningContent=!0,L.totalContentLength=(L.totalContentLength||0)+c.length,!H))return;let d=0===L.reasoningChunkCount&&0===t?{role:"assistant",reasoning_content:c}:{reasoning_content:c};t++,L.reasoningChunkCount++,await M(a,`data: ${JSON.stringify({id:x,object:"chat.completion.chunk",created:F,model:b,choices:[{index:0,delta:d,finish_reason:null}]})}
16
16
 
17
- `)}if("reasoningContentEvent"===f){let d=a.payload?.reasoningContentEvent||a.payload||{},e="string"==typeof d?d:d.text||d.content||"";if(e){if(H.hasReasoningContent=!0,H.totalContentLength+=e.length,!E)continue;let a={id:B,object:"chat.completion.chunk",created:D,model:b,choices:[{index:0,delta:0===H.reasoningChunkCount&&0===t?{role:"assistant",reasoning_content:e}:{reasoning_content:e},finish_reason:null}]};t++,H.reasoningChunkCount++,await I(c,`data: ${JSON.stringify(a)}
17
+ `)}async function S(a,c){if(!c)return;L.hasTextContent=!0,L.totalContentLength=(L.totalContentLength||0)+c.length;let d={id:x,object:"chat.completion.chunk",created:F,model:b,choices:[{index:0,delta:0===t?{role:"assistant",content:c}:{content:c},finish_reason:null}]};t++,await M(a,`data: ${JSON.stringify(d)}
18
18
 
19
- `)}}if("codeEvent"===f&&a.payload?.content){H.hasCodeContent=!0;let d={id:B,object:"chat.completion.chunk",created:D,model:b,choices:[{index:0,delta:{content:a.payload.content},finish_reason:null}]};t++,await I(c,`data: ${JSON.stringify(d)}
19
+ `)}async function T(a,b){for(let c of I?A(L.taggedThinking,b):[{type:"text",text:b}])"reasoning"===c.type?await R(a,c.text):await S(a,c.text)}let U=new TransformStream({async transform(a,c){let f;try{f=i.push(a)}catch(a){if(!L.streamFailed){L.streamFailed=!0,L.protocolFailed=!0,L.finishEmitted=!0;let b=J(e,a?.code);await N(c,b)}return}for(let a of f){L.validFrameCount++;try{d.onValidatedFrame?.()}catch{}a.payload?.raw!==void 0&&console.warn(`[Kiro] Failed to parse ${a.payload.raw.length}-byte event payload: SyntaxError`);let f=a.headers[":event-type"]||"",g=a.headers[":message-type"]||"",h=a.headers[":exception-type"]||"";if(("exception"===g||"error"===g||h||a.headers[":error-code"]||/exception$/i.test(f))&&!L.streamFailed){L.streamFailed=!0,L.finishEmitted=!0;let b=function(a,b){var c;let d,e,f=b?.payload&&"object"==typeof b.payload?b.payload:{message:B(b?.payload)},g=b?.headers?.[":error-code"],h=b?.headers?.[":error-message"],i=G(f),k=C(g,b?.headers?.[":exception-type"],b?.headers?.[":event-type"],...i)||"KIRO_STREAM_EXCEPTION",l={...f,reason:B(E(f,["reason"])),code:B(g,E(f,["code","errorCode"]),k),message:B(h,E(f,["message","errorMessage","error_description"]),"string"==typeof b?.payload?b.payload:"")},m=(c=`${k} ${g||""} ${h||""}`,d=B(l?.error?.message,l?.message,l?.Message,""),e=`${c||""} ${d}`.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),/invalid.?model|validation|invalid.?request|bad.?request|malformed/.test(e)?j.gx.BAD_REQUEST:/throttl|rate.?limit|quota|resource.?exhausted/.test(e)?j.gx.RATE_LIMITED:/unauth|invalid.?token|token.?expired/.test(e)?j.gx.UNAUTHORIZED:/forbidden|access.?denied|permission|suspend|banned|disabled|restricted/.test(e)?j.gx.FORBIDDEN:/timeout|timed.?out/.test(e)?j.gx.GATEWAY_TIMEOUT:/unavailable|internal|server.?error|service.?error/.test(e)?j.gx.SERVICE_UNAVAILABLE:j.gx.BAD_GATEWAY),n=JSON.stringify({...l,streamExceptionType:k}),o=a.parseError({status:m,headers:b?.headers||{}},n);return{error:{message:o.message,type:"kiro_stream_error",code:o.providerErrorCode||k,status:o.status},failureMetadata:{failureClass:o.failureClass,providerErrorCode:o.providerErrorCode,upstreamRequestId:o.upstreamRequestId,resetsAtMs:o.resetsAtMs,authLifecycle:{initialStatus:o.status,refreshAttempted:!1,refreshOutcome:"not_attempted",retryStatus:null}}}}(e,a);k&&await k.cleanup(),c.enqueue(m.encode(`data: ${JSON.stringify(b)}
20
20
 
21
- `)}if("toolUseEvent"===f&&a.payload){let d=a.payload;for(let a of Array.isArray(d)?d:[d]){let d,e=a.toolUseId||`call_${Date.now()}`,f="string"==typeof a.name?a.name.trim():"",g=a.input;if(!f||null!=a.toolUseId&&("string"!=typeof a.toolUseId||!a.toolUseId.trim())){await K(c);break}let h=H.toolFrames.get(e);if(h){if(h.name!==f){await K(c);break}}else h={name:f,inputKind:null,inputChunks:[],inputObject:null},H.toolFrames.set(e,h);if(void 0!==g)if("string"!=typeof g||h.inputKind&&"string"!==h.inputKind)if(!g||"object"!=typeof g||Array.isArray(g)||h.inputKind){await K(c);break}else h.inputKind="object",h.inputObject=g;else h.inputKind="string",h.inputChunks.push(g);if(H.hasToolCalls=!0,H.seenToolIds.has(e))d=H.seenToolIds.get(e);else{d=H.toolCallIndex++,H.seenToolIds.set(e,d);let a={id:B,object:"chat.completion.chunk",created:D,model:b,choices:[{index:0,delta:{...0===t?{role:"assistant"}:{},tool_calls:[{index:d,id:e,type:"function",function:{name:f,arguments:""}}]},finish_reason:null}]};t++,await I(c,`data: ${JSON.stringify(a)}
21
+ `));continue}if(!L.streamFailed){if(L.totalContentLength||(L.totalContentLength=0),L.contextUsagePercentage||(L.contextUsagePercentage=0),"assistantResponseEvent"===f&&a.payload?.content&&await T(c,a.payload.content),"reasoningContentEvent"===f){let b=a.payload?.reasoningContentEvent||a.payload||{},d="string"==typeof b?b:b.text||b.content||"";await R(c,d)}if("codeEvent"===f&&a.payload?.content){L.hasCodeContent=!0;let d={id:x,object:"chat.completion.chunk",created:F,model:b,choices:[{index:0,delta:{content:a.payload.content},finish_reason:null}]};t++,await M(c,`data: ${JSON.stringify(d)}
22
22
 
23
- `)}if(void 0!==g){let a;if("string"==typeof g)a=g;else{if("object"!=typeof g)continue;a=JSON.stringify(g)}let e={id:B,object:"chat.completion.chunk",created:D,model:b,choices:[{index:0,delta:{tool_calls:[{index:d,function:{arguments:a}}]},finish_reason:null}]};t++,await I(c,`data: ${JSON.stringify(e)}
23
+ `)}if("toolUseEvent"===f&&a.payload){let d=a.payload;for(let a of Array.isArray(d)?d:[d]){let d,e=a.toolUseId||`call_${Date.now()}`,f="string"==typeof a.name?a.name.trim():"",g=a.input;if(!f||null!=a.toolUseId&&("string"!=typeof a.toolUseId||!a.toolUseId.trim())){await O(c);break}let h=L.toolFrames.get(e);if(h){if(h.name!==f){await O(c);break}}else h={name:f,inputKind:null,inputChunks:[],inputObject:null,stopped:!1,emptyArgumentsEmitted:!1},L.toolFrames.set(e,h);if(void 0!==g)if("string"!=typeof g||h.inputKind&&"string"!==h.inputKind)if(!g||"object"!=typeof g||Array.isArray(g)||h.inputKind){await O(c);break}else h.inputKind="object",h.inputObject=g;else h.inputKind="string",h.inputChunks.push(g);if(!0===a.stop&&(h.stopped=!0),L.hasToolCalls=!0,L.seenToolIds.has(e))d=L.seenToolIds.get(e);else{d=L.toolCallIndex++,L.seenToolIds.set(e,d);let a={id:x,object:"chat.completion.chunk",created:F,model:b,choices:[{index:0,delta:{...0===t?{role:"assistant"}:{},tool_calls:[{index:d,id:e,type:"function",function:{name:f,arguments:""}}]},finish_reason:null}]};t++,await M(c,`data: ${JSON.stringify(a)}
24
24
 
25
- `)}}}if("messageStopEvent"===f&&(H.endDetected=!0),"contextUsageEvent"===f&&a.payload?.contextUsagePercentage&&(H.contextUsagePercentage=a.payload.contextUsagePercentage,H.hasContextUsage=!0),"meteringEvent"===f&&(H.hasMeteringEvent=!0),"metricsEvent"===f){let b=a.payload?.metricsEvent||a.payload;if(b&&"object"==typeof b){let a=b.inputTokens||0,c=b.outputTokens||0;(a>0||c>0)&&(H.usage={prompt_tokens:a,completion_tokens:c,total_tokens:a+c})}}if(H.hasMeteringEvent&&H.hasContextUsage&&!H.usage){let a=H.totalContentLength>0?Math.max(1,Math.floor(H.totalContentLength/4)):0,b=H.contextUsagePercentage>0?Math.floor(2e5*H.contextUsagePercentage/100):0;H.usage={prompt_tokens:b,completion_tokens:a,total_tokens:b+a}}}}},async flush(a){if(!H.streamFailed)try{i.finish()}catch(b){if(!(b?.code==="KIRO_STREAM_MISSING_TERMINAL"&&(H.hasTextContent||H.hasReasoningContent||H.hasCodeContent||H.hasToolCalls))){H.streamFailed=!0,H.protocolFailed=!0,H.finishEmitted=!0;let c=F(e,b?.code);await J(a,c)}}if(!H.streamFailed&&H.hasToolCalls)try{for(let a of H.toolFrames.values()){let b;if("object"===a.inputKind)b=a.inputObject;else if("string"===a.inputKind)b=JSON.parse(a.inputChunks.join(""));else throw Error("missing tool input");if(!b||"object"!=typeof b||Array.isArray(b))throw Error("tool input must be an object");if("tool_call"===a.name){if("string"!=typeof b.name||!b.name.trim())throw Error("missing nested tool name");if(!Object.prototype.hasOwnProperty.call(b,"arguments"))throw Error("missing nested tool arguments")}}}catch{await K(a)}if(!H.finishEmitted&&!H.streamFailed){H.finishEmitted=!0;let c={id:B,object:"chat.completion.chunk",created:D,model:b,choices:[{index:0,delta:{},finish_reason:H.hasToolCalls?"tool_calls":"stop"}]};H.usage&&(c.usage=H.usage),await I(a,`data: ${JSON.stringify(c)}
25
+ `)}if(!0===a.stop&&(null===h.inputKind&&void 0===g||"string"===h.inputKind&&""===h.inputChunks.join("")))await P(c,d,"{}"),h.emptyArgumentsEmitted=!0;else if(void 0!==g&&""!==g){let a="string"==typeof g?g:JSON.stringify(g);await P(c,d,a)}}}if("messageStopEvent"===f&&(L.endDetected=!0,await Q(c)),"contextUsageEvent"===f&&a.payload?.contextUsagePercentage&&(L.contextUsagePercentage=a.payload.contextUsagePercentage,L.hasContextUsage=!0),"meteringEvent"===f&&(L.hasMeteringEvent=!0),"metricsEvent"===f){let b=a.payload?.metricsEvent||a.payload;if(b&&"object"==typeof b){let a=b.inputTokens||0,c=b.outputTokens||0;(a>0||c>0)&&(L.usage={prompt_tokens:a,completion_tokens:c,total_tokens:a+c})}}if(L.hasMeteringEvent&&L.hasContextUsage&&!L.usage){let a=L.totalContentLength>0?Math.max(1,Math.floor(L.totalContentLength/4)):0,b=L.contextUsagePercentage>0?Math.floor(2e5*L.contextUsagePercentage/100):0;L.usage={prompt_tokens:b,completion_tokens:a,total_tokens:b+a}}}}},async flush(a){if(!L.streamFailed&&I)for(let b of z(L.taggedThinking))"reasoning"===b.type?await R(a,b.text):await S(a,b.text);if(!L.streamFailed)try{i.finish(),L.endDetected=!0,await Q(a)}catch(b){if(!(b?.code==="KIRO_STREAM_MISSING_TERMINAL"&&(L.hasTextContent||L.hasReasoningContent||L.hasCodeContent||L.hasToolCalls))){L.streamFailed=!0,L.protocolFailed=!0,L.finishEmitted=!0;let c=J(e,b?.code);await N(a,c)}}if(!L.streamFailed&&L.hasToolCalls)try{for(let a of L.toolFrames.values()){let b,c=a.stopped||L.endDetected;if("object"===a.inputKind)b=a.inputObject;else if("string"===a.inputKind){let d=a.inputChunks.join("");b=""===d&&c?{}:JSON.parse(d)}else if(c)b={};else throw Error("missing tool input");if(!b||"object"!=typeof b||Array.isArray(b))throw Error("tool input must be an object");if("tool_call"===a.name){if("string"!=typeof b.name||!b.name.trim())throw Error("missing nested tool name");if(!Object.prototype.hasOwnProperty.call(b,"arguments"))throw Error("missing nested tool arguments")}}}catch{await O(a)}if(!L.finishEmitted&&!L.streamFailed){L.finishEmitted=!0;let c={id:x,object:"chat.completion.chunk",created:F,model:b,choices:[{index:0,delta:{},finish_reason:L.hasToolCalls?"tool_calls":"stop"}]};L.usage&&(c.usage=L.usage),await M(a,`data: ${JSON.stringify(c)}
26
26
 
27
- `)}if(H.streamFailed){k&&!H.protocolFailed&&v(g),a.enqueue(m.encode("data: [DONE]\n\n"));return}if(await I(a,"data: [DONE]\n\n"),k){let b=await k.readAll();await k.cleanup(),v(g),a.enqueue(b)}}});if(!a.body)return u(g),k?.cleanup?.().catch(()=>{}),G(a,F(e));let M=a.body.pipeThrough(L);if(k){let a=M.getReader();M=new ReadableStream({async pull(b){try{let c=await a.read();if(c.done){await k.cleanup(),b.close();return}b.enqueue(c.value)}catch(a){w(g),await k.cleanup(),b.error(a)}},async cancel(b){try{await a.cancel(b)}finally{w(g),await k.cleanup()}}})}return new Response(M,{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(a,b,c=null,d=null){if(!a.refreshToken){let a=Error("Kiro refresh credential is missing");throw a.name="KiroRefreshCredentialError",a.status=j.gx.UNAUTHORIZED,a.code="MISSING_REFRESH_TOKEN",a.permanent=!0,a}try{return await (0,g.Ql)(a.refreshToken,a.providerSpecificData,b,c,d)}catch(a){if(d?.aborted||a?.name==="AbortError"||(b?.error?.("TOKEN",a?.permanent===!0?"Kiro refresh credential was rejected":"Kiro refresh failed due to a transient error"),a?.permanent===!0))throw a;return null}}}},4493:(a,b,c)=>{c.d(b,{j:()=>h});var d=c(74957),e=c(35024),f=c(86724);let g=new Set;class h extends d.Hv{constructor(){super("opencode",e.xq.opencode)}transformRequest(a,b){return(0,f.Z)({provider:this.provider,model:a,body:b})}buildUrl(a){let b="https://opencode.ai";return g.has(a)?`${b}/zen/v1/messages`:`${b}/zen/v1/chat/completions`}buildHeaders(){return{"Content-Type":"application/json",Authorization:"Bearer public","x-opencode-client":"desktop",Accept:"text/event-stream"}}}},8425:(a,b,c)=>{c.d(b,{DH:()=>F});let d=(()=>{let a=new Int16Array(128).fill(-1);for(let b=0;b<64;b++)a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(b)]="_doRTgHZBKcGVjlvpC,@aFSx#DPuNJme&i*MzLOEn)sUrthbf%Y^w.(kIQyXqWA!".charCodeAt(b);return a[61]=36,a})();var e=c(78085),f=c(21031),g=c(47293),h=c(55511),i=c(74957),j=c(35024),k=c(39609),l=c(30022),m=c(53225),n=c(59657);function o(a){return(0,h.createHash)("sha256").update(a).digest("hex")}function p(a,b){return`[Qoder ${a} omitted sha256:${b.slice(0,16)}]`}function q(a,b,c){let d=function(a){let b=0,c=0,d=!1;for(let e=0;e<a.length;e+=1){let f=a.charCodeAt(e);if(9!==f&&10!==f&&13!==f&&32!==f){if(61===f){if(d=!0,(c+=1)>2)return -1}else if(!(f>=65&&f<=90||f>=97&&f<=122||f>=48&&f<=57||43===f||47===f)||d)return -1;b+=1}}return 0===b||b%4==1||c&&b%4!=0?-1:Math.floor(3*b/4)-c}(a),e=o(c);if(d<0)return{error:!0,digest:e};if(d>0x1400000)return{oversized:!0,size:d,digest:e};let f=/\s/.test(a)?a.replace(/\s/g,""):a,g=Buffer.from(f,"base64");return g.length!==d?{error:!0,digest:e}:{bytes:g,digest:o(g),mediaType:String(b||"image/png").toLowerCase()}}function r(a){if("string"!=typeof a)return!1;try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol}catch{return!1}}async function s(a,{credentials:b,mediaType:c,proxyOptions:d,signal:f}){var g;let i,j,m,o,p,q,t,u=String(b?.accessToken||"").startsWith("jt-")?l.j9:l.bb,v=`${u}/algo${l.o8}?request_id=${(0,h.randomUUID)()}`,{boundary:w,body:x}=(j=`----qoder-${(0,h.randomUUID)()}`,o=`image.${"jpeg"===(m=String(c||"image/png").split("/")[1]?.split(";")[0]?.toLowerCase())?"jpg":"svg+xml"===m?"svg":m&&/^[a-z0-9.+-]+$/.test(m)?m:"bin"}`,p=Buffer.from(`--${j}\r
27
+ `)}if(L.streamFailed){k&&!L.protocolFailed&&v(g),a.enqueue(m.encode("data: [DONE]\n\n"));return}if(await M(a,"data: [DONE]\n\n"),k){let b=await k.readAll();await k.cleanup(),v(g),a.enqueue(b)}}});if(!a.body)return u(g),k?.cleanup?.().catch(()=>{}),K(a,J(e));let V=a.body.pipeThrough(U);if(k){let a=V.getReader();V=new ReadableStream({async pull(b){try{let c=await a.read();if(c.done){await k.cleanup(),b.close();return}b.enqueue(c.value)}catch(a){w(g),await k.cleanup(),b.error(a)}},async cancel(b){try{await a.cancel(b)}finally{w(g),await k.cleanup()}}})}return new Response(V,{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(a,b,c=null,d=null){if(!a.refreshToken){let a=Error("Kiro refresh credential is missing");throw a.name="KiroRefreshCredentialError",a.status=j.gx.UNAUTHORIZED,a.code="MISSING_REFRESH_TOKEN",a.permanent=!0,a}try{return await (0,g.Ql)(a.refreshToken,a.providerSpecificData,b,c,d)}catch(a){if(d?.aborted||a?.name==="AbortError"||(b?.error?.("TOKEN",a?.permanent===!0?"Kiro refresh credential was rejected":"Kiro refresh failed due to a transient error"),a?.permanent===!0))throw a;return null}}}},4493:(a,b,c)=>{c.d(b,{j:()=>h});var d=c(74957),e=c(35024),f=c(86724);let g=new Set;class h extends d.Hv{constructor(){super("opencode",e.xq.opencode)}transformRequest(a,b){return(0,f.Z)({provider:this.provider,model:a,body:b})}buildUrl(a){let b="https://opencode.ai";return g.has(a)?`${b}/zen/v1/messages`:`${b}/zen/v1/chat/completions`}buildHeaders(){return{"Content-Type":"application/json",Authorization:"Bearer public","x-opencode-client":"desktop",Accept:"text/event-stream"}}}},8425:(a,b,c)=>{c.d(b,{DH:()=>F});let d=(()=>{let a=new Int16Array(128).fill(-1);for(let b=0;b<64;b++)a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(b)]="_doRTgHZBKcGVjlvpC,@aFSx#DPuNJme&i*MzLOEn)sUrthbf%Y^w.(kIQyXqWA!".charCodeAt(b);return a[61]=36,a})();var e=c(78085),f=c(21031),g=c(47293),h=c(55511),i=c(74957),j=c(35024),k=c(39609),l=c(30022),m=c(53225),n=c(59657);function o(a){return(0,h.createHash)("sha256").update(a).digest("hex")}function p(a,b){return`[Qoder ${a} omitted sha256:${b.slice(0,16)}]`}function q(a,b,c){let d=function(a){let b=0,c=0,d=!1;for(let e=0;e<a.length;e+=1){let f=a.charCodeAt(e);if(9!==f&&10!==f&&13!==f&&32!==f){if(61===f){if(d=!0,(c+=1)>2)return -1}else if(!(f>=65&&f<=90||f>=97&&f<=122||f>=48&&f<=57||43===f||47===f)||d)return -1;b+=1}}return 0===b||b%4==1||c&&b%4!=0?-1:Math.floor(3*b/4)-c}(a),e=o(c);if(d<0)return{error:!0,digest:e};if(d>0x1400000)return{oversized:!0,size:d,digest:e};let f=/\s/.test(a)?a.replace(/\s/g,""):a,g=Buffer.from(f,"base64");return g.length!==d?{error:!0,digest:e}:{bytes:g,digest:o(g),mediaType:String(b||"image/png").toLowerCase()}}function r(a){if("string"!=typeof a)return!1;try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol}catch{return!1}}async function s(a,{credentials:b,mediaType:c,proxyOptions:d,signal:f}){var g;let i,j,m,o,p,q,t,u=String(b?.accessToken||"").startsWith("jt-")?l.j9:l.bb,v=`${u}/algo${l.o8}?request_id=${(0,h.randomUUID)()}`,{boundary:w,body:x}=(j=`----qoder-${(0,h.randomUUID)()}`,o=`image.${"jpeg"===(m=String(c||"image/png").split("/")[1]?.split(";")[0]?.toLowerCase())?"jpg":"svg+xml"===m?"svg":m&&/^[a-z0-9.+-]+$/.test(m)?m:"bin"}`,p=Buffer.from(`--${j}\r
28
28
  Content-Disposition: form-data; name="file"; filename="${o}"\r
29
29
  Content-Type: ${c}\r
30
30
  \r
@@ -185,7 +185,7 @@ ${d.content}`:Array.isArray(d.content)&&d.content.unshift({type:"text",text:c}):
185
185
  `}async function n(a,b,c,d,e,f){let g="",h="",i=[];for await(let b of l(a,e,f)){if(b.fingerprint&&(h=b.fingerprint),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"GROK_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){i.push(b.thinking);continue}if(b.done)break;b.fullMessage?g=b.fullMessage:b.delta&&(g+=b.delta)}let j={role:"assistant",content:g};i.length>0&&(j.reasoning_content=i.join("\n"));let k=Math.ceil(g.length/4),m=Math.ceil(g.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:h||null,choices:[{index:0,message:j,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:m,total_tokens:k+m}}),{status:200,headers:{"Content-Type":"application/json"}})}class o extends d.Hv{constructor(){super("grok-web",e.xq["grok-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:k}){let o,p,q=b?.messages;if(!q||!Array.isArray(q)||0===q.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let r=h[a];r||k?.info?.("GROK-WEB",`Unmapped model ${a}, defaulting to grok-4.1-fast`);let{grokModel:s,modelMode:t,isThinking:u}=r||h["grok-4.1-fast"],v=function(a){let b=[];for(let c of a){let a=String(c.role||"user");"developer"===a&&(a="system");let d="";"string"==typeof c.content?d=c.content:Array.isArray(c.content)&&(d=c.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),d.trim()&&b.push({role:a,text:d})}let c=-1;for(let a=b.length-1;a>=0;a--)if("user"===b[a].role){c=a;break}let d=[];for(let a=0;a<b.length;a++){let{role:e,text:f}=b[a];d.push(a===c?f:`${e}: ${f}`)}return d.join("\n\n")}(q);if(!v.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let w={temporary:!0,modelName:s,modelMode:t,message:v,fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!1,imageGenerationCount:0,forceConcise:!1,toolOverrides:{},enableSideBySide:!0,sendFinalMetadata:!0,isReasoning:!1,disableTextFollowUps:!1,disableMemory:!0,forceSideBySide:!1,isAsyncChat:!1,disableSelfHarmShortCircuit:!1,deviceEnvInfo:{darkModeEnabled:!1,devicePixelRatio:2,screenWidth:2056,screenHeight:1329,viewportWidth:2056,viewportHeight:1083}},x=j(16),y=j(8),z={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Baggage:"sentry-environment=production,sentry-release=d6add6fb0460641fd482d767a335ef72b9b6abb8,sentry-public_key=b311e0f2690c81f25e2c4cf6d4f7ce1c","Cache-Control":"no-cache","Content-Type":"application/json",Origin:"https://grok.com",Pragma:"no-cache",Referer:"https://grok.com/","Sec-Ch-Ua":'"Google Chrome";v="136", "Chromium";v="136", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":btoa(.5>Math.random()?`e:TypeError: Cannot read properties of null (reading 'children["${i(5,!0)}"]')`:`e:TypeError: Cannot read properties of undefined (reading '${i(10)}')`),"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${x}-${y}-00`};if(d.apiKey){let a=d.apiKey;a.startsWith("sso=")&&(a=a.slice(4)),z.Cookie=`sso=${a}`}k?.info?.("GROK-WEB",`Query to ${a} (grok=${s}, mode=${t}), len=${v.length}`);try{o=await fetch(g,{method:"POST",headers:z,body:JSON.stringify(w),signal:e})}catch(a){return k?.error?.("GROK-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Grok connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.ok){let a=o.status,b=`Grok returned HTTP ${a}`;return 401===a||403===a?b="Grok auth failed — SSO cookie may be expired. Re-paste your sso cookie value from grok.com.":429===a&&(b="Grok rate limited. Wait a moment and retry, or rotate cookies."),k?.warn?.("GROK-WEB",b),await (0,f.aI)(o),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.body)return{response:new Response(JSON.stringify({error:{message:"Grok returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w};let A=`chatcmpl-grok-${crypto.randomUUID().slice(0,12)}`,B=Math.floor(Date.now()/1e3);if(c){var C;let b;p=new Response((C=o.body,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="";for await(let f of l(C,u,e)){if(f.fingerprint&&(d=f.fingerprint),f.error){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{reasoning_content:f.thinking},finish_reason:null,logprobs:null}]})));continue}if(f.done)break;f.delta&&c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:f.delta},finish_reason:null,logprobs:null}]})))}c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}catch(d){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${d.message||String(d)}]`},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}finally{c.close()}}})),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","X-Accel-Buffering":"no"}})}else p=await n(o.body,a,A,B,u,e);return{response:p,url:g,headers:z,transformedBody:w}}}},42693:(a,b,c)=>{c.d(b,{$O:()=>k,AUTOCLAW_WALLET_ENDPOINT:()=>i,Cw:()=>g,VR:()=>h,_V:()=>j,buildAutoClawWalletHeaders:()=>m,df:()=>e,p8:()=>l});var d=c(55511);let e="100003",f="https://autoglm-api.autoglm.ai",g=`${f}/autoclaw-proxy/proxy/autoclaw`,h=`${f}/userapi/v1/refresh`,i=`${f}/agent-assetmgr/api/v2/wallets?biz_app_id=autoclaw`,j="1.10.0";function k(a){let b=`${e}&${a}&38d2391985e2369a5fb8227d8e6cd5e5`;return(0,d.createHash)("md5").update(b).digest("hex")}function l(a={}){let b=String(Math.floor(Date.now()/1e3));return{accept:"*/*","content-type":"application/json",origin:"https://autoclaw.z.ai",referer:"https://autoclaw.z.ai/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36","x-auth-appid":e,"x-auth-timestamp":b,"x-auth-sign":k(b),"x-product":"autoclaw","x-version":j,"x-tm":"web","x-channel":"official","x-client-type":"web","x-trace-id":(0,d.randomUUID)(),"x-lang":"zh-CN",...a}}function m(a){let b=String(a||"").replace(/^Bearer\s+/i,"");return l({authorization:`Bearer ${b}`})}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(93999)},49059:(a,b,c)=>{c.d(b,{K:()=>e});var d=c(96179);class e extends d.L{constructor(){super("codebuddy-cn")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f=e.reasoning_effort;return"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto"),e}}},49804:(a,b,c)=>{c.d(b,{Q_:()=>p,Wc:()=>q,k9:()=>w,le:()=>o,qJ:()=>u,w9:()=>B,xK:()=>h,zn:()=>y});var d=c(77598),e=c.n(d),f=c(39609);let g="https://cloud.zed.dev",h={expiredToken:"x-zed-expired-token",outdatedToken:"x-zed-outdated-token",clientSupportsStatus:"x-zed-client-supports-status-messages",clientSupportsStreamEnded:"x-zed-client-supports-stream-ended-request-completion-status",serverSupportsStatus:"x-zed-server-supports-status-messages",clientSupportsXai:"x-zed-client-supports-x-ai",systemId:"x-zed-system-id"},i="zed-rsa-pkcs1:",j=new Map,k=new Map,l=new Map;function m(a,b){return String(a||b).replace(/\/+$/,"")}function n(a,b,c,d){let e=m(a?.[b],d);return`${e}${c}`}function o(a={},b={}){let{publicKey:c,privateKey:d}=e().generateKeyPairSync("rsa",{modulusLength:2048,publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"pem"}}),f=Number(b.nativeAppPort||a.defaultNativeAppPort||58443),g=b.systemId||e().randomUUID(),h=c.toString("base64").replace(/\+/g,"-").replace(/\//g,"_"),j=new URL(`${m(a.webBaseUrl,"https://zed.dev")}/native_app_signin`);return j.searchParams.set("native_app_port",String(f)),j.searchParams.set("native_app_public_key",h),g&&j.searchParams.set("system_id",g),{authUrl:j.toString(),privateKeyVerifier:`${i}${Buffer.from(d).toString("base64url")}`,nativeAppPort:f,systemId:g,publicKey:h}}function p(a){let b=String(a||"").trim();if(!b)throw Error("Missing Zed callback URL");let c={};try{c=JSON.parse(b)}catch{let a;try{a=new URL(b)}catch{try{a=new URL(`http://127.0.0.1/?${b.replace(/^\?/,"")}`)}catch{throw Error("Invalid Zed callback URL")}}a.searchParams.forEach((a,b)=>{c[b]=a})}let d=c.user_id||c.userId,e=c.access_token||c.accessToken||c.token;if(!d||!e)throw Error("Zed callback must include user_id and access_token");return{userId:String(d),encryptedAccessToken:String(e)}}function q(a,b){let c=function(a){var b;let c=String(a||"");if(!c.startsWith(i))throw Error("Missing Zed private key verifier; restart the login flow");return b=c.slice(i.length),Buffer.from(String(b||""),"base64url").toString("utf8")}(b),d=Buffer.from(String(a),"base64url");try{return e().privateDecrypt({key:c,padding:e().constants.RSA_PKCS1_OAEP_PADDING,oaepHash:"sha256"},d).toString("utf8")}catch(a){try{return e().privateDecrypt({key:c,padding:e().constants.RSA_PKCS1_PADDING},d).toString("utf8")}catch{let b=a instanceof Error?a.message:String(a);throw Error(`Failed to decrypt Zed access token: ${b}`)}}}function r(a){let b=(a?.providerSpecificData||{}).userId||a?.userId,c=a?.accessToken||a?.apiKey;if(!b||!c)throw Error("Zed credential is missing userId or accessToken");return`${b} ${c}`}function s(a){return String(a?.providerSpecificData?.systemId||a?.systemId||"")}async function t(a,b){let c=await (0,f.proxyAwareFetch)(a,b),d=await c.text(),e=null;if(d)try{e=JSON.parse(d)}catch{e={raw:d}}if(!c.ok){let a=Error(String(e?.message||e?.error?.message||e?.error||d||`HTTP ${c.status}`));throw a.status=c.status,a.body=e,a}return e}async function u(a,b={}){let c=b.config||{},d={Accept:"application/json",Authorization:r(a)},e=s(a);return e&&(d[h.systemId]=e),t(n(c,"cloudBaseUrl","/client/users/me",g),{method:"GET",headers:d,signal:b.signal??void 0})}function v(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function w(a,b=null){let c=a?.providerSpecificData||{},d=v(c.organizationId||c.defaultOrganizationId);if(d)return d;let e=v(b?.default_organization_id||b?.defaultOrganizationId);if(e)return e;let f=b?.organizations||[],g=f.find(a=>a?.is_personal)||f[0];return v(g?.id)}async function x(a,b={}){var c;let d,e,f=b.config||{},i=b.organizationId||w(a);if(!i){let c=await u(a,b);i=w(a,c)}if(!i)throw Error("No Zed organization selected");let k=(c=i,d=(a?.providerSpecificData||{}).userId||a?.userId||"unknown",e=a?.accessToken||a?.apiKey||"",`${d}:${c||"default"}:${e.slice(-16)}`),l=j.get(k);if(!b.forceRefresh&&l&&l.expiresAt>Date.now())return l.token;let m={"Content-Type":"application/json",Accept:"application/json",Authorization:r(a)},o=s(a);o&&(m[h.systemId]=o);let p=await t(n(f,"cloudBaseUrl","/client/llm_tokens",g),{method:"POST",headers:m,body:JSON.stringify({organization_id:i}),signal:b.signal??void 0}),q="string"==typeof p?.token?p.token:p?.token?.[0]||p?.token?.value;if(!q)throw Error("Zed did not return an LLM token");return j.set(k,{token:q,expiresAt:Date.now()+3e6}),q}async function y(a,b,c={}){var d;let e=n(c.config||{},"llmBaseUrl",b,"https://cloud.zed.dev"),g=async b=>{let d=await x(a,{...c,forceRefresh:b});return(0,f.proxyAwareFetch)(e,{...c.fetchOptions,headers:{...c.fetchOptions?.headers||{},Authorization:`Bearer ${d}`},signal:c.signal??void 0})},i=await g(!1);return d=i,(d?.status===401||d?.headers?.has?.(h.expiredToken)||d?.headers?.has?.(h.outdatedToken))&&(i=await g(!0)),i}function z(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function A(a){let b=z(a?.id);return b?{id:b,name:a.display_name||a.displayName||b,provider:a.provider,isLatest:!!a.is_latest,contextLength:a.max_token_count??a.maxTokenCount,contextLengthInMaxMode:a.max_token_count_in_max_mode??a.maxTokenCountInMaxMode,maxOutputTokens:a.max_output_tokens??a.maxOutputTokens,supportsTools:!!a.supports_tools,supportsImages:!!a.supports_images,supportsThinking:!!a.supports_thinking,supportsDisablingThinking:!!a.supports_disabling_thinking,supportsFastMode:!!a.supports_fast_mode,supportsServerSideCompaction:!!a.supports_server_side_compaction,supportedEffortLevels:a.supported_effort_levels??a.supportedEffortLevels??[],supportsStreamingTools:!!a.supports_streaming_tools,supportsParallelToolCalls:!!a.supports_parallel_tool_calls,isDisabled:!!a.is_disabled,disabledReason:a.disabled_reason??null}:null}async function B(a,b={}){let c,d,e;if(!a?.accessToken)return null;let f=(d=(c=a?.providerSpecificData||{}).organizationId||c.defaultOrganizationId||"default",e=a?.accessToken||a?.apiKey||"",`${c.userId||"unknown"}:${d}:${e.slice(-16)}`),g=k.get(f);if(!b.forceRefresh&&g&&g.expiresAt>Date.now())return g;let i=l.get(f);if(i&&!b.forceRefresh)return i;let j=(async()=>{let c=await y(a,"/models",{...b,fetchOptions:{method:"GET",headers:{Accept:"application/json",[h.clientSupportsXai]:"true"}}});if(!c.ok){let a=await c.text().catch(()=>"");throw Error(`Zed models failed: ${c.status} ${a}`)}let d=await c.json(),e=Array.isArray(d?.models)?d.models:[],g=e.map(A).filter(Boolean).filter(a=>!a.isDisabled),i=new Map;for(let a of e){let b=z(a?.id);b&&i.set(b,a)}let j={expiresAt:Date.now()+36e5,models:g,rawModels:e,rawById:i,defaultModel:z(d?.default_model??d?.defaultModel),defaultFastModel:z(d?.default_fast_model??d?.defaultFastModel),recommendedModels:(d?.recommended_models||d?.recommendedModels||[]).map(z).filter(Boolean)};return k.set(f,j),j})();l.set(f,j);try{return await j}finally{l.get(f)===j&&l.delete(f)}}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.DATA_DIR,"machine-id"),m=h().join(k.DATA_DIR,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.DATA_DIR,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="zevai-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>J});var e=c(36187),f=c(98625),g=c(95128),h=c(11655),i=c(61433),j=c(8425),k=c(1376),l=c(26120),m=c(19946),n=c(73870),o=c(94515),p=c(4493),q=c(13120),r=c(38572),s=c(23013),t=c(64980),u=c(9708),v=c(90926),w=c(26878),x=c(36732),y=c(15376),z=c(16046),A=c(49059),B=c(32447),C=c(22376),D=c(85308),E=c(93509),F=c(98665),G=c(95089),H=c(96179);c(74957);var I=a([m]);m=(I.then?(await I)():I)[0];let K={antigravity:new e.cV,azure:new f.P,"gemini-cli":new g.V,github:new h.x,iflow:new i.r,qoder:new j.DH,kiro:new k.Br,codex:new l.T,cursor:new m.o,cu:new m.o,vertex:new n.w("vertex"),"vertex-partner":new n.w("vertex-partner"),qwen:new o.R,opencode:new p.j,"opencode-go":new q.H,"grok-web":new r.$,"perplexity-web":new s.Ay,"notion-ai":new t.B,"ollama-local":new u.D,commandcode:new v.A,"xiaomi-tokenplan":new w.F,"xiaomi-mimo":new x.R,autoclaw:new y.q,"mimo-free":new z.Yh,mmf:new z.Yh,"codebuddy-cn":new A.K,kimchi:new B.BL,"grok-cli":new C.hG,gcli:new C.hG,trae:new D.q,windsurf:new E.iz,zed:new F.A,"devin-cli":new G.A},L=new Map;function J(a){return K[a]?K[a]:(L.has(a)||L.set(a,new H.L(a)),L.get(a))}d()}catch(a){d(a)}})},59657:(a,b,c)=>{c.d(b,{Jb:()=>i,aI:()=>f,jd:()=>h});var d=c(41004),e=c(92306);async function f(a){try{await a.body?.cancel()}catch{}}function g(a){let b=!1;return c=>{if(b||"function"!=typeof a)return!1;b=!0;try{Promise.resolve(a(c)).catch(a=>{console.error("[Stream] Transport failure callback failed:",a?.message||a)})}catch(a){console.error("[Stream] Transport failure callback failed:",a?.message||a)}return!0}}function h({onDisconnect:a,onError:b,log:c,provider:d,model:f,reqTag:g="",signal:i}={}){let j=new AbortController,k=Date.now(),l=!1,m=null,n=()=>j.abort(i.reason),o=()=>i?.removeEventListener("abort",n);i?.aborted?n():i?.addEventListener("abort",n,{once:!0});let p=(a,b,e=!1)=>{let h=Date.now()-k;e&&c?.errorLine?c.errorLine(g,a,`${b} \xb7 ${d}/${f} \xb7 ${h}ms`):c?.line?c.line(g,a,`${b} \xb7 ${d}/${f} \xb7 ${h}ms`):console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] ${a} ${d}/${f} \xb7 ${b} \xb7 ${h}ms`)};return{signal:j.signal,cleanup:o,startTime:k,isConnected:()=>!l,handleDisconnect:(b="client_closed")=>{l||(l=!0,o(),p("⚡",`DISCONNECT: ${b}`),(0,e.s)("CTRL",`${d}/${f} | disconnect=${b} | dur=${Date.now()-k}ms`),m=setTimeout(()=>{j.abort()},500),a?.({reason:b,duration:Date.now()-k}))},handleComplete:()=>{!l&&(l=!0,o(),m&&(clearTimeout(m),m=null))},handleError:a=>{if(!l){if(l=!0,o(),m&&(clearTimeout(m),m=null),"AbortError"===a.name)return void p("⚡","ABORTED");p("✗",`ERROR: ${a.message}${a.stack?`
186
186
  ${a.stack}`:""}`,!0),b?.(a)}},abort:()=>j.abort()}}function i(a,b,c,f=null,h=null,j=null,k=null,l=null,m=null){let n=null,o=null,p=0,q=0,r=Date.now(),s=r,t=!1,u=null,v="function"==typeof m?.progress?.subscribe,w="STREAM",x=j?.firstEventTimeoutMs||j?.firstChunkTimeoutMs||d.Z1,y=j?.progressIdleTimeoutMs||j?.stallTimeoutMs||d.xM,z=j?.absoluteTimeoutMs||d.MB,A=Number.isFinite(j?.absoluteStartedAtMs)?j.absoluteStartedAtMs:r,B=Math.max(1,z-Math.max(0,r-A)),C=g(h),D=()=>{n&&(clearTimeout(n),n=null),o&&(clearTimeout(o),o=null)},E=()=>{D(),u?.(),u=null},F=(a,b)=>{if(c.signal?.aborted)return void(0,e.s)(w,`${a} timer ignored after request abort`);let d="first_event"===a,g="absolute"===a;(0,e.s)(w,`TIMEOUT phase=${a} budget=${b}ms | chunks=${p} | bytes=${q} | sinceProgress=${Date.now()-s}ms`);let h=Error(g?"provider stream exceeded the absolute deadline":d?"provider stream did not produce a valid event in time":"provider stream progress stalled");h.name="TimeoutError",h.code=g?"STREAM_ABSOLUTE_TIMEOUT":d?"STREAM_FIRST_CHUNK_TIMEOUT":"STREAM_STALL_TIMEOUT",h.phase=a,h.timeoutMs=b,f?.setFailure?.(h),C(h),D(),c.handleError?.(h),c.abort?.()},G=()=>{if(n&&(clearTimeout(n),n=null),c.signal?.aborted||!c.isConnected())return;let a=t?"progress_idle":"first_event",b=t?y:x;n=setTimeout(()=>{n=null,F(a,b)},b)},H=(a=Date.now())=>{let b=Number.isFinite(a)?a:Date.now(),c=Math.max(0,b-s);try{k?.(t?"progress_idle":"first_event",c)}catch{}t=!0,s=b,G()},I={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{(0,e.s)(w,`complete | chunks=${p} | bytes=${q} | dur=${Date.now()-r}ms`),E(),c.handleComplete()},handleError:a=>{(0,e.s)(w,`error: ${a?.message} | chunks=${p} | bytes=${q} | dur=${Date.now()-r}ms`),E(),c.handleError(a)},handleDisconnect:a=>{(0,e.s)(w,`disconnect: ${a} | chunks=${p} | bytes=${q} | dur=${Date.now()-r}ms`),E(),c.handleDisconnect(a)},abort:()=>{E(),c.abort()}};G(),o=setTimeout(()=>{o=null,F("absolute",z)},B),v&&(u=m.progress.subscribe(a=>{a?.type==="attempt_started"?(t=!1,s=Number.isFinite(a.atMs)?a.atMs:Date.now(),G(),((a=Date.now())=>{o&&clearTimeout(o),o=setTimeout(()=>{o=null,F("absolute",z)},Math.max(1,z-Math.max(0,Date.now()-a)))})(s)):a?.type==="validated_event"&&H(a.atMs)})),(0,e.s)(w,`pipe start | firstEventTimeout=${x}ms | progressIdleTimeout=${y}ms | absoluteTimeout=${z}ms`);let J=new TransformStream({transform(a,b){p++;let c=a?.byteLength||a?.length||0;q+=c;let d=Date.now()-s;e.T&&(p<=5||p%20==0||d>5e3)&&(0,e.s)(w,`chunk #${p} | size=${c}B | gap=${d}ms | total=${q}B`),b.enqueue(a)},flush(){(0,e.s)(w,`upstream EOF | chunks=${p} | bytes=${q} | dur=${Date.now()-r}ms`)}});return function(a,b,c=null,d=null,e=null,f=null){let h=a.readable.getReader(),i=a.writable.getWriter(),j=!1,k=g(d),l="function"==typeof c?c:c?.build?.bind(c),m="object"==typeof c?c?.observe?.bind(c):null,n=f?.heartbeat?.bytes,o=Number(f?.heartbeat?.intervalMs),p=null,q=null,r=!1,s=!1,t=()=>{p&&(clearInterval(p),p=null)},u=()=>{t(),q?.(),q=null},v=a=>{if(!j&&l){j=!0;try{let b=l();b&&a.enqueue(b)}catch{}}},w=async a=>{if(!s&&!r){s=!0;try{for(;!r&&a.desiredSize>0;){if(!b.isConnected()){r=!0,u(),await Promise.allSettled([h.cancel("stream_disconnected"),i.abort("stream_disconnected")]),v(a),a.close();return}let{done:c,value:d}=await h.read();if(r)return;if(c){r=!0,u(),b.handleComplete(),a.close();return}try{m?.(d)}catch{}if(a.enqueue(d),e?.(d)){r=!0,u(),v(a),b.handleComplete(),await Promise.allSettled([h.cancel("protocol_terminal"),i.abort("protocol_terminal")]),a.close();return}}}catch(l){if(r)return;r=!0,u();let d=b.isConnected(),e=b.signal?.aborted===!0;d&&!e&&k(l),d&&!e&&c?.setFailure?.(l),b.handleError(l),h.cancel().catch(()=>{}),i.abort().catch(()=>{});let f=l?.message||"",g=l?.code||l?.cause?.code||"",j="AbortError"===l.name||f.includes("aborted")||f.includes("socket hang up")||f.includes("ECONNRESET")||f.includes("ETIMEDOUT")||f.includes("EPIPE")||"ECONNRESET"===g||"ETIMEDOUT"===g||"EPIPE"===g||"UND_ERR_SOCKET"===g;try{!d||j||c?(v(a),a.close()):a.error(l)}catch{}}finally{s=!1}}};return new ReadableStream({start(a){n?.byteLength>0&&Number.isFinite(o)&&!(o<=0)&&(a.enqueue(n),p=setInterval(()=>{if(!r&&b.isConnected()&&!(a.desiredSize<=0))try{a.enqueue(n)}catch{t()}},o),q=f?.progress?.subscribe?.(c=>{if(c?.type==="attempt_started"&&!r&&b.isConnected()&&!(a.desiredSize<=0))try{a.enqueue(n)}catch{u()}}))},pull:a=>w(a),async cancel(a){r||(r=!0,u(),b.handleDisconnect(a||"cancelled"),await Promise.allSettled([h.cancel(a),i.abort(a)]))}})}({readable:a.body.pipeThrough(J).pipeThrough(b).pipeThrough(new TransformStream({transform(a,b){(a?.byteLength||a?.length||0)>0&&(v||H(),l?.()),b.enqueue(a)}})),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},I,f,C,b.isProtocolTerminalChunk?.bind(b),m)}},61433:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(74957),g=c(35024);class h extends f.Hv{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 c&&b.messages&&!b.stream_options&&(b.stream_options={include_usage:!0}),b}}},64980:(a,b,c)=>{c.d(b,{B:()=>z});var d=c(74957),e=c(35024),f=c(39609),g=c(59657),h=c(21137),i=c(71081),j=c(77598);let k=new Map;function l(a){return"string"==typeof a?a.trim():Array.isArray(a)?a.map(a=>"string"==typeof a?a:a&&"object"==typeof a?"string"==typeof a.text?a.text:"string"==typeof a.content?a.content:"":"").filter(Boolean).join("\n").trim():""}function m(a){return(0,j.createHash)("sha256").update(String(a||"")).digest("hex").slice(0,24)}function n(a=Date.now()){for(let[b,c]of k)a-c.updatedAt>216e5&&k.delete(b);for(;k.size>500;){let a=[...k.entries()].reduce((a,b)=>b[1].updatedAt<a[1].updatedAt?b:a)[0];k.delete(a)}}function o({key:a,threadId:b}={}){if(!a)return;let c=k.get(a);c&&(!b||c.threadId===b)&&k.delete(a)}var p=c(63912);function q(a,b=200){return new Response(JSON.stringify(a),{status:b,headers:{"Content-Type":"application/json"}})}function r(a,b=502,c="NOTION_ERROR"){return q({error:{message:a,type:"upstream_error",code:c}},b)}function s(a){return`data: ${JSON.stringify(a)}
187
187
 
188
- `}function t(a,b="NOTION_STREAM_ERROR"){return{error:{message:String(a||"Notion stream failed").slice(0,500),type:"upstream_error",code:b},failureMetadata:{failureClass:"upstream_transient",providerErrorCode:b}}}function u(a){return Math.max(0,Math.ceil(String(a||"").length/4))}async function*v(a,b){let c={text:"",thinking:""};for await(let d of(0,p.Yq)(a,b)){let a=(0,p.xz)(d);if(a)return void(yield{error:a});for(let a of(0,p.kx)(d)){let b=(0,p.I3)(a.content,c[a.type]);b&&(c[a.type]=c[a.type].startsWith(a.content)?c[a.type]:a.content.startsWith(c[a.type])?a.content:`${c[a.type]}${b}`,yield{type:a.type,delta:b})}}yield{done:!0}}function w({id:a,model:b,created:c,delta:d={},finishReason:e=null}){return{id:a,object:"chat.completion.chunk",created:c,model:b,system_fingerprint:null,choices:[{index:0,delta:d,finish_reason:e,logprobs:null}]}}async function x(a,b,c,d,e,f){let g="",h="",i=null;for await(let b of v(a,f)){if(b.error){i=b.error;break}if(b.done)break;"thinking"===b.type&&(h+=b.delta),"text"===b.type&&(g+=b.delta)}if(i)return r(i,502,"NOTION_STREAM_ERROR");if(!g&&!h)return r("Notion returned no assistant text",502,"NOTION_EMPTY_RESPONSE");let j={role:"assistant",content:g};h&&(j.reasoning_content=h);let k=u((e?.messages||[]).map(a=>"string"==typeof a?.content?a.content:"").join("\n")),l=u(`${g}${h}`);return q({id:c,object:"chat.completion",created:d,model:b,choices:[{index:0,message:j,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:l,total_tokens:k+l}})}async function y(a,b,c){if(c?.vercelRelayUrl)return(0,f.proxyAwareFetch)(a,b,c);try{let d=await (0,h.hH)(a,{...b,proxyUrl:(c?.connectionProxyEnabled&&"string"==typeof c.connectionProxyUrl?c.connectionProxyUrl.trim():"")||void 0});if(d instanceof Response)return d;let e="function"==typeof d?.text?await d.text():d?.text||"";return new Response(e,{status:d.status||502,headers:d.headers})}catch(d){if(!(d instanceof h.Lf))throw d;return(0,f.proxyAwareFetch)(a,b,c)}}class z extends d.Hv{constructor(){super("notion-ai",e.xq["notion-ai"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:h=null}){let u,z,A=d?.providerSpecificData||{},B=(0,p.MT)({apiKey:d?.apiKey,providerSpecificData:A});if(!B.valid)return{response:q({error:{message:B.error,type:"invalid_request"}},400),url:p.KP,headers:{},transformedBody:b};let C={...A},D=null;if(!(C.spaceId&&C.userId))try{let a=await (0,i.lY)({apiKey:d?.apiKey,providerSpecificData:C,signal:e});D=a.models,C={...C,spaceId:a.spaceId,...a.userId?{userId:a.userId}:{}}}catch(a){try{let a=await (0,i.JP)({apiKey:d?.apiKey,providerSpecificData:C,signal:e});C={...C,spaceId:a.spaceId,userId:a.userId,...a.spaceViewId?{spaceViewId:a.spaceViewId}:{}}}catch(c){return{response:r(c?.message||a?.message||"Could not resolve Notion workspace",400,"NOTION_WORKSPACE_ERROR"),url:p.KP,headers:{},transformedBody:b}}}let E=(0,i.KW)(),F=D||E,G=(0,i.uG)(a,F),H="string"==typeof a?a.replace(/^(?:notion-ai|na)\//,"").trim():"";if(!(!H||["notion-auto","auto","default"].includes(H)||F.some(a=>[a.id,a.notionCodename,a.name].filter(Boolean).some(a=>String(a).toLowerCase()===H.toLowerCase()))))try{let b=await (0,i.lY)({apiKey:d?.apiKey,providerSpecificData:C,signal:e});F=b.models,G=(0,i.uG)(a,F),C={...C,spaceId:b.spaceId,userId:b.userId||C.userId}}catch{}let I=null;try{I=function({body:a,cookie:b,connectionId:c,spaceId:d}={}){let e=Date.now();n(e);let f=function(a){for(let b of["notion_thread_id","notionThreadId","thread_id"])if("string"==typeof a?.[b]&&a[b].trim())return a[b].trim();return""}(a),g=function({body:a,cookie:b,connectionId:c,spaceId:d}){let e=Array.isArray(a?.messages)?a.messages:[],f=[];for(let a of e){let b=String(a?.role||"user").toLowerCase();if(["system","developer"].includes(b)){f.push(`${b}:${l(a?.content)}`);continue}if("user"===b){f.push(`user:${l(a?.content)}`);break}}if(!f.some(a=>a.startsWith("user:")))return"";let g=c||m(b);return`${g}:${d}:${m(f.join("\n"))}`}({body:a,cookie:b,connectionId:c,spaceId:d});if(f)return g&&k.set(g,{threadId:f,updatedAt:e}),{threadId:f,createThread:!1,key:g};if(!g)return{threadId:(0,j.randomUUID)(),createThread:!0,key:""};let h=k.get(g);if(h)return h.updatedAt=e,{threadId:h.threadId,createThread:!1,key:g};let i=(0,j.randomUUID)();return k.set(g,{threadId:i,updatedAt:e}),n(e),{threadId:i,createThread:!0,key:g}}({body:b,cookie:d?.apiKey,connectionId:d?.connectionId,spaceId:C.spaceId}),u=(0,p.ZZ)({body:b,model:G||a,apiKey:d?.apiKey,providerSpecificData:C,threadId:I.threadId,createThread:I.createThread})}catch(a){return I?.createThread&&o(I),{response:q({error:{message:a.message,type:"invalid_request"}},400),url:p.KP,headers:{},transformedBody:b}}let J=(0,p.wt)({apiKey:d.apiKey,providerSpecificData:C,stream:!0}),K=(0,p.vZ)(J),L={method:"POST",headers:J,body:JSON.stringify(u),signal:e};f?.info?.("NOTION-AI",`Requesting ${a} via private Notion web protocol`);try{z=await y(p.KP,L,h)}catch(a){if(e?.aborted||a?.name==="AbortError")throw a;return I?.createThread&&o(I),{response:r("Could not connect to Notion",502,"NOTION_CONNECTION_ERROR"),url:p.KP,headers:K,transformedBody:u}}if(!z.ok){let a=z.status||502;return await (0,g.aI)(z),I?.createThread&&o(I),{response:r(401===a||403===a?"Notion session rejected - re-paste the cookie and verify the workspace IDs":429===a?"Notion rate limited this session - wait and retry":a>=500?`Notion returned HTTP ${a}`:`Notion rejected the request with HTTP ${a}`,a,`HTTP_${a}`),url:p.KP,headers:K,transformedBody:u}}if(!z.body)return I?.createThread&&o(I),{response:r("Notion returned an empty response body",502,"NOTION_EMPTY_BODY"),url:p.KP,headers:K,transformedBody:u};let M=`chatcmpl-notion-${globalThis.crypto?.randomUUID?.().slice(0,12)||Date.now().toString(36)}`,N=Math.floor(Date.now()/1e3),O=c?new Response(function(a,b,c,d,e,f=null){let g=new TextEncoder;return new ReadableStream({async start(h){let i=!1,j=a=>{i||h.enqueue(g.encode(a))};try{j(s(w({id:c,model:b,created:d,delta:{role:"assistant"}})));let g=null;for await(let f of v(a,e)){if(f.error){g=f.error;break}if(f.done)break;"thinking"===f.type?j(s(w({id:c,model:b,created:d,delta:{reasoning_content:f.delta}}))):"text"===f.type&&j(s(w({id:c,model:b,created:d,delta:{content:f.delta}})))}g&&(f?.(),j(s(t(g)))),g||j(s(w({id:c,model:b,created:d,delta:{},finishReason:"stop"}))),j("data: [DONE]\n\n")}catch(a){if(e?.aborted||a?.name==="AbortError"){i||h.error(a);return}f?.(),j(s(t(a.message||"unknown error"))),j("data: [DONE]\n\n")}finally{i||(i=!0,h.close())}},cancel:b=>a?.cancel?.(b)})}(z.body,a,M,N,e,()=>{I?.createThread&&o(I)}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}}):await x(z.body,a,M,N,b,e);return!O.ok&&I?.createThread&&o(I),{response:O,url:p.KP,headers:K,transformedBody:u}}}},66682:(a,b,c)=>{c.d(b,{n:()=>g});var d=c(23004);async function e(a){try{await a?.body?.cancel?.()}catch{}}async function f(a,b){if(!a.body?.getReader){let c=Buffer.from(await a.arrayBuffer());return c.byteLength<=b?c:null}let c=a.body.getReader(),d=[],e=0;try{for(;;){let{done:a,value:f}=await c.read();if(a)break;if((e+=f.byteLength)>b)return await c.cancel(),null;d.push(Buffer.from(f))}return Buffer.concat(d,e)}finally{c.releaseLock?.()}}async function g(a,b={}){let c,{signal:h,timeoutMs:i=1e4,maxBytes:j=0x1400000}=b;if(!a||!a.startsWith("http://")&&!a.startsWith("https://"))return null;let k=new AbortController,l=()=>k.abort(h?.reason);h?.aborted?l():h?.addEventListener("abort",l,{once:!0});let m=Number.isFinite(i)&&i>0?setTimeout(()=>k.abort(),i):null;try{if(!(c=await (0,d.aO)(a,{signal:k.signal})).ok)return await e(c),null;let b=Number(c.headers.get("Content-Length"));if(Number.isFinite(b)&&b>j)return await e(c),null;let g=(c.headers.get("Content-Type")||"image/jpeg").split(";",1)[0].trim().toLowerCase();if(!g.startsWith("image/"))return await e(c),null;let h=await f(c,j);if(!h)return null;let i=h.toString("base64");return{url:`data:${g};base64,${i}`,mimeType:g}}catch{return await e(c),null}finally{m&&clearTimeout(m),h?.removeEventListener("abort",l)}}},73483:(a,b,c)=>{c.d(b,{Gh:()=>k,IF:()=>n,O9:()=>h,OF:()=>m,WL:()=>i,f5:()=>l,lm:()=>g});var d=c(47370),e=c(14170);let f="1"===process.env.LOG_USAGE_VERBOSE,g={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function h(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 i(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","total_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 j(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),a?.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details&&(b.prompt_tokens_details=a.prompt_tokens_details),a?.completion_tokens_details&&"object"==typeof a.completion_tokens_details&&(b.completion_tokens_details=a.completion_tokens_details),0===Object.keys(b).length)?null:b}function k(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function l(a){if(!a||"object"!=typeof a)return null;if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return j({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,c=b.input_tokens_details?.cached_tokens;return j({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:c,reasoning_tokens:b.output_tokens_details?.reasoning_tokens,prompt_tokens_details:c?{cached_tokens:c}:void 0})}if(a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens)return j({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens||a.usage.prompt_cache_hit_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens,prompt_tokens_details:a.usage.prompt_tokens_details,completion_tokens_details:a.usage.completion_tokens_details});let b=a.usageMetadata||a.response?.usageMetadata;return b&&"object"==typeof b?j({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount}):!0===a.done&&"number"==typeof a.prompt_eval_count?j({prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}):null}function m(a,b,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?h({input_tokens:d,output_tokens:f,estimated:!0}):h({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function n(a,b,c=null,e=null,h=null,i={}){if(!b||"object"!=typeof b)return;let j=a?.toUpperCase()||"UNKNOWN",k=b?.prompt_tokens||b?.input_tokens||0,l=b?.completion_tokens||b?.output_tokens||0,m=e?e.slice(0,8)+"...":"unknown",o=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${g.green}[USAGE] ${j} | in=${k} | out=${l} | account=${m}${g.reset}`;b.estimated&&(o+=` ${g.yellow}(estimated)${g.reset}`);let p=b.cache_read_input_tokens||b.cached_tokens||b.prompt_tokens_details?.cached_tokens;p&&(o+=` | cache_read=${p}`);let q=b.cache_creation_input_tokens;q&&(o+=` | cache_create=${q}`);let r=b.reasoning_tokens;r&&(o+=` | reasoning=${r}`),f&&console.log(o);let s={prompt_tokens:k,completion_tokens:l,cache_read_input_tokens:p||0,cache_creation_input_tokens:q||0,reasoning_tokens:r||0};!1!==i.persistUsage&&(0,d.sZ)({model:c,provider:a,connectionId:e,tokens:s,apiKey:h||void 0}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:s,status:"200 OK"}).catch(()=>{})}},73870:(a,b,c)=>{c.d(b,{w:()=>j});var d=c(74957),e=c(35024),f=c(8590),g=c(39609);let h=new Map;async function i(a){if(h.has(a))return h.get(a);let b=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&h.set(a,e),e}class j extends d.Hv{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=e?null:d?.apiKey,h=e?.project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!h)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/global/endpoints/openapi/chat/completions`;return g?`${a}?key=${g}`:a}let i=b?"streamGenerateContent":"generateContent";if(e){let c=d?.providerSpecificData?.location||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/${c}/publishers/google/models/${a}:${i}`;return b&&(e+="?alt=sse"),e}let j=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${i}`;return b&&(j+="?alt=sse"),g&&(j+=b?`&key=${g}`:`?key=${g}`),j}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,f.Sc)(a?.apiKey);if(!c)return null;let d=await (0,f.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:j=null}){let k=(0,f.Sc)(d?.apiKey);if(k){let a=await (0,f.pb)(k,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!k&&!d?.providerSpecificData?.projectId){let a=await i(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let l=this.buildUrl(a,c,0,d),m=this.buildHeaders(d,c),n=this.transformRequest(a,b,c,d);return{response:await (0,g.proxyAwareFetch)(l,{method:"POST",headers:m,body:JSON.stringify(n),signal:e},j),url:l,headers:m,transformedBody:n}}}},74957:(a,b,c)=>{c.d(b,{Hv:()=>j});var d=c(58500),e=c(41004),f=c(93943),g=c(39609),h=c(59657),i=c(92306);class j{constructor(a,b){this.provider=a,this.config=b,this.noAuth=b?.noAuth||!1}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}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}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 this.provider?.startsWith?.("anthropic-compatible-")?(a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):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}prepareRequestBody(a,b){return JSON.stringify(a)}shouldRetry(a,b){return a===e.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b,c=null){return null}needsRefresh(a){return(0,f.fp)(this.provider,a)}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:f,sourceFormat:j=null,targetFormat:k=null,requestFormat:l=null,runtimeTransport:m=null,signal:n,log:o,proxyOptions:p=null,connectTimeoutMs:q=null}){let r={model:a,sourceFormat:j,targetFormat:k,requestFormat:l,runtimeTransport:m},s=this.getFallbackCount(),t=null,u=0,v={},w={...e.cI,...this.config.retry},x=async(a,b,c,f=null)=>{let{attempts:g,delayMs:i}=(0,e.DR)(w[b]);return!(g<=0)&&!(v[a]>=g)&&(v[a]++,o?.debug?.("RETRY",`${c} retry ${v[a]}/${g} after ${i/1e3}s`),f&&await (0,h.aI)(f),await (0,d.setTimeout)(i,void 0,{signal:n}),!0)};for(let d=0;d<s;d++){let j=this.buildUrl(a,c,d,f,r),k=this.transformRequest(a,b,c,f,r),l=this.buildHeaders(f,c,r);v[d]||(v[d]=0);let m=new AbortController,w=q||this.config?.timeoutMs||e.pH,y=setTimeout(()=>m.abort(Error("fetch connect timeout")),w),z=n?AbortSignal.any([n,m.signal]):m.signal;try{let a=this.prepareRequestBody(k,l),b="string"==typeof a?a.length:a?.byteLength??a?.length??"?",c=Date.now();(0,i.s)("FETCH",`${this.provider.toUpperCase()} → ${j} | body=${b}B | connectTimeout=${w}ms`);let f=await (0,g.proxyAwareFetch)(j,{method:"POST",headers:l,body:a,signal:z},p);clearTimeout(y);let q=f.headers?.get?.("content-type")||"",r=f.headers?.get?.("content-length")||"?";if((0,i.s)("FETCH",`${this.provider.toUpperCase()} ← ${f.status} | ttft=${Date.now()-c}ms | ct=${q} | cl=${r}`),await x(d,f.status,`status ${f.status}`,f)){d--;continue}if(this.shouldRetry(f.status,d)){o?.debug?.("RETRY",`${f.status} on ${j}, trying fallback ${d+1}`),u=f.status,await (0,h.aI)(f);continue}return{response:function(a,b,c,d){if(!a.body||!b)return a;let e=a.body.getReader();return new Response(new ReadableStream({async pull(a){let f;if(d?.aborted)throw d.reason;try{let g=new Promise((a,d)=>{f=setTimeout(()=>{let a=Error("response body timeout");d(a),queueMicrotask(()=>{c.abort(a),e.cancel(a).catch(()=>{})})},b)}),{done:h,value:i}=await Promise.race([e.read(),g]);if(d?.aborted)throw d.reason;h?a.close():a.enqueue(i)}catch(b){a.error(b)}finally{clearTimeout(f)}},cancel:a=>e.cancel(a)}),a)}(f,this.config?.responseTimeoutMs||e.xM,m,n),url:j,headers:l,transformedBody:k}}catch(b){clearTimeout(y),t=b;let a=m.signal.aborted&&"AbortError"===b.name;if((0,i.s)("FETCH",`${this.provider.toUpperCase()} ✖ ${b.name}: ${b.message}${a?" (connect timeout)":""}`),"AbortError"===b.name&&!a)throw b;if(await x(d,e.gx.BAD_GATEWAY,`network "${b.message}"`)){d--;continue}if(d+1<s){o?.debug?.("RETRY",`Error on ${j}, trying fallback ${d+1}`);continue}throw b}}throw t||Error(`All ${s} URLs failed with status ${u}`)}}},76985:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{RR:()=>v,bh:()=>q});var e=c(55511),f=c(74075),g=c.n(f),h=c(41004),i=c(14170),j=c(81756),k=c(55456),l=c(73483);let a=["temperature","top_p","max_completion_tokens","max_output_tokens","response_format","reasoning_effort","reasoning","tool_choice","parallel_tool_calls"],w=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{w=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}function m(...a){let b=a.filter(Boolean).map(a=>Buffer.from(a));return Buffer.concat(b)}function n(a,b){return(0,k.Xh)(a,2,b)}function o(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join("\n"):""}function p(a){return!!(!a||"object"!=typeof a||"tool"===a.role||a.tool_call_id||Array.isArray(a.tool_calls)&&a.tool_calls.length>0||Array.isArray(a.tool_results)&&a.tool_results.length>0)||("string"==typeof a.content?/<(?:image_url|tool_result)>/i.test(a.content):Array.isArray(a.content)?a.content.some(a=>a?.type!=="text"||"string"!=typeof a.text):null!=a.content)}function q(b={}){let c=Array.isArray(b.messages)?b.messages.findLast(a=>a?.role!=="system"):null;return!0!==b.stream&&Array.isArray(b.messages)&&b.messages.length>0&&c?.role==="user"&&(!Array.isArray(b.tools)||0===b.tools.length)&&(void 0===b.max_tokens||32e3===b.max_tokens)&&!a.some(a=>void 0!==b[a])&&!b.messages.some(p)}function r(a){let b=o(a.content);if(!b)return null;let c=n(1,b);return"assistant"===a.role?n(2,n(1,n(1,c))):n(1,n(1,n(1,c)))}function s({url:a,headers:b,signal:c}){if(!w)throw Error("HTTP/2 is unavailable for Cursor AgentService");let d=new URL(a),e=w.connect(`${d.protocol}//${d.host}`),f=[],g=null,h=!1,i=null,j=e.request({":method":"POST",":path":d.pathname,":authority":d.host,":scheme":d.protocol.slice(0,-1),...b}),k=a=>{if(!g)return;let b=g;g=null,b(a)},l=a=>{i||(i=a,h=!0,k(null))},m=()=>{c?.removeEventListener?.("abort",n);try{j.destroy()}catch{}try{e.close()}catch{}},n=()=>{let a=c?.reason instanceof Error?c.reason:Object.assign(Error("Cursor AgentService request aborted"),{name:"AbortError"});l(a),m()};return e.on("error",l),j.on("error",l),j.on("data",a=>{g?k({value:a,done:!1}):f.push(a)}),j.on("end",()=>{h=!0,k({value:void 0,done:!0})}),c?.aborted?n():c?.addEventListener?.("abort",n,{once:!0}),{responseHeaders:new Promise((a,b)=>{j.once("response",a),j.once("error",b),e.once("error",b)}),write(a){j.destroyed||j.write(Buffer.from(a))},end(){j.destroyed||j.end()},close:m,async read(){if(f.length)return{value:f.shift(),done:!1};if(i)throw i;if(h)return{value:void 0,done:!0};let a=await new Promise(a=>{g=a});if(i)throw i;return a||{value:void 0,done:!0}}}}class x extends Error{constructor(a,b=!1,c={}){super(a,c),this.name="CursorAgentError",this.semanticCommitted=b}}function t(a,b){let c=0n;for(let d=0;d<10;d+=1){if(b>=a.length)throw Error("truncated protobuf varint");let e=a[b++];if(c|=BigInt(127&e)<<BigInt(7*d),(128&e)==0){if(c>BigInt(Number.MAX_SAFE_INTEGER))throw Error("protobuf varint exceeds safe range");return[Number(c),b]}}throw Error("protobuf varint exceeds 10 bytes")}function u(a){let b=Buffer.from(a),c=new Map,d=0;for(;d<b.length;){let a,[e,f]=t(b,d),g=Math.floor(e/8),h=e%8;if(0===g)throw Error("protobuf field zero is invalid");if(d=f,0===h)[a,d]=t(b,d);else if(2===h){let c;if([c,d]=t(b,d),c>b.length-d)throw Error("truncated protobuf field");a=b.subarray(d,d+c),d+=c}else if(1===h||5===h){let c=1===h?8:4;if(c>b.length-d)throw Error("truncated fixed protobuf field");a=b.subarray(d,d+c),d+=c}else throw Error(`unsupported protobuf wire type ${h}`);c.has(g)||c.set(g,[]),c.get(g).push({wireType:h,value:a})}return c}async function v(a){var b,c;let d,f,p,q,{model:t,body:v,credentials:w,signal:y,openStream:z=s}=a,A=(b=a.timeoutMs||6e4,f=new AbortController,p=()=>{let a=y?.reason,b=a?.name==="AbortError"?a:Object.assign(Error("Cursor AgentService request aborted",{...a instanceof Error?{cause:a}:{}}),{name:"AbortError"});f.abort(b)},y?.aborted?p():y?.addEventListener?.("abort",p,{once:!0}),q=setTimeout(()=>{let a=Error("Cursor AgentService request timed out");a.name="TimeoutError",f.abort(a)},b),q.unref?.(),{signal:f.signal,cleanup(){clearTimeout(q),y?.removeEventListener?.("abort",p)}}),B=A.signal,C=a.url||"https://agent.api5.cursor.sh/agent.v1.AgentService/Run",D=a.headers||(0,j.JA)(w.accessToken,w.providerSpecificData?.machineId,w.providerSpecificData?.ghostMode!==!1),E={buffer:Buffer.alloc(0),content:"",semanticCommitted:!1,terminal:!1};try{let a;(d=z({url:C,headers:D,signal:B})).write(function(a,b={},c={}){let d=b.messages||[],f=d.filter(a=>a?.role==="system").map(a=>o(a.content)).filter(Boolean).join("\n\n"),g=d.filter(a=>a?.role!=="system"),h=g.map(a=>a?.role).lastIndexOf("user"),i=h>=0?g[h]:g.at(-1),j=g.slice(0,h>=0?h:-1).map(r).filter(Boolean),l=m(n(1,o(i?.content)||"Continue."),n(2,c.requestId||(0,e.randomUUID)())),p=j.length?m(...j.map(a=>n(1,a))):null,q=m(n(1,l),p?n(7,p):null),s=n(1,q),t=m(n(1,a),(0,k.Xh)(7,0,1)),u=m(n(1,new Uint8Array),n(2,s),f?n(8,f):null,n(9,t));return Buffer.from((0,k.tM)(n(1,u)))}(t,v));let b=await d.responseHeaders,f=Number(b?.[":status"]||0);if(200!==f)throw new x(`Cursor AgentService returned HTTP ${f||h.gx.SERVER_ERROR}`);for(;!E.terminal;){let{done:a,value:b}=await d.read();if(a)break;E.buffer=Buffer.concat([E.buffer,Buffer.from(b)]),function(a,b){let c=a.buffer;for(;c.length>=5;){let d=c[0],e=c.readUInt32BE(1);if(e>0x1000000)throw new x("Cursor AgentService frame exceeded the safety limit",a.semanticCommitted);if(c.length<5+e)break;let f=c.subarray(5,5+e);if(c=c.subarray(5+e),1&d)try{f=g().gunzipSync(f)}catch(b){throw new x("Cursor AgentService sent an invalid compressed frame",a.semanticCommitted,{cause:b})}2&d||function(a,b,c){try{let e=u(a);if(e.has(1)){let a=u(e.get(1)[0].value);if(a.has(1)){var d;let c,e=(d=u(a.get(1)[0].value),(c=d.get(1)?.[0]?.value)&&"number"!=typeof c?Buffer.from(c).toString("utf8"):"");e&&(b.content+=e,b.semanticCommitted=!0)}a.has(14)&&(b.terminal=!0)}if(e.has(2))if(u(e.get(2)[0].value).has(10)){let a=n(1,new Uint8Array);c.write((0,k.tM)(n(2,n(10,n(1,a)))))}else throw new x("Cursor AgentService requested an unsupported IDE tool",b.semanticCommitted)}catch(a){if(a instanceof x)throw a;throw new x("Cursor AgentService sent malformed protobuf",b.semanticCommitted,{cause:a})}}(f,a,b)}a.buffer=c}(E,d)}if(E.buffer.length>0)throw new x("Cursor AgentService ended with a truncated frame",E.semanticCommitted);if(!E.terminal)throw new x("Cursor AgentService ended without a terminal event",E.semanticCommitted);return{response:(c=E.content,a=Math.floor(Date.now()/1e3),new Response(JSON.stringify({id:`chatcmpl-cursor-agent-${Date.now()}`,object:"chat.completion",created:a,model:t,choices:[{index:0,message:{role:"assistant",content:c||null},finish_reason:"stop"}],usage:(0,l.OF)(v,c.length,i.h.OPENAI)}),{status:200,headers:{"Content-Type":"application/json","X-Zevai-Transport":"cursor-agent"}})),url:C,headers:D,transformedBody:v,responseFormat:i.h.OPENAI,semanticCommitted:E.semanticCommitted,transport:"agent",debug:{cursorTransport:"agent"}}}catch(a){if(a?.name==="AbortError"&&y?.aborted)throw a.semanticCommitted=E.semanticCommitted,a;if(a instanceof x)throw a;throw new x("Cursor AgentService transport failed",E.semanticCommitted,{cause:a})}finally{A.cleanup();try{d?.end?.()}catch{}try{d?.close?.()}catch{}}}d()}catch(a){d(a)}},1)},85308:(a,b,c)=>{c.d(b,{q:()=>h});var d=c(74957),e=c(39609),f=c(35024);let g=parseInt(process.env.TRAE_STREAM_TIMEOUT_MS||"300000",10);class h extends d.Hv{constructor(){super("trae",f.xq.trae)}base(){return(this.config.baseUrl||"https://core-normal.trae.ai/api/remote/v1").replace(/\/$/,"")}buildHeaders(a,b=!0){let c=a?.accessToken||a?.apiKey||"",d=a?.providerSpecificData||{};return{Authorization:`Cloud-IDE-JWT ${c}`,"Content-Type":"application/json","X-Trae-Client-Type":"web","X-Preferenced-Language":d.appLanguage||"en","x-user-region":d.userRegion||"US",Referer:"https://solo.trae.ai/","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Accept:b?"text/event-stream":"application/json"}}resolveMode(a){let b=(a||"").trim().toLowerCase();if("work"===b||"auto-work"===b||"solo-work"===b)return{mode:"work",strategy:"auto",modelName:""};let c=!b||"auto"===b;return{mode:"code",strategy:c?"auto":"manual",modelName:c?"":a}}commonParams(a,b,c){let d={language:"en-us",app_language:a.appLanguage||"en",quality:"stable",app_version:a.appVersion||"1.0.0.1229",web_id:a.webId||"",user_identity:a.userIdentity||"Free",is_freshman:"0",biz_user_id:a.bizUserId||"",user_unique_id:a.userUniqueId||"",scope:a.scope||"marscode-us",tenant:a.tenant||"marscode",region:a.region||"US-East",aiRegion:a.aiRegion||a.region||"US-East",is_privacy_mode:0,privacy_mode:"off",solo_chat_mode:b};return c&&(d.biz_session_id=c),JSON.stringify(d)}async createSession(a,b,c,d,f){let{mode:g,strategy:h,modelName:i}=this.resolveMode(c),j={mode:g,environment_id:"default",initial_message:{chat_session_id:"",content:[],query:b,model_name:i,agent_type:"solo_agent_remote",model_selection_strategy:h,common_params:this.commonParams(d,g)},env:"remote",auto_create_project:!1,origin:"web"},k=await (0,e.proxyAwareFetch)(`${this.base()}/chat_sessions`,{method:"POST",headers:a,body:JSON.stringify(j),signal:f},null),l=await k.text();if(!k.ok)throw Error(`[${k.status}] ${l}`);let m=JSON.parse(l);if(m?.code!==0)throw Error(`Trae create_session: ${JSON.stringify(m)}`);return{sessionId:m.data.chat_session_id,messageId:m.data.message_id}}async streamEvents(a,b,c,d,f){let h=`${this.base()}/chat_sessions/${b}/events?reply_to_message_id=${encodeURIComponent(c)}`,i=new AbortController;f?.aborted&&i.abort();let j=setTimeout(()=>i.abort(Error("trae stream timeout")),g),k=()=>i.abort();f&&f.addEventListener("abort",k,{once:!0});try{let b=await (0,e.proxyAwareFetch)(h,{method:"GET",headers:a,signal:i.signal},null);if(!b.ok||!b.body)throw Error(`[${b.status}] events stream failed`);let c=b.body.getReader(),f=new TextDecoder,g="",j=null;for(;;){let a,{done:b,value:e}=await c.read();if(b)break;for(g+=f.decode(e,{stream:!0});(a=g.indexOf("\n"))>=0;){let b=g.slice(0,a).replace(/\r$/,"");if(g=g.slice(a+1),b.startsWith("event:"))j=b.slice(6).trim();else if(b.startsWith("data:")){let a,e=b.slice(5).trim();try{a=JSON.parse(e)}catch{a={_raw:e}}if(d(j,a))return void await c.cancel().catch(()=>{})}else""===b&&(j=null)}}}finally{clearTimeout(j),f&&f.removeEventListener("abort",k)}}async execute({model:a,body:b,stream:c,credentials:d,signal:e}){let f,g=this.buildHeaders(d,!1!==c),h=d?.providerSpecificData||{},i=function(a){let b=[];for(let c of a){let a="";"string"==typeof c.content?a=c.content:Array.isArray(c.content)&&(a=c.content.map(a=>"string"==typeof a?a:a&&"object"==typeof a?String(a.text??""):"").join("")),"system"===c.role?b.push(`[System]
188
+ `}function t(a,b="NOTION_STREAM_ERROR"){return{error:{message:String(a||"Notion stream failed").slice(0,500),type:"upstream_error",code:b},failureMetadata:{failureClass:"upstream_transient",providerErrorCode:b}}}function u(a){return Math.max(0,Math.ceil(String(a||"").length/4))}async function*v(a,b){let c={text:"",thinking:""};for await(let d of(0,p.Yq)(a,b)){let a=(0,p.xz)(d);if(a)return void(yield{error:a});for(let a of(0,p.kx)(d)){let b=(0,p.I3)(a.content,c[a.type]);b&&(c[a.type]=c[a.type].startsWith(a.content)?c[a.type]:a.content.startsWith(c[a.type])?a.content:`${c[a.type]}${b}`,yield{type:a.type,delta:b})}}yield{done:!0}}function w({id:a,model:b,created:c,delta:d={},finishReason:e=null}){return{id:a,object:"chat.completion.chunk",created:c,model:b,system_fingerprint:null,choices:[{index:0,delta:d,finish_reason:e,logprobs:null}]}}async function x(a,b,c,d,e,f){let g="",h="",i=null;for await(let b of v(a,f)){if(b.error){i=b.error;break}if(b.done)break;"thinking"===b.type&&(h+=b.delta),"text"===b.type&&(g+=b.delta)}if(i)return r(i,502,"NOTION_STREAM_ERROR");if(!g&&!h)return r("Notion returned no assistant text",502,"NOTION_EMPTY_RESPONSE");let j={role:"assistant",content:g};h&&(j.reasoning_content=h);let k=u((e?.messages||[]).map(a=>"string"==typeof a?.content?a.content:"").join("\n")),l=u(`${g}${h}`);return q({id:c,object:"chat.completion",created:d,model:b,choices:[{index:0,message:j,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:l,total_tokens:k+l}})}async function y(a,b,c){if(c?.vercelRelayUrl)return(0,f.proxyAwareFetch)(a,b,c);try{let d=await (0,h.hH)(a,{...b,proxyUrl:(c?.connectionProxyEnabled&&"string"==typeof c.connectionProxyUrl?c.connectionProxyUrl.trim():"")||void 0});if(d instanceof Response)return d;let e="function"==typeof d?.text?await d.text():d?.text||"";return new Response(e,{status:d.status||502,headers:d.headers})}catch(d){if(!(d instanceof h.Lf))throw d;return(0,f.proxyAwareFetch)(a,b,c)}}class z extends d.Hv{constructor(){super("notion-ai",e.xq["notion-ai"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:h=null}){let u,z,A=d?.providerSpecificData||{},B=(0,p.MT)({apiKey:d?.apiKey,providerSpecificData:A});if(!B.valid)return{response:q({error:{message:B.error,type:"invalid_request"}},400),url:p.KP,headers:{},transformedBody:b};let C={...A},D=null;if(!(C.spaceId&&C.userId))try{let a=await (0,i.lY)({apiKey:d?.apiKey,providerSpecificData:C,signal:e});D=a.models,C={...C,spaceId:a.spaceId,...a.userId?{userId:a.userId}:{}}}catch(a){try{let a=await (0,i.JP)({apiKey:d?.apiKey,providerSpecificData:C,signal:e});C={...C,spaceId:a.spaceId,userId:a.userId,...a.spaceViewId?{spaceViewId:a.spaceViewId}:{}}}catch(c){return{response:r(c?.message||a?.message||"Could not resolve Notion workspace",400,"NOTION_WORKSPACE_ERROR"),url:p.KP,headers:{},transformedBody:b}}}let E=(0,i.KW)(),F=D||E,G=(0,i.uG)(a,F),H="string"==typeof a?a.replace(/^(?:notion-ai|na)\//,"").trim():"";if(!(!H||["notion-auto","auto","default"].includes(H)||F.some(a=>[a.id,a.notionCodename,a.name].filter(Boolean).some(a=>String(a).toLowerCase()===H.toLowerCase()))))try{let b=await (0,i.lY)({apiKey:d?.apiKey,providerSpecificData:C,signal:e});F=b.models,G=(0,i.uG)(a,F),C={...C,spaceId:b.spaceId,userId:b.userId||C.userId}}catch{}let I=null;try{I=function({body:a,cookie:b,connectionId:c,spaceId:d}={}){let e=Date.now();n(e);let f=function(a){for(let b of["notion_thread_id","notionThreadId","thread_id"])if("string"==typeof a?.[b]&&a[b].trim())return a[b].trim();return""}(a),g=function({body:a,cookie:b,connectionId:c,spaceId:d}){let e=Array.isArray(a?.messages)?a.messages:[],f=[];for(let a of e){let b=String(a?.role||"user").toLowerCase();if(["system","developer"].includes(b)){f.push(`${b}:${l(a?.content)}`);continue}if("user"===b){f.push(`user:${l(a?.content)}`);break}}if(!f.some(a=>a.startsWith("user:")))return"";let g=c||m(b);return`${g}:${d}:${m(f.join("\n"))}`}({body:a,cookie:b,connectionId:c,spaceId:d});if(f)return g&&k.set(g,{threadId:f,updatedAt:e}),{threadId:f,createThread:!1,key:g};if(!g)return{threadId:(0,j.randomUUID)(),createThread:!0,key:""};let h=k.get(g);if(h)return h.updatedAt=e,{threadId:h.threadId,createThread:!1,key:g};let i=(0,j.randomUUID)();return k.set(g,{threadId:i,updatedAt:e}),n(e),{threadId:i,createThread:!0,key:g}}({body:b,cookie:d?.apiKey,connectionId:d?.connectionId,spaceId:C.spaceId}),u=(0,p.ZZ)({body:b,model:G||a,apiKey:d?.apiKey,providerSpecificData:C,threadId:I.threadId,createThread:I.createThread})}catch(a){return I?.createThread&&o(I),{response:q({error:{message:a.message,type:"invalid_request"}},400),url:p.KP,headers:{},transformedBody:b}}let J=(0,p.wt)({apiKey:d.apiKey,providerSpecificData:C,stream:!0}),K=(0,p.vZ)(J),L={method:"POST",headers:J,body:JSON.stringify(u),signal:e};f?.info?.("NOTION-AI",`Requesting ${a} via private Notion web protocol`);try{z=await y(p.KP,L,h)}catch(a){if(e?.aborted||a?.name==="AbortError")throw a;return I?.createThread&&o(I),{response:r("Could not connect to Notion",502,"NOTION_CONNECTION_ERROR"),url:p.KP,headers:K,transformedBody:u}}if(!z.ok){let a=z.status||502;return await (0,g.aI)(z),I?.createThread&&o(I),{response:r(401===a||403===a?"Notion session rejected - re-paste the cookie and verify the workspace IDs":429===a?"Notion rate limited this session - wait and retry":a>=500?`Notion returned HTTP ${a}`:`Notion rejected the request with HTTP ${a}`,a,`HTTP_${a}`),url:p.KP,headers:K,transformedBody:u}}if(!z.body)return I?.createThread&&o(I),{response:r("Notion returned an empty response body",502,"NOTION_EMPTY_BODY"),url:p.KP,headers:K,transformedBody:u};let M=`chatcmpl-notion-${globalThis.crypto?.randomUUID?.().slice(0,12)||Date.now().toString(36)}`,N=Math.floor(Date.now()/1e3),O=c?new Response(function(a,b,c,d,e,f=null){let g=new TextEncoder;return new ReadableStream({async start(h){let i=!1,j=a=>{i||h.enqueue(g.encode(a))};try{j(s(w({id:c,model:b,created:d,delta:{role:"assistant"}})));let g=null;for await(let f of v(a,e)){if(f.error){g=f.error;break}if(f.done)break;"thinking"===f.type?j(s(w({id:c,model:b,created:d,delta:{reasoning_content:f.delta}}))):"text"===f.type&&j(s(w({id:c,model:b,created:d,delta:{content:f.delta}})))}g&&(f?.(),j(s(t(g)))),g||j(s(w({id:c,model:b,created:d,delta:{},finishReason:"stop"}))),j("data: [DONE]\n\n")}catch(a){if(e?.aborted||a?.name==="AbortError"){i||h.error(a);return}f?.(),j(s(t(a.message||"unknown error"))),j("data: [DONE]\n\n")}finally{i||(i=!0,h.close())}},cancel:b=>a?.cancel?.(b)})}(z.body,a,M,N,e,()=>{I?.createThread&&o(I)}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}}):await x(z.body,a,M,N,b,e);return!O.ok&&I?.createThread&&o(I),{response:O,url:p.KP,headers:K,transformedBody:u}}}},66014:a=>{let b=[{open:"<thinking>",close:"</thinking>"},{open:"<think>",close:"</think>"}];function c(a,b,c){if(!c)return;let d=a[a.length-1];d?.type===b?d.text+=c:a.push({type:b,text:c})}function d(a,b){let c=a.toLowerCase(),d=0;for(let a of b){let b=Math.min(c.length,a.length-1);for(let e=b;e>d;e--)if(c.endsWith(a.slice(0,e))){d=e;break}}return d}a.exports={createTaggedThinkingState:function(){return{mode:"text",closeTag:null,buffer:""}},flushTaggedThinking:function(a){if(!a)return[];let b=[];return c(b,"reasoning"===a.mode?"reasoning":"text",a.buffer),a.mode="text",a.closeTag=null,a.buffer="",b},pushTaggedThinking:function(a,e){if(!a||"string"!=typeof e||0===e.length)return[];a.buffer+=e;let f=[];for(;a.buffer;){let e=a.buffer.toLowerCase();if("text"===a.mode){let g=null;for(let a of b){let b=e.indexOf(a.open);b>=0&&(!g||b<g.index)&&(g={...a,index:b})}if(g){c(f,"text",a.buffer.slice(0,g.index)),a.buffer=a.buffer.slice(g.index+g.open.length),a.mode="reasoning",a.closeTag=g.close;continue}let h=d(a.buffer,b.map(a=>a.open));c(f,"text",a.buffer.slice(0,a.buffer.length-h)),a.buffer=h?a.buffer.slice(-h):"";break}let g=a.closeTag||"</thinking>",h=e.indexOf(g);if(h>=0){c(f,"reasoning",a.buffer.slice(0,h)),a.buffer=a.buffer.slice(h+g.length),a.mode="text",a.closeTag=null;continue}let i=d(a.buffer,[g]);c(f,"reasoning",a.buffer.slice(0,a.buffer.length-i)),a.buffer=i?a.buffer.slice(-i):"";break}return f}}},66682:(a,b,c)=>{c.d(b,{n:()=>g});var d=c(23004);async function e(a){try{await a?.body?.cancel?.()}catch{}}async function f(a,b){if(!a.body?.getReader){let c=Buffer.from(await a.arrayBuffer());return c.byteLength<=b?c:null}let c=a.body.getReader(),d=[],e=0;try{for(;;){let{done:a,value:f}=await c.read();if(a)break;if((e+=f.byteLength)>b)return await c.cancel(),null;d.push(Buffer.from(f))}return Buffer.concat(d,e)}finally{c.releaseLock?.()}}async function g(a,b={}){let c,{signal:h,timeoutMs:i=1e4,maxBytes:j=0x1400000}=b;if(!a||!a.startsWith("http://")&&!a.startsWith("https://"))return null;let k=new AbortController,l=()=>k.abort(h?.reason);h?.aborted?l():h?.addEventListener("abort",l,{once:!0});let m=Number.isFinite(i)&&i>0?setTimeout(()=>k.abort(),i):null;try{if(!(c=await (0,d.aO)(a,{signal:k.signal})).ok)return await e(c),null;let b=Number(c.headers.get("Content-Length"));if(Number.isFinite(b)&&b>j)return await e(c),null;let g=(c.headers.get("Content-Type")||"image/jpeg").split(";",1)[0].trim().toLowerCase();if(!g.startsWith("image/"))return await e(c),null;let h=await f(c,j);if(!h)return null;let i=h.toString("base64");return{url:`data:${g};base64,${i}`,mimeType:g}}catch{return await e(c),null}finally{m&&clearTimeout(m),h?.removeEventListener("abort",l)}}},73483:(a,b,c)=>{c.d(b,{Gh:()=>k,IF:()=>n,O9:()=>h,OF:()=>m,WL:()=>i,f5:()=>l,lm:()=>g});var d=c(47370),e=c(14170);let f="1"===process.env.LOG_USAGE_VERBOSE,g={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function h(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 i(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","total_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 j(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),a?.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details&&(b.prompt_tokens_details=a.prompt_tokens_details),a?.completion_tokens_details&&"object"==typeof a.completion_tokens_details&&(b.completion_tokens_details=a.completion_tokens_details),0===Object.keys(b).length)?null:b}function k(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function l(a){if(!a||"object"!=typeof a)return null;if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return j({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,c=b.input_tokens_details?.cached_tokens;return j({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:c,reasoning_tokens:b.output_tokens_details?.reasoning_tokens,prompt_tokens_details:c?{cached_tokens:c}:void 0})}if(a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens)return j({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens||a.usage.prompt_cache_hit_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens,prompt_tokens_details:a.usage.prompt_tokens_details,completion_tokens_details:a.usage.completion_tokens_details});let b=a.usageMetadata||a.response?.usageMetadata;return b&&"object"==typeof b?j({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount}):!0===a.done&&"number"==typeof a.prompt_eval_count?j({prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}):null}function m(a,b,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?h({input_tokens:d,output_tokens:f,estimated:!0}):h({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function n(a,b,c=null,e=null,h=null,i={}){if(!b||"object"!=typeof b)return;let j=a?.toUpperCase()||"UNKNOWN",k=b?.prompt_tokens||b?.input_tokens||0,l=b?.completion_tokens||b?.output_tokens||0,m=e?e.slice(0,8)+"...":"unknown",o=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${g.green}[USAGE] ${j} | in=${k} | out=${l} | account=${m}${g.reset}`;b.estimated&&(o+=` ${g.yellow}(estimated)${g.reset}`);let p=b.cache_read_input_tokens||b.cached_tokens||b.prompt_tokens_details?.cached_tokens;p&&(o+=` | cache_read=${p}`);let q=b.cache_creation_input_tokens;q&&(o+=` | cache_create=${q}`);let r=b.reasoning_tokens;r&&(o+=` | reasoning=${r}`),f&&console.log(o);let s={prompt_tokens:k,completion_tokens:l,cache_read_input_tokens:p||0,cache_creation_input_tokens:q||0,reasoning_tokens:r||0};!1!==i.persistUsage&&(0,d.sZ)({model:c,provider:a,connectionId:e,tokens:s,apiKey:h||void 0}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:s,status:"200 OK"}).catch(()=>{})}},73870:(a,b,c)=>{c.d(b,{w:()=>j});var d=c(74957),e=c(35024),f=c(8590),g=c(39609);let h=new Map;async function i(a){if(h.has(a))return h.get(a);let b=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&h.set(a,e),e}class j extends d.Hv{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=e?null:d?.apiKey,h=e?.project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!h)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/global/endpoints/openapi/chat/completions`;return g?`${a}?key=${g}`:a}let i=b?"streamGenerateContent":"generateContent";if(e){let c=d?.providerSpecificData?.location||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/${c}/publishers/google/models/${a}:${i}`;return b&&(e+="?alt=sse"),e}let j=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${i}`;return b&&(j+="?alt=sse"),g&&(j+=b?`&key=${g}`:`?key=${g}`),j}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,f.Sc)(a?.apiKey);if(!c)return null;let d=await (0,f.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:j=null}){let k=(0,f.Sc)(d?.apiKey);if(k){let a=await (0,f.pb)(k,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!k&&!d?.providerSpecificData?.projectId){let a=await i(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let l=this.buildUrl(a,c,0,d),m=this.buildHeaders(d,c),n=this.transformRequest(a,b,c,d);return{response:await (0,g.proxyAwareFetch)(l,{method:"POST",headers:m,body:JSON.stringify(n),signal:e},j),url:l,headers:m,transformedBody:n}}}},74957:(a,b,c)=>{c.d(b,{Hv:()=>j});var d=c(58500),e=c(41004),f=c(93943),g=c(39609),h=c(59657),i=c(92306);class j{constructor(a,b){this.provider=a,this.config=b,this.noAuth=b?.noAuth||!1}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}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}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 this.provider?.startsWith?.("anthropic-compatible-")?(a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):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}prepareRequestBody(a,b){return JSON.stringify(a)}shouldRetry(a,b){return a===e.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b,c=null){return null}needsRefresh(a){return(0,f.fp)(this.provider,a)}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:f,sourceFormat:j=null,targetFormat:k=null,requestFormat:l=null,runtimeTransport:m=null,signal:n,log:o,proxyOptions:p=null,connectTimeoutMs:q=null}){let r={model:a,sourceFormat:j,targetFormat:k,requestFormat:l,runtimeTransport:m},s=this.getFallbackCount(),t=null,u=0,v={},w={...e.cI,...this.config.retry},x=async(a,b,c,f=null)=>{let{attempts:g,delayMs:i}=(0,e.DR)(w[b]);return!(g<=0)&&!(v[a]>=g)&&(v[a]++,o?.debug?.("RETRY",`${c} retry ${v[a]}/${g} after ${i/1e3}s`),f&&await (0,h.aI)(f),await (0,d.setTimeout)(i,void 0,{signal:n}),!0)};for(let d=0;d<s;d++){let j=this.buildUrl(a,c,d,f,r),k=this.transformRequest(a,b,c,f,r),l=this.buildHeaders(f,c,r);v[d]||(v[d]=0);let m=new AbortController,w=q||this.config?.timeoutMs||e.pH,y=setTimeout(()=>m.abort(Error("fetch connect timeout")),w),z=n?AbortSignal.any([n,m.signal]):m.signal;try{let a=this.prepareRequestBody(k,l),b="string"==typeof a?a.length:a?.byteLength??a?.length??"?",c=Date.now();(0,i.s)("FETCH",`${this.provider.toUpperCase()} → ${j} | body=${b}B | connectTimeout=${w}ms`);let f=await (0,g.proxyAwareFetch)(j,{method:"POST",headers:l,body:a,signal:z},p);clearTimeout(y);let q=f.headers?.get?.("content-type")||"",r=f.headers?.get?.("content-length")||"?";if((0,i.s)("FETCH",`${this.provider.toUpperCase()} ← ${f.status} | ttft=${Date.now()-c}ms | ct=${q} | cl=${r}`),await x(d,f.status,`status ${f.status}`,f)){d--;continue}if(this.shouldRetry(f.status,d)){o?.debug?.("RETRY",`${f.status} on ${j}, trying fallback ${d+1}`),u=f.status,await (0,h.aI)(f);continue}return{response:function(a,b,c,d){if(!a.body||!b)return a;let e=a.body.getReader();return new Response(new ReadableStream({async pull(a){let f;if(d?.aborted)throw d.reason;try{let g=new Promise((a,d)=>{f=setTimeout(()=>{let a=Error("response body timeout");d(a),queueMicrotask(()=>{c.abort(a),e.cancel(a).catch(()=>{})})},b)}),{done:h,value:i}=await Promise.race([e.read(),g]);if(d?.aborted)throw d.reason;h?a.close():a.enqueue(i)}catch(b){a.error(b)}finally{clearTimeout(f)}},cancel:a=>e.cancel(a)}),a)}(f,this.config?.responseTimeoutMs||e.xM,m,n),url:j,headers:l,transformedBody:k}}catch(b){clearTimeout(y),t=b;let a=m.signal.aborted&&"AbortError"===b.name;if((0,i.s)("FETCH",`${this.provider.toUpperCase()} ✖ ${b.name}: ${b.message}${a?" (connect timeout)":""}`),"AbortError"===b.name&&!a)throw b;if(await x(d,e.gx.BAD_GATEWAY,`network "${b.message}"`)){d--;continue}if(d+1<s){o?.debug?.("RETRY",`Error on ${j}, trying fallback ${d+1}`);continue}throw b}}throw t||Error(`All ${s} URLs failed with status ${u}`)}}},76985:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{RR:()=>v,bh:()=>q});var e=c(55511),f=c(74075),g=c.n(f),h=c(41004),i=c(14170),j=c(81756),k=c(55456),l=c(73483);let a=["temperature","top_p","max_completion_tokens","max_output_tokens","response_format","reasoning_effort","reasoning","tool_choice","parallel_tool_calls"],w=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{w=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}function m(...a){let b=a.filter(Boolean).map(a=>Buffer.from(a));return Buffer.concat(b)}function n(a,b){return(0,k.Xh)(a,2,b)}function o(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join("\n"):""}function p(a){return!!(!a||"object"!=typeof a||"tool"===a.role||a.tool_call_id||Array.isArray(a.tool_calls)&&a.tool_calls.length>0||Array.isArray(a.tool_results)&&a.tool_results.length>0)||("string"==typeof a.content?/<(?:image_url|tool_result)>/i.test(a.content):Array.isArray(a.content)?a.content.some(a=>a?.type!=="text"||"string"!=typeof a.text):null!=a.content)}function q(b={}){let c=Array.isArray(b.messages)?b.messages.findLast(a=>a?.role!=="system"):null;return!0!==b.stream&&Array.isArray(b.messages)&&b.messages.length>0&&c?.role==="user"&&(!Array.isArray(b.tools)||0===b.tools.length)&&(void 0===b.max_tokens||32e3===b.max_tokens)&&!a.some(a=>void 0!==b[a])&&!b.messages.some(p)}function r(a){let b=o(a.content);if(!b)return null;let c=n(1,b);return"assistant"===a.role?n(2,n(1,n(1,c))):n(1,n(1,n(1,c)))}function s({url:a,headers:b,signal:c}){if(!w)throw Error("HTTP/2 is unavailable for Cursor AgentService");let d=new URL(a),e=w.connect(`${d.protocol}//${d.host}`),f=[],g=null,h=!1,i=null,j=e.request({":method":"POST",":path":d.pathname,":authority":d.host,":scheme":d.protocol.slice(0,-1),...b}),k=a=>{if(!g)return;let b=g;g=null,b(a)},l=a=>{i||(i=a,h=!0,k(null))},m=()=>{c?.removeEventListener?.("abort",n);try{j.destroy()}catch{}try{e.close()}catch{}},n=()=>{let a=c?.reason instanceof Error?c.reason:Object.assign(Error("Cursor AgentService request aborted"),{name:"AbortError"});l(a),m()};return e.on("error",l),j.on("error",l),j.on("data",a=>{g?k({value:a,done:!1}):f.push(a)}),j.on("end",()=>{h=!0,k({value:void 0,done:!0})}),c?.aborted?n():c?.addEventListener?.("abort",n,{once:!0}),{responseHeaders:new Promise((a,b)=>{j.once("response",a),j.once("error",b),e.once("error",b)}),write(a){j.destroyed||j.write(Buffer.from(a))},end(){j.destroyed||j.end()},close:m,async read(){if(f.length)return{value:f.shift(),done:!1};if(i)throw i;if(h)return{value:void 0,done:!0};let a=await new Promise(a=>{g=a});if(i)throw i;return a||{value:void 0,done:!0}}}}class x extends Error{constructor(a,b=!1,c={}){super(a,c),this.name="CursorAgentError",this.semanticCommitted=b}}function t(a,b){let c=0n;for(let d=0;d<10;d+=1){if(b>=a.length)throw Error("truncated protobuf varint");let e=a[b++];if(c|=BigInt(127&e)<<BigInt(7*d),(128&e)==0){if(c>BigInt(Number.MAX_SAFE_INTEGER))throw Error("protobuf varint exceeds safe range");return[Number(c),b]}}throw Error("protobuf varint exceeds 10 bytes")}function u(a){let b=Buffer.from(a),c=new Map,d=0;for(;d<b.length;){let a,[e,f]=t(b,d),g=Math.floor(e/8),h=e%8;if(0===g)throw Error("protobuf field zero is invalid");if(d=f,0===h)[a,d]=t(b,d);else if(2===h){let c;if([c,d]=t(b,d),c>b.length-d)throw Error("truncated protobuf field");a=b.subarray(d,d+c),d+=c}else if(1===h||5===h){let c=1===h?8:4;if(c>b.length-d)throw Error("truncated fixed protobuf field");a=b.subarray(d,d+c),d+=c}else throw Error(`unsupported protobuf wire type ${h}`);c.has(g)||c.set(g,[]),c.get(g).push({wireType:h,value:a})}return c}async function v(a){var b,c;let d,f,p,q,{model:t,body:v,credentials:w,signal:y,openStream:z=s}=a,A=(b=a.timeoutMs||6e4,f=new AbortController,p=()=>{let a=y?.reason,b=a?.name==="AbortError"?a:Object.assign(Error("Cursor AgentService request aborted",{...a instanceof Error?{cause:a}:{}}),{name:"AbortError"});f.abort(b)},y?.aborted?p():y?.addEventListener?.("abort",p,{once:!0}),q=setTimeout(()=>{let a=Error("Cursor AgentService request timed out");a.name="TimeoutError",f.abort(a)},b),q.unref?.(),{signal:f.signal,cleanup(){clearTimeout(q),y?.removeEventListener?.("abort",p)}}),B=A.signal,C=a.url||"https://agent.api5.cursor.sh/agent.v1.AgentService/Run",D=a.headers||(0,j.JA)(w.accessToken,w.providerSpecificData?.machineId,w.providerSpecificData?.ghostMode!==!1),E={buffer:Buffer.alloc(0),content:"",semanticCommitted:!1,terminal:!1};try{let a;(d=z({url:C,headers:D,signal:B})).write(function(a,b={},c={}){let d=b.messages||[],f=d.filter(a=>a?.role==="system").map(a=>o(a.content)).filter(Boolean).join("\n\n"),g=d.filter(a=>a?.role!=="system"),h=g.map(a=>a?.role).lastIndexOf("user"),i=h>=0?g[h]:g.at(-1),j=g.slice(0,h>=0?h:-1).map(r).filter(Boolean),l=m(n(1,o(i?.content)||"Continue."),n(2,c.requestId||(0,e.randomUUID)())),p=j.length?m(...j.map(a=>n(1,a))):null,q=m(n(1,l),p?n(7,p):null),s=n(1,q),t=m(n(1,a),(0,k.Xh)(7,0,1)),u=m(n(1,new Uint8Array),n(2,s),f?n(8,f):null,n(9,t));return Buffer.from((0,k.tM)(n(1,u)))}(t,v));let b=await d.responseHeaders,f=Number(b?.[":status"]||0);if(200!==f)throw new x(`Cursor AgentService returned HTTP ${f||h.gx.SERVER_ERROR}`);for(;!E.terminal;){let{done:a,value:b}=await d.read();if(a)break;E.buffer=Buffer.concat([E.buffer,Buffer.from(b)]),function(a,b){let c=a.buffer;for(;c.length>=5;){let d=c[0],e=c.readUInt32BE(1);if(e>0x1000000)throw new x("Cursor AgentService frame exceeded the safety limit",a.semanticCommitted);if(c.length<5+e)break;let f=c.subarray(5,5+e);if(c=c.subarray(5+e),1&d)try{f=g().gunzipSync(f)}catch(b){throw new x("Cursor AgentService sent an invalid compressed frame",a.semanticCommitted,{cause:b})}2&d||function(a,b,c){try{let e=u(a);if(e.has(1)){let a=u(e.get(1)[0].value);if(a.has(1)){var d;let c,e=(d=u(a.get(1)[0].value),(c=d.get(1)?.[0]?.value)&&"number"!=typeof c?Buffer.from(c).toString("utf8"):"");e&&(b.content+=e,b.semanticCommitted=!0)}a.has(14)&&(b.terminal=!0)}if(e.has(2))if(u(e.get(2)[0].value).has(10)){let a=n(1,new Uint8Array);c.write((0,k.tM)(n(2,n(10,n(1,a)))))}else throw new x("Cursor AgentService requested an unsupported IDE tool",b.semanticCommitted)}catch(a){if(a instanceof x)throw a;throw new x("Cursor AgentService sent malformed protobuf",b.semanticCommitted,{cause:a})}}(f,a,b)}a.buffer=c}(E,d)}if(E.buffer.length>0)throw new x("Cursor AgentService ended with a truncated frame",E.semanticCommitted);if(!E.terminal)throw new x("Cursor AgentService ended without a terminal event",E.semanticCommitted);return{response:(c=E.content,a=Math.floor(Date.now()/1e3),new Response(JSON.stringify({id:`chatcmpl-cursor-agent-${Date.now()}`,object:"chat.completion",created:a,model:t,choices:[{index:0,message:{role:"assistant",content:c||null},finish_reason:"stop"}],usage:(0,l.OF)(v,c.length,i.h.OPENAI)}),{status:200,headers:{"Content-Type":"application/json","X-Zevai-Transport":"cursor-agent"}})),url:C,headers:D,transformedBody:v,responseFormat:i.h.OPENAI,semanticCommitted:E.semanticCommitted,transport:"agent",debug:{cursorTransport:"agent"}}}catch(a){if(a?.name==="AbortError"&&y?.aborted)throw a.semanticCommitted=E.semanticCommitted,a;if(a instanceof x)throw a;throw new x("Cursor AgentService transport failed",E.semanticCommitted,{cause:a})}finally{A.cleanup();try{d?.end?.()}catch{}try{d?.close?.()}catch{}}}d()}catch(a){d(a)}},1)},85308:(a,b,c)=>{c.d(b,{q:()=>h});var d=c(74957),e=c(39609),f=c(35024);let g=parseInt(process.env.TRAE_STREAM_TIMEOUT_MS||"300000",10);class h extends d.Hv{constructor(){super("trae",f.xq.trae)}base(){return(this.config.baseUrl||"https://core-normal.trae.ai/api/remote/v1").replace(/\/$/,"")}buildHeaders(a,b=!0){let c=a?.accessToken||a?.apiKey||"",d=a?.providerSpecificData||{};return{Authorization:`Cloud-IDE-JWT ${c}`,"Content-Type":"application/json","X-Trae-Client-Type":"web","X-Preferenced-Language":d.appLanguage||"en","x-user-region":d.userRegion||"US",Referer:"https://solo.trae.ai/","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Accept:b?"text/event-stream":"application/json"}}resolveMode(a){let b=(a||"").trim().toLowerCase();if("work"===b||"auto-work"===b||"solo-work"===b)return{mode:"work",strategy:"auto",modelName:""};let c=!b||"auto"===b;return{mode:"code",strategy:c?"auto":"manual",modelName:c?"":a}}commonParams(a,b,c){let d={language:"en-us",app_language:a.appLanguage||"en",quality:"stable",app_version:a.appVersion||"1.0.0.1229",web_id:a.webId||"",user_identity:a.userIdentity||"Free",is_freshman:"0",biz_user_id:a.bizUserId||"",user_unique_id:a.userUniqueId||"",scope:a.scope||"marscode-us",tenant:a.tenant||"marscode",region:a.region||"US-East",aiRegion:a.aiRegion||a.region||"US-East",is_privacy_mode:0,privacy_mode:"off",solo_chat_mode:b};return c&&(d.biz_session_id=c),JSON.stringify(d)}async createSession(a,b,c,d,f){let{mode:g,strategy:h,modelName:i}=this.resolveMode(c),j={mode:g,environment_id:"default",initial_message:{chat_session_id:"",content:[],query:b,model_name:i,agent_type:"solo_agent_remote",model_selection_strategy:h,common_params:this.commonParams(d,g)},env:"remote",auto_create_project:!1,origin:"web"},k=await (0,e.proxyAwareFetch)(`${this.base()}/chat_sessions`,{method:"POST",headers:a,body:JSON.stringify(j),signal:f},null),l=await k.text();if(!k.ok)throw Error(`[${k.status}] ${l}`);let m=JSON.parse(l);if(m?.code!==0)throw Error(`Trae create_session: ${JSON.stringify(m)}`);return{sessionId:m.data.chat_session_id,messageId:m.data.message_id}}async streamEvents(a,b,c,d,f){let h=`${this.base()}/chat_sessions/${b}/events?reply_to_message_id=${encodeURIComponent(c)}`,i=new AbortController;f?.aborted&&i.abort();let j=setTimeout(()=>i.abort(Error("trae stream timeout")),g),k=()=>i.abort();f&&f.addEventListener("abort",k,{once:!0});try{let b=await (0,e.proxyAwareFetch)(h,{method:"GET",headers:a,signal:i.signal},null);if(!b.ok||!b.body)throw Error(`[${b.status}] events stream failed`);let c=b.body.getReader(),f=new TextDecoder,g="",j=null;for(;;){let a,{done:b,value:e}=await c.read();if(b)break;for(g+=f.decode(e,{stream:!0});(a=g.indexOf("\n"))>=0;){let b=g.slice(0,a).replace(/\r$/,"");if(g=g.slice(a+1),b.startsWith("event:"))j=b.slice(6).trim();else if(b.startsWith("data:")){let a,e=b.slice(5).trim();try{a=JSON.parse(e)}catch{a={_raw:e}}if(d(j,a))return void await c.cancel().catch(()=>{})}else""===b&&(j=null)}}}finally{clearTimeout(j),f&&f.removeEventListener("abort",k)}}async execute({model:a,body:b,stream:c,credentials:d,signal:e}){let f,g=this.buildHeaders(d,!1!==c),h=d?.providerSpecificData||{},i=function(a){let b=[];for(let c of a){let a="";"string"==typeof c.content?a=c.content:Array.isArray(c.content)&&(a=c.content.map(a=>"string"==typeof a?a:a&&"object"==typeof a?String(a.text??""):"").join("")),"system"===c.role?b.push(`[System]
189
189
  ${a}`):"assistant"===c.role?b.push(`[Assistant]
190
190
  ${a}`):b.push(a)}return JSON.stringify([{type:"text",data:{content:b.join("\n\n")}}])}(b?.messages||[]),j=`chatcmpl-trae-${Date.now()}`,k=Math.floor(Date.now()/1e3),l=(a,b)=>new Response(JSON.stringify({error:{message:b,type:"api_error",code:""}}),{status:a,headers:{"Content-Type":"application/json"}});try{f=await this.createSession(g,i,a,h,e)}catch(a){return{response:l(502,a?.message?String(a.message):String(a)),url:this.base(),headers:g,transformedBody:b}}let m=[],n={},o=0,p=null,q=null,r=a=>{let b=a.id;if(!b)return"";b in n||m.push(b);let c=a.thought||"";c.length>=(n[b]||"").length&&(n[b]=c);let d=m.map(a=>n[a]).join(""),e=d.slice(o);return o=d.length,e};if(!1!==c){let c=new TextEncoder;return{response:new Response(new ReadableStream({start:async b=>{let d=a=>b.enqueue(c.encode(`data: ${JSON.stringify(a)}
191
191