zevairouter 1.1.28 → 1.1.29

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 (475) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  3. package/cli/app/.next-cli-build/app-path-routes-manifest.json +9 -9
  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.js.nft.json +1 -1
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  35. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  36. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  37. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  38. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  39. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  40. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  41. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  42. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  43. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  44. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  45. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  46. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  47. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  48. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  49. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  50. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  56. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  57. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  59. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  60. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  61. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  62. package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  63. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  64. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  65. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  66. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  67. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  68. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  69. package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  70. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  71. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  72. package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  73. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  74. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  75. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  76. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  77. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  78. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  79. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  80. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  81. package/cli/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  82. package/cli/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  83. package/cli/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  84. package/cli/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  85. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  86. package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
  87. package/cli/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
  88. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  89. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  90. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  91. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  92. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  93. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  94. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  95. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  96. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  97. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
  98. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  99. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  100. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  101. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  102. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  103. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  105. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  107. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  108. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  109. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  111. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  113. package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  114. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  115. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  117. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  119. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  120. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  121. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  123. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  125. package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
  129. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
  130. package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js.nft.json +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js.nft.json +1 -1
  132. package/cli/app/.next-cli-build/server/app/api/dashboard/media/videos/[id]/route.js.nft.json +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/headroom/enable/route.js.nft.json +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  135. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  137. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  138. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  139. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  140. package/cli/app/.next-cli-build/server/app/api/health/ready/route.js.nft.json +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  142. package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  143. package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  145. package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  146. package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  147. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  148. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  149. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  151. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  153. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
  155. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  159. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  160. package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  161. package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  162. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  163. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  164. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  165. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
  166. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
  167. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
  168. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  169. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  170. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
  171. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
  172. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
  173. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  174. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  175. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
  176. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
  177. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  188. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  190. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js.nft.json +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js.nft.json +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-token/route.js.nft.json +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  199. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  200. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  202. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
  203. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
  204. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
  205. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  207. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  208. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  209. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  216. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  217. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  218. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  219. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  220. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  221. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  222. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  223. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  224. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
  225. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  226. package/cli/app/.next-cli-build/server/app/api/providers/codebuddy/discover-models/route.js.nft.json +1 -1
  227. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  228. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  229. package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  231. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  233. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  236. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  241. package/cli/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  244. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  247. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  248. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
  255. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
  256. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  265. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  266. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  277. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  278. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  279. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  280. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
  281. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  282. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  283. package/cli/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  284. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  285. package/cli/app/.next-cli-build/server/app/api/usage/quota-stream/route.js.nft.json +1 -1
  286. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  287. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  288. package/cli/app/.next-cli-build/server/app/api/usage/routing-stream/route.js.nft.json +1 -1
  289. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  290. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  291. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  292. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  293. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  294. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  295. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  296. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  297. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  298. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  299. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  300. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  301. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  302. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  303. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  304. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  305. package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  306. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  307. package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  308. package/cli/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  309. package/cli/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  310. package/cli/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  311. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  312. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  313. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  314. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  315. package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  316. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  317. package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  318. package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  319. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  320. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  321. package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
  322. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  323. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  324. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
  325. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  326. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
  327. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +5 -5
  328. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
  329. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
  330. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  331. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  332. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +5 -5
  333. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  334. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  335. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  336. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  337. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +5 -5
  338. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  339. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  340. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  341. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  342. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +5 -5
  343. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  344. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  345. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  346. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
  347. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +5 -5
  348. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
  349. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
  350. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  351. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  352. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +5 -5
  353. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  354. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  355. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  356. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  357. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +5 -5
  358. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  359. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  360. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  361. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  362. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +5 -5
  363. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  364. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  365. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  366. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +5 -5
  367. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +5 -5
  368. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +5 -5
  369. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
  370. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  371. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  372. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +5 -5
  373. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  374. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  375. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  376. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  377. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +5 -5
  378. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  379. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  380. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  381. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  382. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +5 -5
  383. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  384. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  385. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  386. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  387. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +5 -5
  388. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  389. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  390. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  391. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  392. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +5 -5
  393. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  394. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  395. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  396. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  397. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +6 -6
  398. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  399. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  400. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  401. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  402. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
  403. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  404. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  405. package/cli/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  406. package/cli/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  407. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +5 -5
  408. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  409. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  410. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  411. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  412. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +5 -5
  413. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  414. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  415. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  416. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  417. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +5 -5
  418. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  419. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  420. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  421. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  422. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +5 -5
  423. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  424. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  425. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  426. package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  427. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +5 -5
  428. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  429. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  430. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  431. package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
  432. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  433. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  434. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  435. package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  436. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  437. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  438. package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
  439. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  440. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  441. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
  442. package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  443. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  444. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  445. package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
  446. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  447. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  448. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  449. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  450. package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  451. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  452. package/cli/app/.next-cli-build/server/app/provider-icons/[provider]/route.js.nft.json +1 -1
  453. package/cli/app/.next-cli-build/server/app-paths-manifest.json +9 -9
  454. package/cli/app/.next-cli-build/server/chunks/1131.js +1 -1
  455. package/cli/app/.next-cli-build/server/chunks/1350.js +1 -1
  456. package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
  457. package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
  458. package/cli/app/.next-cli-build/server/chunks/7319.js +8 -8
  459. package/cli/app/.next-cli-build/server/chunks/7634.js +1 -1
  460. package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
  461. package/cli/app/.next-cli-build/server/chunks/static/media/{server.f66733f4.js → server.007a63c1.js} +1 -1
  462. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  463. package/cli/app/.next-cli-build/server/middleware.js +1 -1
  464. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  465. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  466. package/cli/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  467. package/cli/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  468. package/cli/app/.next-cli-build/static/chunks/{620-5cd5a3119e218410.js → 620-4800652a81771080.js} +1 -1
  469. package/cli/app/CHANGELOG.md +6 -0
  470. package/cli/app/package.json +1 -1
  471. package/cli/app/src/mitm/server.js +14 -14
  472. package/cli/package.json +1 -1
  473. package/package.json +1 -1
  474. /package/cli/app/.next-cli-build/static/{-Xrwjtepn6mNwABL2m7Y1 → Ywy7U-bSPn_jqjAGFJQAc}/_buildManifest.js +0 -0
  475. /package/cli/app/.next-cli-build/static/{-Xrwjtepn6mNwABL2m7Y1 → Ywy7U-bSPn_jqjAGFJQAc}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- exports.id=7319,exports.ids=[7319],exports.modules={1447:(a,b,c)=>{},1712:(a,b,c)=>{"use strict";let d=c(34589),{addAbortListener:e}=c(78474),{Readable:f}=c(57075),{RequestAbortedError:g,NotSupportedError:h,InvalidArgumentError:i,AbortError:j}=c(61448),k=c(84285),{ReadableStreamFrom:l}=c(84285),m=Symbol("kConsume"),n=Symbol("kReading"),o=Symbol("kBody"),p=Symbol("kAbort"),q=Symbol("kContentType"),r=Symbol("kContentLength"),s=Symbol("kUsed"),t=Symbol("kBytesRead"),u=()=>{};class v extends f{constructor({resume:a,abort:b,contentType:c="",contentLength:d,highWaterMark:e=65536}){super({autoDestroy:!0,read:a,highWaterMark:e}),this._readableState.dataEmitted=!1,this[p]=b,this[m]=null,this[t]=0,this[o]=null,this[s]=!1,this[q]=c,this[r]=Number.isFinite(d)?d:null,this[n]=!1}_destroy(a,b){a||this._readableState.endEmitted||(a=new g),a&&this[p](),this[s]?b(a):setImmediate(b,a)}on(a,b){return("data"===a||"readable"===a)&&(this[n]=!0,this[s]=!0),super.on(a,b)}addListener(a,b){return this.on(a,b)}off(a,b){let c=super.off(a,b);return("data"===a||"readable"===a)&&(this[n]=this.listenerCount("data")>0||this.listenerCount("readable")>0),c}removeListener(a,b){return this.off(a,b)}push(a){return a&&(this[t]+=a.length,this[m])?(A(this[m],a),!this[n]||super.push(a)):super.push(a)}text(){return w(this,"text")}json(){return w(this,"json")}blob(){return w(this,"blob")}bytes(){return w(this,"bytes")}arrayBuffer(){return w(this,"arrayBuffer")}async formData(){throw new h}get bodyUsed(){return k.isDisturbed(this)}get body(){return!this[o]&&(this[o]=l(this),this[m]&&(this[o].getReader(),d(this[o].locked))),this[o]}dump(a){let b=a?.signal;if(null!=b&&("object"!=typeof b||!("aborted"in b)))return Promise.reject(new i("signal must be an AbortSignal"));let c=a?.limit&&Number.isFinite(a.limit)?a.limit:131072;return b?.aborted?Promise.reject(b.reason??new j):this._readableState.closeEmitted?Promise.resolve(null):new Promise((a,d)=>{if((this[r]&&this[r]>c||this[t]>c)&&this.destroy(new j),b){let c=()=>{this.destroy(b.reason??new j)},f=e(b,c);this.on("close",function(){f[Symbol.dispose](),b.aborted?d(b.reason??new j):a(null)})}else this.on("close",a);this.on("error",u).on("data",()=>{this[t]>c&&this.destroy()}).resume()})}setEncoding(a){return Buffer.isEncoding(a)&&super.setEncoding(a),this}}function w(a,b){return d(!a[m]),new Promise((c,d)=>{if(k.isDisturbed(a)||a[o]?.locked===!0||null!==a[m]){let b=a._readableState;b.destroyed&&!1===b.closeEmitted?a.on("error",d).on("close",()=>{d(TypeError("unusable"))}):d(b.errored??TypeError("unusable"))}else queueMicrotask(()=>{a[m]={type:b,stream:a,resolve:c,reject:d,length:0,body:[]},a.on("error",function(a){B(this[m],a)}).on("close",function(){null!==this[m].body&&B(this[m],new g)}),function(a){if(null===a.body)return;let{_readableState:b}=a.stream;if(b.bufferIndex){let c=b.bufferIndex,d=b.buffer.length;for(let e=c;e<d;e++)A(a,b.buffer[e])}else for(let c of b.buffer)A(a,c);let c=b.decoder;if(null!=c&&c.lastNeed>0&&A(a,Buffer.from(c.lastChar.subarray(0,c.lastTotal-c.lastNeed))),b.endEmitted)return z(a,b.encoding);for(a.stream.on("end",function(){z(this[m],this._readableState.encoding)}),a.stream.resume();null!=a.stream.read(););}(a[m])})})}function x(a,b,c){if(0===a.length||0===b)return"";let d=1===a.length?a[0]:Buffer.concat(a,b),e=d.length,f=3*(e>2&&239===d[0]&&187===d[1]&&191===d[2]);return c&&"utf8"!==c&&"utf-8"!==c?d.subarray(f,e).toString(c):d.utf8Slice(f,e)}function y(a,b){if(0===a.length||0===b)return new Uint8Array(0);if(1===a.length)return new Uint8Array(a[0]);let c=new Uint8Array(Buffer.allocUnsafeSlow(b).buffer),d=0;for(let b=0;b<a.length;++b){let e=a[b];c.set(e,d),d+=e.length}return c}function z(a,b){let{type:c,body:d,resolve:e,stream:f,length:g}=a;try{"text"===c?e(x(d,g,b)):"json"===c?e(JSON.parse(x(d,g,b))):"arrayBuffer"===c?e(y(d,g).buffer):"blob"===c?e(new Blob(d,{type:f[q]})):"bytes"===c&&e(y(d,g)),B(a)}catch(a){f.destroy(a)}}function A(a,b){null!==a.body&&("string"==typeof b&&(b=Buffer.from(b,a.stream._readableState.encoding)),a.length+=b.length,a.body.push(b))}function B(a,b){null!==a.body&&(b?a.reject(b):a.resolve(),a.type=null,a.stream=null,a.resolve=null,a.reject=null,a.length=0,a.body=null)}a.exports={Readable:v,chunksDecode:x}},1758:(a,b,c)=>{"use strict";c(51529)},2887:(a,b,c)=>{"use strict";let{iteratorMixin:d}=c(42425),{kEnumerableProperty:e}=c(84285),{webidl:f}=c(32984),g=c(57975),{runtimeFeatures:h}=c(56758),i=h.has("crypto")?c(77598).randomInt:a=>Math.floor(Math.random()*a);class j{#a=[];#b=null;constructor(a){if(f.util.markAsUncloneable(this),void 0!==a)throw f.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(a,b,c){f.brandCheck(this,j);let d="FormData.append";f.argumentLengthCheck(arguments,2,d),a=f.converters.USVString(a),3==arguments.length||f.is.Blob(b)?(b=f.converters.Blob(b,d,"value"),void 0!==c&&(c=f.converters.USVString(c))):b=f.converters.USVString(b);let e=n(a,b,c);this.#a.push(e)}delete(a){f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.delete"),a=f.converters.USVString(a),this.#a=this.#a.filter(b=>b.name!==a)}get(a){f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.get"),a=f.converters.USVString(a);let b=this.#a.findIndex(b=>b.name===a);return -1===b?null:this.#a[b].value}getAll(a){return f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.getAll"),a=f.converters.USVString(a),this.#a.filter(b=>b.name===a).map(a=>a.value)}has(a){return f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.has"),a=f.converters.USVString(a),-1!==this.#a.findIndex(b=>b.name===a)}set(a,b,c){f.brandCheck(this,j);let d="FormData.set";f.argumentLengthCheck(arguments,2,d),a=f.converters.USVString(a),3==arguments.length||f.is.Blob(b)?(b=f.converters.Blob(b,d,"value"),void 0!==c&&(c=f.converters.USVString(c))):b=f.converters.USVString(b);let e=n(a,b,c),g=this.#a.findIndex(b=>b.name===a);-1!==g?this.#a=[...this.#a.slice(0,g),e,...this.#a.slice(g+1).filter(b=>b.name!==a)]:this.#a.push(e)}[g.inspect.custom](a,b){let c=this.#a.reduce((a,b)=>(a[b.name]?Array.isArray(a[b.name])?a[b.name].push(b.value):a[b.name]=[a[b.name],b.value]:a[b.name]=b.value,a),{__proto__:null});b.depth??=a,b.colors??=!0;let d=g.formatWithOptions(b,c);return`FormData ${d.slice(d.indexOf("]")+2)}`}static getFormDataState(a){return a.#a}static setFormDataState(a,b){a.#a=b}static getFormDataBoundary(a){let b=a.#b;return null!=b?b:a.#b=`----formdata-undici-0${`${i(1e11)}`.padStart(11,"0")}`}}let{getFormDataState:k,setFormDataState:l,getFormDataBoundary:m}=j;function n(a,b,c){if("string"==typeof b);else if(f.is.File(b)||(b=new File([b],"blob",{type:b.type})),void 0!==c){let a={type:b.type,lastModified:b.lastModified};b=new File([b],c,a)}return{name:a,value:b}}Reflect.deleteProperty(j,"getFormDataState"),Reflect.deleteProperty(j,"setFormDataState"),Reflect.deleteProperty(j,"getFormDataBoundary"),d("FormData",j,k,"name","value"),Object.defineProperties(j.prototype,{append:e,delete:e,get:e,getAll:e,has:e,set:e,[Symbol.toStringTag]:{value:"FormData",configurable:!0}}),f.is.FormData=f.util.MakeTypeAssertion(j),a.exports={FormData:j,makeEntry:n,setFormDataState:l,getFormDataBoundary:m}},3338:(a,b,c)=>{"use strict";c.d(b,{x:()=>q});var d=c(69384),e=c(30395),f=c(48991),g=c(8735),h=c(70884),i=c(56248),j=c(70556),k=c(42541),l=c(92843),m=c(46956),n=c(55511),o=c.n(n),p=c(11484);class q extends d.Hv{constructor(){super("github",e.xq.github),this.knownCodexModels=new Set}isClaudeModel(a){return/claude/i.test(a||"")}buildUrl(a,b,c=0){return this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":`vscode/${f.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,"user-agent":f.x0.USER_AGENT,"openai-intent":"conversation-panel","x-github-api-version":f.x0.API_VERSION,"x-request-id":o().randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user","anthropic-version":"2023-06-01",Accept:b?"text/event-stream":"application/json"}}sanitizeMessagesForChatCompletions(a){if(!a?.messages)return a;let b={...a};if(a.response_format&&a.model?.includes("claude")){let b=a.response_format,c="";if("json_schema"===b.type&&b.json_schema?.schema?c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks. Never wrap JSON in triple backticks. Output ONLY the raw JSON object.":"json_object"===b.type&&(c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks."),c){let b=a.messages.findIndex(a=>"system"===a.role);b>=0?a.messages[b].content=c+"\n\n"+a.messages[b].content:a.messages.unshift({role:"system",content:c});let d=a.messages.map((a,b)=>"user"===a.role?b:-1).filter(a=>a>=0).pop();if(d>=0){let b=a.messages[d],c="string"==typeof b.content?b.content:JSON.stringify(b.content);b.content="Respond with ONLY raw JSON (no markdown, no backticks, no code blocks): "+c}}}return b.messages=a.messages.map(a=>{if(!a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.map(a=>{if("text"===a.type||"image_url"===a.type)return a;let b=a.text||a.content||JSON.stringify(a);return{type:"text",text:"string"==typeof b?b:JSON.stringify(b)}}).filter(a=>""!==a.text);return{...a,content:b.length>0?b:null}}return a}),b}requiresMaxCompletionTokens(a){return/gpt-5|o[134]-/i.test(a)}supportsTemperature(a){return!/gpt-5\.4/i.test(a)}supportsThinking(a){return!/claude/i.test(a)}supportsReasoningEffort(a){let b=a.toLowerCase();return!!(/claude.*opus.*4\.6/i.test(b)||/claude.*sonnet.*4\.6/i.test(b))||!/claude/i.test(a)}transformRequest(a,b,c,d){let e={...b};return this.requiresMaxCompletionTokens(a)&&void 0!==e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),this.supportsTemperature(a)||void 0===e.temperature||delete e.temperature,this.supportsThinking(a)||delete e.thinking,"none"===e.reasoning_effort&&delete e.reasoning_effort,this.supportsReasoningEffort(a)||void 0===e.reasoning_effort||delete e.reasoning_effort,e}supportsResponsesEndpoint(a){let b=(a||"").toLowerCase();return!(b.includes("gemini")||b.includes("claude"))}async execute(a){let{model:b,log:c}=a;if(this.isClaudeModel(b))return c?.debug("GITHUB",`Using /v1/messages route for ${b}`),this.executeWithMessagesEndpoint(a);if(this.knownCodexModels.has(b)&&this.supportsResponsesEndpoint(b))return c?.debug("GITHUB",`Using cached /responses route for ${b}`),this.executeWithResponsesEndpoint(a);let d={...a,body:this.sanitizeMessagesForChatCompletions(a.body)},e=await super.execute({...d,proxyOptions:a.proxyOptions||null});if(e.response.status===g.gx.BAD_REQUEST&&this.supportsResponsesEndpoint(b)){let d=await e.response.clone().text();if(d.includes("not accessible via the /chat/completions endpoint")||d.includes("The requested model is not supported"))return c?.warn("GITHUB",`Model ${b} requires /responses. Switching...`),this.knownCodexModels.add(b),this.executeWithResponsesEndpoint(a)}return e}async executeWithResponsesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let k=this.config.responsesUrl,n=this.buildHeaders(d,!0),o=(0,h.openaiToOpenAIResponsesRequest)(a,b,!0,d);f?.debug("GITHUB","Sending translated request to /responses");let p=await (0,m.proxyAwareFetch)(k,{method:"POST",headers:n,body:JSON.stringify(o),signal:e},g);if(!p.ok)return{response:p,url:k,headers:n,transformedBody:o};let q=(0,j.Ws)("openai-responses");q.model=a;let r=new TextDecoder,s="",t=new TransformStream({async transform(a,b){let c=(s+=r.decode(a,{stream:!0})).split("\n");for(let a of(s=c.pop()||"",c)){let c=a.trim();if(!c)continue;let d=(0,l.tV)(c);if(!d)continue;if(d.done&&1){b.enqueue(new TextEncoder().encode("data: [DONE]\n\n"));continue}let e=(0,i.openaiResponsesToOpenAIResponse)(d,q);if(e){let a=(0,l.v8)(e,"openai");b.enqueue(new TextEncoder().encode(a))}}},flush(a){if(s.trim()){let b=(0,l.tV)(s.trim());if(b&&!b.done){let c=(0,i.openaiResponsesToOpenAIResponse)(b,q);c&&a.enqueue(new TextEncoder().encode((0,l.v8)(c,"openai")))}}}});return p.body?{response:new Response(p.body.pipeThrough(t),{status:p.status,statusText:p.statusText,headers:p.headers}),url:k,headers:n,transformedBody:o}:{response:new Response("",{status:p.status,headers:p.headers}),url:k,headers:n,transformedBody:o}}async executeWithMessagesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.config.messagesUrl,i=this.buildHeaders(d,!0),n=(0,j.GH)(k.h.OPENAI,k.h.CLAUDE,a,b,!0,d,"github"),o=n?._toolNameMap;n&&delete n._toolNameMap,f?.debug("GITHUB","Sending translated request to /v1/messages");let p=await (0,m.proxyAwareFetch)(h,{method:"POST",headers:i,body:JSON.stringify(n),signal:e},g);if(!p.ok)return{response:p,url:h,headers:i,transformedBody:n};let q=(0,j.Ws)(k.h.CLAUDE);if(q.model=a,o&&(q.toolNameMap=o),!p.body)return{response:new Response("",{status:p.status,headers:p.headers}),url:h,headers:i,transformedBody:n};let r=new TextDecoder,s=new TextEncoder,t="",u=(a,b)=>{for(let c of(0,j.Y8)(k.h.CLAUDE,k.h.OPENAI,b,q)||[])a.enqueue(s.encode((0,l.v8)(c,k.h.OPENAI)))},v=new TransformStream({transform(a,b){let d=(t+=r.decode(a,{stream:!0})).split("\n");for(let a of(t=d.pop()||"",d)){let d=(0,l.tV)(a.trim());if(d){if(d.done){!0===c&&b.enqueue(s.encode("data: [DONE]\n\n"));continue}u(b,d)}}},flush(a){if(!(t+=r.decode()).trim())return;let b=(0,l.tV)(t.trim());b&&!b.done&&u(a,b)}});return{response:new Response(p.body.pipeThrough(v),{status:p.status,statusText:p.statusText,headers:p.headers}),url:h,headers:i,transformedBody:n}}async refreshCopilotToken(a,b,c=null){try{let d=await (0,m.proxyAwareFetch)("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":f.x0.USER_AGENT,"Editor-Version":`vscode/${f.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":f.x0.API_VERSION}},c);if(!d.ok){let a=await d.text();return b?.error?.("TOKEN",`Copilot token refresh failed: ${d.status} ${a}`),null}let e=await d.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b,c=null){try{let d={grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId};this.config.clientSecret&&(d.client_secret=this.config.clientSecret);let e=await (0,m.proxyAwareFetch)(f.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(d)},c);if(!e.ok)return await (0,p.aI)(e),null;let g=await e.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b,c=null){let d=await this.refreshCopilotToken(a.accessToken,b,c);if(!d&&a.refreshToken){let e=await this.refreshGitHubToken(a.refreshToken,b,c);if(e?.accessToken)return(d=await this.refreshCopilotToken(e.accessToken,b,c))?{...e,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:e}return d?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},3433:(a,b,c)=>{"use strict";c(40106);let d=c(7344),e=(c(35689),c(61330),c(34441),c(37417)),f=(c(74399),c(48841)),g=(c(64156),c(43086),c(95095),c(53552),c(61448)),h=c(84285),{InvalidArgumentError:i}=g,j=c(99528),{MockCallHistory:k,MockCallHistoryLog:l}=(c(55285),c(66498),c(43904)),{getGlobalDispatcher:m,setGlobalDispatcher:n}=(c(65630),c(86625),c(89512),c(28998),c(31825),c(59970));function o(a){return(b,c,d)=>{if("function"==typeof c&&(d=c,c=null),!b||"string"!=typeof b&&"object"!=typeof b&&!(b instanceof URL))throw new i("invalid url");if(null!=c&&"object"!=typeof c)throw new i("invalid opts");if(c&&null!=c.path){if("string"!=typeof c.path)throw new i("invalid opts.path");let a=c.path;c.path.startsWith("/")||(a=`/${a}`),b=new URL(h.parseOrigin(b).origin+a)}else c||(c="object"==typeof b?b:{}),b=h.parseURL(b);let{agent:e,dispatcher:f=m(),...g}=c;if(e)throw new i("unsupported opts.agent. Did you mean opts.client?");return a.call(f,{...g,origin:b.origin,path:b.search?`${b.pathname}${b.search}`:b.pathname,method:c.method||(c.body?"PUT":"GET")},d)}}c(83204),c(67519),Object.assign(d.prototype,j),a.exports.g6=e,a.exports.ProxyAgent=f,c(70707),c(47335),c(78075),c(87085),c(27060),c(19431),c(37858),c(90249),c(38650),c(20579),h.parseHeaders,h.headerNameToString;let p=c(76403).fetch,q=__filename;a.exports.hd=function(b,c){return p(b,c).catch(b=>{throw q?!function a(b,c){if(!b||"object"!=typeof b)return;let d="string"==typeof b.stack?b.stack:"",e=c.replace(/\\/g,"/");if(d&&(d.includes(c)||d.includes(e)))return;let f={};if(Error.captureStackTrace(f,a),!f.stack)return;let g=f.stack.split("\n").slice(1).join("\n");b.stack=d?`${d}
1
+ exports.id=7319,exports.ids=[7319],exports.modules={1447:(a,b,c)=>{},1712:(a,b,c)=>{"use strict";let d=c(34589),{addAbortListener:e}=c(78474),{Readable:f}=c(57075),{RequestAbortedError:g,NotSupportedError:h,InvalidArgumentError:i,AbortError:j}=c(61448),k=c(84285),{ReadableStreamFrom:l}=c(84285),m=Symbol("kConsume"),n=Symbol("kReading"),o=Symbol("kBody"),p=Symbol("kAbort"),q=Symbol("kContentType"),r=Symbol("kContentLength"),s=Symbol("kUsed"),t=Symbol("kBytesRead"),u=()=>{};class v extends f{constructor({resume:a,abort:b,contentType:c="",contentLength:d,highWaterMark:e=65536}){super({autoDestroy:!0,read:a,highWaterMark:e}),this._readableState.dataEmitted=!1,this[p]=b,this[m]=null,this[t]=0,this[o]=null,this[s]=!1,this[q]=c,this[r]=Number.isFinite(d)?d:null,this[n]=!1}_destroy(a,b){a||this._readableState.endEmitted||(a=new g),a&&this[p](),this[s]?b(a):setImmediate(b,a)}on(a,b){return("data"===a||"readable"===a)&&(this[n]=!0,this[s]=!0),super.on(a,b)}addListener(a,b){return this.on(a,b)}off(a,b){let c=super.off(a,b);return("data"===a||"readable"===a)&&(this[n]=this.listenerCount("data")>0||this.listenerCount("readable")>0),c}removeListener(a,b){return this.off(a,b)}push(a){return a&&(this[t]+=a.length,this[m])?(A(this[m],a),!this[n]||super.push(a)):super.push(a)}text(){return w(this,"text")}json(){return w(this,"json")}blob(){return w(this,"blob")}bytes(){return w(this,"bytes")}arrayBuffer(){return w(this,"arrayBuffer")}async formData(){throw new h}get bodyUsed(){return k.isDisturbed(this)}get body(){return!this[o]&&(this[o]=l(this),this[m]&&(this[o].getReader(),d(this[o].locked))),this[o]}dump(a){let b=a?.signal;if(null!=b&&("object"!=typeof b||!("aborted"in b)))return Promise.reject(new i("signal must be an AbortSignal"));let c=a?.limit&&Number.isFinite(a.limit)?a.limit:131072;return b?.aborted?Promise.reject(b.reason??new j):this._readableState.closeEmitted?Promise.resolve(null):new Promise((a,d)=>{if((this[r]&&this[r]>c||this[t]>c)&&this.destroy(new j),b){let c=()=>{this.destroy(b.reason??new j)},f=e(b,c);this.on("close",function(){f[Symbol.dispose](),b.aborted?d(b.reason??new j):a(null)})}else this.on("close",a);this.on("error",u).on("data",()=>{this[t]>c&&this.destroy()}).resume()})}setEncoding(a){return Buffer.isEncoding(a)&&super.setEncoding(a),this}}function w(a,b){return d(!a[m]),new Promise((c,d)=>{if(k.isDisturbed(a)||a[o]?.locked===!0||null!==a[m]){let b=a._readableState;b.destroyed&&!1===b.closeEmitted?a.on("error",d).on("close",()=>{d(TypeError("unusable"))}):d(b.errored??TypeError("unusable"))}else queueMicrotask(()=>{a[m]={type:b,stream:a,resolve:c,reject:d,length:0,body:[]},a.on("error",function(a){B(this[m],a)}).on("close",function(){null!==this[m].body&&B(this[m],new g)}),function(a){if(null===a.body)return;let{_readableState:b}=a.stream;if(b.bufferIndex){let c=b.bufferIndex,d=b.buffer.length;for(let e=c;e<d;e++)A(a,b.buffer[e])}else for(let c of b.buffer)A(a,c);let c=b.decoder;if(null!=c&&c.lastNeed>0&&A(a,Buffer.from(c.lastChar.subarray(0,c.lastTotal-c.lastNeed))),b.endEmitted)return z(a,b.encoding);for(a.stream.on("end",function(){z(this[m],this._readableState.encoding)}),a.stream.resume();null!=a.stream.read(););}(a[m])})})}function x(a,b,c){if(0===a.length||0===b)return"";let d=1===a.length?a[0]:Buffer.concat(a,b),e=d.length,f=3*(e>2&&239===d[0]&&187===d[1]&&191===d[2]);return c&&"utf8"!==c&&"utf-8"!==c?d.subarray(f,e).toString(c):d.utf8Slice(f,e)}function y(a,b){if(0===a.length||0===b)return new Uint8Array(0);if(1===a.length)return new Uint8Array(a[0]);let c=new Uint8Array(Buffer.allocUnsafeSlow(b).buffer),d=0;for(let b=0;b<a.length;++b){let e=a[b];c.set(e,d),d+=e.length}return c}function z(a,b){let{type:c,body:d,resolve:e,stream:f,length:g}=a;try{"text"===c?e(x(d,g,b)):"json"===c?e(JSON.parse(x(d,g,b))):"arrayBuffer"===c?e(y(d,g).buffer):"blob"===c?e(new Blob(d,{type:f[q]})):"bytes"===c&&e(y(d,g)),B(a)}catch(a){f.destroy(a)}}function A(a,b){null!==a.body&&("string"==typeof b&&(b=Buffer.from(b,a.stream._readableState.encoding)),a.length+=b.length,a.body.push(b))}function B(a,b){null!==a.body&&(b?a.reject(b):a.resolve(),a.type=null,a.stream=null,a.resolve=null,a.reject=null,a.length=0,a.body=null)}a.exports={Readable:v,chunksDecode:x}},1758:(a,b,c)=>{"use strict";c(51529)},2887:(a,b,c)=>{"use strict";let{iteratorMixin:d}=c(42425),{kEnumerableProperty:e}=c(84285),{webidl:f}=c(32984),g=c(57975),{runtimeFeatures:h}=c(56758),i=h.has("crypto")?c(77598).randomInt:a=>Math.floor(Math.random()*a);class j{#a=[];#b=null;constructor(a){if(f.util.markAsUncloneable(this),void 0!==a)throw f.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(a,b,c){f.brandCheck(this,j);let d="FormData.append";f.argumentLengthCheck(arguments,2,d),a=f.converters.USVString(a),3==arguments.length||f.is.Blob(b)?(b=f.converters.Blob(b,d,"value"),void 0!==c&&(c=f.converters.USVString(c))):b=f.converters.USVString(b);let e=n(a,b,c);this.#a.push(e)}delete(a){f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.delete"),a=f.converters.USVString(a),this.#a=this.#a.filter(b=>b.name!==a)}get(a){f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.get"),a=f.converters.USVString(a);let b=this.#a.findIndex(b=>b.name===a);return -1===b?null:this.#a[b].value}getAll(a){return f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.getAll"),a=f.converters.USVString(a),this.#a.filter(b=>b.name===a).map(a=>a.value)}has(a){return f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.has"),a=f.converters.USVString(a),-1!==this.#a.findIndex(b=>b.name===a)}set(a,b,c){f.brandCheck(this,j);let d="FormData.set";f.argumentLengthCheck(arguments,2,d),a=f.converters.USVString(a),3==arguments.length||f.is.Blob(b)?(b=f.converters.Blob(b,d,"value"),void 0!==c&&(c=f.converters.USVString(c))):b=f.converters.USVString(b);let e=n(a,b,c),g=this.#a.findIndex(b=>b.name===a);-1!==g?this.#a=[...this.#a.slice(0,g),e,...this.#a.slice(g+1).filter(b=>b.name!==a)]:this.#a.push(e)}[g.inspect.custom](a,b){let c=this.#a.reduce((a,b)=>(a[b.name]?Array.isArray(a[b.name])?a[b.name].push(b.value):a[b.name]=[a[b.name],b.value]:a[b.name]=b.value,a),{__proto__:null});b.depth??=a,b.colors??=!0;let d=g.formatWithOptions(b,c);return`FormData ${d.slice(d.indexOf("]")+2)}`}static getFormDataState(a){return a.#a}static setFormDataState(a,b){a.#a=b}static getFormDataBoundary(a){let b=a.#b;return null!=b?b:a.#b=`----formdata-undici-0${`${i(1e11)}`.padStart(11,"0")}`}}let{getFormDataState:k,setFormDataState:l,getFormDataBoundary:m}=j;function n(a,b,c){if("string"==typeof b);else if(f.is.File(b)||(b=new File([b],"blob",{type:b.type})),void 0!==c){let a={type:b.type,lastModified:b.lastModified};b=new File([b],c,a)}return{name:a,value:b}}Reflect.deleteProperty(j,"getFormDataState"),Reflect.deleteProperty(j,"setFormDataState"),Reflect.deleteProperty(j,"getFormDataBoundary"),d("FormData",j,k,"name","value"),Object.defineProperties(j.prototype,{append:e,delete:e,get:e,getAll:e,has:e,set:e,[Symbol.toStringTag]:{value:"FormData",configurable:!0}}),f.is.FormData=f.util.MakeTypeAssertion(j),a.exports={FormData:j,makeEntry:n,setFormDataState:l,getFormDataBoundary:m}},3338:(a,b,c)=>{"use strict";c.d(b,{x:()=>q});var d=c(69384),e=c(30395),f=c(48991),g=c(8735),h=c(70884),i=c(56248),j=c(70556),k=c(42541),l=c(92843),m=c(46956),n=c(55511),o=c.n(n),p=c(11484);class q extends d.Hv{constructor(){super("github",e.xq.github),this.knownCodexModels=new Set}isClaudeModel(a){return/claude/i.test(a||"")}buildUrl(a,b,c=0){return this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":`vscode/${f.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,"user-agent":f.x0.USER_AGENT,"openai-intent":"conversation-panel","x-github-api-version":f.x0.API_VERSION,"x-request-id":o().randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user","anthropic-version":"2023-06-01",Accept:b?"text/event-stream":"application/json"}}sanitizeMessagesForChatCompletions(a){if(!a?.messages)return a;let b={...a};if(a.response_format&&a.model?.includes("claude")){let b=a.response_format,c="";if("json_schema"===b.type&&b.json_schema?.schema?c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks. Never wrap JSON in triple backticks. Output ONLY the raw JSON object.":"json_object"===b.type&&(c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks."),c){let b=a.messages.findIndex(a=>"system"===a.role);b>=0?a.messages[b].content=c+"\n\n"+a.messages[b].content:a.messages.unshift({role:"system",content:c});let d=a.messages.map((a,b)=>"user"===a.role?b:-1).filter(a=>a>=0).pop();if(d>=0){let b=a.messages[d],c="string"==typeof b.content?b.content:JSON.stringify(b.content);b.content="Respond with ONLY raw JSON (no markdown, no backticks, no code blocks): "+c}}}return b.messages=a.messages.map(a=>{if(!a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.map(a=>{if("text"===a.type||"image_url"===a.type)return a;let b=a.text||a.content||JSON.stringify(a);return{type:"text",text:"string"==typeof b?b:JSON.stringify(b)}}).filter(a=>""!==a.text);return{...a,content:b.length>0?b:null}}return a}),b}requiresMaxCompletionTokens(a){return/gpt-5|o[134]-/i.test(a)}supportsTemperature(a){return!/gpt-5\.4/i.test(a)}supportsThinking(a){return!/claude/i.test(a)}supportsReasoningEffort(a){let b=a.toLowerCase();return!!(/claude.*opus.*4\.6/i.test(b)||/claude.*sonnet.*4\.6/i.test(b))||!/claude/i.test(a)}transformRequest(a,b,c,d){let e={...b};return this.requiresMaxCompletionTokens(a)&&void 0!==e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),this.supportsTemperature(a)||void 0===e.temperature||delete e.temperature,this.supportsThinking(a)||delete e.thinking,"none"===e.reasoning_effort&&delete e.reasoning_effort,this.supportsReasoningEffort(a)||void 0===e.reasoning_effort||delete e.reasoning_effort,e}supportsResponsesEndpoint(a){let b=(a||"").toLowerCase();return!(b.includes("gemini")||b.includes("claude"))}async execute(a){let{model:b,log:c}=a;if(this.isClaudeModel(b))return c?.debug("GITHUB",`Using /v1/messages route for ${b}`),this.executeWithMessagesEndpoint(a);if(this.knownCodexModels.has(b)&&this.supportsResponsesEndpoint(b))return c?.debug("GITHUB",`Using cached /responses route for ${b}`),this.executeWithResponsesEndpoint(a);let d={...a,body:this.sanitizeMessagesForChatCompletions(a.body)},e=await super.execute({...d,proxyOptions:a.proxyOptions||null});if(e.response.status===g.gx.BAD_REQUEST&&this.supportsResponsesEndpoint(b)){let d=await e.response.clone().text();if(d.includes("not accessible via the /chat/completions endpoint")||d.includes("The requested model is not supported"))return c?.warn("GITHUB",`Model ${b} requires /responses. Switching...`),this.knownCodexModels.add(b),this.executeWithResponsesEndpoint(a)}return e}async executeWithResponsesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let k=this.config.responsesUrl,n=this.buildHeaders(d,!0),o=(0,h.openaiToOpenAIResponsesRequest)(a,b,!0,d);f?.debug("GITHUB","Sending translated request to /responses");let p=await (0,m.proxyAwareFetch)(k,{method:"POST",headers:n,body:JSON.stringify(o),signal:e},g);if(!p.ok)return{response:p,url:k,headers:n,transformedBody:o};let q=(0,j.Ws)("openai-responses");q.model=a;let r=new TextDecoder,s="",t=new TransformStream({async transform(a,b){let c=(s+=r.decode(a,{stream:!0})).split("\n");for(let a of(s=c.pop()||"",c)){let c=a.trim();if(!c)continue;let d=(0,l.tV)(c);if(!d)continue;if(d.done&&1){b.enqueue(new TextEncoder().encode("data: [DONE]\n\n"));continue}let e=(0,i.openaiResponsesToOpenAIResponse)(d,q);if(e){let a=(0,l.v8)(e,"openai");b.enqueue(new TextEncoder().encode(a))}}},flush(a){if(s.trim()){let b=(0,l.tV)(s.trim());if(b&&!b.done){let c=(0,i.openaiResponsesToOpenAIResponse)(b,q);c&&a.enqueue(new TextEncoder().encode((0,l.v8)(c,"openai")))}}}});return p.body?{response:new Response(p.body.pipeThrough(t),{status:p.status,statusText:p.statusText,headers:p.headers}),url:k,headers:n,transformedBody:o}:{response:new Response("",{status:p.status,headers:p.headers}),url:k,headers:n,transformedBody:o}}async executeWithMessagesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.config.messagesUrl,i=this.buildHeaders(d,!0),n=(0,j.GH)(k.h.OPENAI,k.h.CLAUDE,a,b,!0,d,"github"),o=n?._toolNameMap;n&&delete n._toolNameMap,f?.debug("GITHUB","Sending translated request to /v1/messages");let p=await (0,m.proxyAwareFetch)(h,{method:"POST",headers:i,body:JSON.stringify(n),signal:e},g);if(!p.ok)return{response:p,url:h,headers:i,transformedBody:n};let q=(0,j.Ws)(k.h.CLAUDE);if(q.model=a,o&&(q.toolNameMap=o),!p.body)return{response:new Response("",{status:p.status,headers:p.headers}),url:h,headers:i,transformedBody:n};let r=new TextDecoder,s=new TextEncoder,t="",u=(a,b)=>{for(let c of(0,j.Y8)(k.h.CLAUDE,k.h.OPENAI,b,q)||[])a.enqueue(s.encode((0,l.v8)(c,k.h.OPENAI)))},v=new TransformStream({transform(a,b){let d=(t+=r.decode(a,{stream:!0})).split("\n");for(let a of(t=d.pop()||"",d)){let d=(0,l.tV)(a.trim());if(d){if(d.done){!0===c&&b.enqueue(s.encode("data: [DONE]\n\n"));continue}u(b,d)}}},flush(a){if(!(t+=r.decode()).trim())return;let b=(0,l.tV)(t.trim());b&&!b.done&&u(a,b)}});return{response:new Response(p.body.pipeThrough(v),{status:p.status,statusText:p.statusText,headers:p.headers}),url:h,headers:i,transformedBody:n}}async refreshCopilotToken(a,b,c=null){try{let d=await (0,m.proxyAwareFetch)("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":f.x0.USER_AGENT,"Editor-Version":`vscode/${f.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":f.x0.API_VERSION}},c);if(!d.ok){let a=await d.text();return b?.error?.("TOKEN",`Copilot token refresh failed: ${d.status} ${a}`),null}let e=await d.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b,c=null){try{let d={grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId};this.config.clientSecret&&(d.client_secret=this.config.clientSecret);let e=await (0,m.proxyAwareFetch)(f.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(d)},c);if(!e.ok)return await (0,p.aI)(e),null;let g=await e.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b,c=null){let d=await this.refreshCopilotToken(a.accessToken,b,c);if(!d&&a.refreshToken){let e=await this.refreshGitHubToken(a.refreshToken,b,c);if(e?.accessToken)return(d=await this.refreshCopilotToken(e.accessToken,b,c))?{...e,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:e}return d?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},3433:(a,b,c)=>{"use strict";c(40106);let d=c(7344),e=(c(35689),c(61330),c(34441),c(37417)),f=(c(74399),c(48841)),g=(c(64156),c(43086),c(95095),c(53552),c(61448)),h=c(84285),{InvalidArgumentError:i}=g,j=c(99528),{MockCallHistory:k,MockCallHistoryLog:l}=(c(55285),c(66498),c(43904)),{getGlobalDispatcher:m,setGlobalDispatcher:n}=(c(65630),c(86625),c(89512),c(28998),c(31825),c(59970));function o(a){return(b,c,d)=>{if("function"==typeof c&&(d=c,c=null),!b||"string"!=typeof b&&"object"!=typeof b&&!(b instanceof URL))throw new i("invalid url");if(null!=c&&"object"!=typeof c)throw new i("invalid opts");if(c&&null!=c.path){if("string"!=typeof c.path)throw new i("invalid opts.path");let a=c.path;c.path.startsWith("/")||(a=`/${a}`),b=new URL(h.parseOrigin(b).origin+a)}else c||(c="object"==typeof b?b:{}),b=h.parseURL(b);let{agent:e,dispatcher:f=m(),...g}=c;if(e)throw new i("unsupported opts.agent. Did you mean opts.client?");return a.call(f,{...g,origin:b.origin,path:b.search?`${b.pathname}${b.search}`:b.pathname,method:c.method||(c.body?"PUT":"GET")},d)}}c(83204),c(67519),Object.assign(d.prototype,j),a.exports.g6=e,a.exports.ProxyAgent=f,c(70707),c(69716),c(78075),c(87085),c(27060),c(19431),c(37858),c(90249),c(38650),c(20579),h.parseHeaders,h.headerNameToString;let p=c(76403).fetch,q=__filename;a.exports.hd=function(b,c){return p(b,c).catch(b=>{throw q?!function a(b,c){if(!b||"object"!=typeof b)return;let d="string"==typeof b.stack?b.stack:"",e=c.replace(/\\/g,"/");if(d&&(d.includes(c)||d.includes(e)))return;let f={};if(Error.captureStackTrace(f,a),!f.stack)return;let g=f.stack.split("\n").slice(1).join("\n");b.stack=d?`${d}
2
2
  ${g}`:f.stack}(b,q):b&&"object"==typeof b&&Error.captureStackTrace(b,a.exports.hd),b})},a.exports.Headers=c(28665).Headers,a.exports.Response=c(55815).Response,a.exports.Request=c(12600).Request,a.exports.FormData=c(2887).FormData;let{setGlobalOrigin:r,getGlobalOrigin:s}=c(79412),{CacheStorage:t}=c(49166),{kConstruct:u}=c(49176);new t(u);let{deleteCookie:v,getCookies:w,getSetCookies:x,setCookie:y,parseCookie:z}=c(70106),{parseMIMEType:A,serializeAMimeType:B}=c(16537),{CloseEvent:C,ErrorEvent:D,MessageEvent:E}=c(51753),{WebSocket:F,ping:G}=c(52039);a.exports.kb=F,a.exports.rd=C,a.exports.NN=D,a.exports.aM=E,c(42430).WebSocketStream,c(87404).WebSocketError,o(j.request),o(j.stream),o(j.pipeline),o(j.connect),o(j.upgrade);let{EventSource:H}=c(47703);a.exports.GD=H},4654:(a,b,c)=>{"use strict";let{uid:d,states:e,sentCloseFrameState:f,emptyBuffer:g,opcodes:h}=c(62026),{parseExtensions:i,isClosed:j,isClosing:k,isEstablished:l,isConnecting:m,validateCloseCodeAndReason:n}=c(94050),{makeRequest:o}=c(12600),{fetching:p}=c(76403),{Headers:q,getHeadersList:r}=c(28665),{getDecodeSplit:s}=c(42425),{WebsocketFrameSend:t}=c(45221),u=c(34589),{runtimeFeatures:v}=c(56758),w=v.has("crypto")?c(77598):null,x=!1;function y(a,b,c,d=!1){if(b??=null,c??="",d&&n(b,c),j(a.readyState)||k(a.readyState));else if(l(a.readyState))if(a.closeState.has(f.SENT)||a.closeState.has(f.RECEIVED))a.readyState=e.CLOSING;else{let d=new t;0!==c.length&&null===b&&(b=1e3),u(null===b||Number.isInteger(b)),null===b&&0===c.length?d.frameData=g:null!==b&&null===c?(d.frameData=Buffer.allocUnsafe(2),d.frameData.writeUInt16BE(b,0)):null!==b&&null!==c?(d.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(c)),d.frameData.writeUInt16BE(b,0),d.frameData.write(c,2,"utf-8")):d.frameData=g,a.socket.write(d.createFrame(h.CLOSE)),a.closeState.add(f.SENT),a.readyState=e.CLOSING}else z(a),a.readyState=e.CLOSING}function z(a,b,c,d){l(a.readyState)&&y(a,b,c,!1),a.controller.abort(),m(a.readyState)?a.onSocketClose():a.socket?.destroyed===!1&&a.socket.destroy()}a.exports={establishWebSocketConnection:function(a,b,c,e,f){a.protocol="ws:"===a.protocol?"http:":"https:";let g=o({urlList:[a],client:c,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});f.headers&&(g.headersList=r(new q(f.headers)));let h=w.randomBytes(16).toString("base64");for(let a of(g.headersList.append("sec-websocket-key",h,!0),g.headersList.append("sec-websocket-version","13",!0),b))g.headersList.append("sec-websocket-protocol",a,!0);return g.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),p({request:g,useParallelQueue:!0,dispatcher:f.dispatcher,processResponse(a){let c;if("error"===a.type||101!==a.status){if(a.socket?.session==null)return void z(e,1002,"Received network error or non-101 status code.",a.error);if(200!==a.status)return void z(e,1002,"Received network error or non-200 status code.",a.error)}if(!1===x&&a.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),x=!0),0!==b.length&&!a.headersList.get("Sec-WebSocket-Protocol"))return void z(e,1002,"Server did not respond with sent protocols.");if(null==a.socket.session&&a.headersList.get("Upgrade")?.toLowerCase()!=="websocket")return void z(e,1002,'Server did not set Upgrade header to "websocket".');if(null==a.socket.session&&a.headersList.get("Connection")?.toLowerCase()!=="upgrade")return void z(e,1002,'Server did not set Connection header to "upgrade".');if(a.headersList.get("Sec-WebSocket-Accept")!==w.hash("sha1",h+d,"base64"))return void z(e,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");let f=a.headersList.get("Sec-WebSocket-Extensions");if(null!==f&&!(c=i(f)).has("permessage-deflate"))return void z(e,1002,"Sec-WebSocket-Extensions header does not match.");let j=a.headersList.get("Sec-WebSocket-Protocol");null===j||s("sec-websocket-protocol",g.headersList).includes(j)?(a.socket.on("data",e.onSocketData),a.socket.on("close",e.onSocketClose),a.socket.on("error",e.onSocketError),e.wasEverConnected=!0,e.onConnectionEstablished(a,c)):z(e,1002,"Protocol was not set in the opening handshake.")}})},failWebsocketConnection:z,closeWebSocketConnection:y}},4818:(a,b,c)=>{"use strict";c(42541);let d="Code blocks, file paths, commands, errors, URLs: keep exact. Security warnings, irreversible action confirmations, multi-step ordered sequences: write normal. Resume terse style after.",e='Not: "Sure! I\'d be happy to help you with that. The issue you\'re experiencing is likely caused by..." Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"',f="Auto-Clarity: drop caveman for security warnings, irreversible actions, multi-step sequences where fragment ambiguity risks misread, or when user repeats a question. Resume after the clear part.",g="ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure.";["Respond tersely. Keep grammar and full sentences but drop filler, hedging and pleasantries (just/really/basically/sure/of course/I'd be happy to). Pattern: state the thing, the action, the reason. Then next step.",e,d,f,g].join(" "),["Respond like terse caveman. All technical substance stay exact, only fluff die. Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries, hedging. Fragments OK. Short synonyms (big not extensive, fix not implement a solution for). Pattern: [thing] [action] [reason]. [next step].",e,d,f,g].join(" "),["Respond ultra-terse. Maximum compression. Telegraphic. Abbreviate (DB/auth/config/req/res/fn/impl), strip conjunctions, use arrows for causality (X → Y). One word when one word enough. Pattern: [thing] → [result]. [fix].",e,d,f,g].join(" "),["Respond semi-classical. Drop filler/hedging but keep grammar structure, classical register. Use classical Chinese sentence patterns where natural. Keep English for technical terms.",e,d,f,g].join(" "),["Respond classical Chinese (文言文). Maximum classical terseness. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其). Keep English for code, commands, function names, API names, error strings.",e,d,f,g].join(" "),["Respond extreme classical compression (文言文 ultra). Maximum compression, ultra terse. Same classical rules as wenyan-full but even more compressed. One classical particle per clause.",e,d,f,g].join(" ")},5210:(a,b,c)=>{"use strict";c.a(a,async(a,b)=>{try{c(46956),c(30395),c(48991),c(8735),c(32210),c(42541),c(70556),c(19458),c(91824),c(97688),c(87164),c(79154);var d=c(59039);c(11484);var e=c(65333);c(1758),c(43212);var f=a([d,e]);[d,e]=f.then?(await f)():f,b()}catch(a){b(a)}})},5275:(a,b,c)=>{"use strict";c(42541),c(70556),c(90943),c(23242),c(84238),c(1758),c(8735),c(55599),c(72610),c(51525),c(42946)},5318:(a,b,c)=>{"use strict";let d=c(7344),{ClientDestroyedError:e,ClientClosedError:f,InvalidArgumentError:g}=c(61448),{kDestroy:h,kClose:i,kClosed:j,kDestroyed:k,kDispatch:l}=c(49176),m=Symbol("onDestroyed"),n=Symbol("onClosed"),o=Symbol("webSocketOptions");class p extends d{[k]=!1;[m]=null;[j]=!1;[n]=null;constructor(a){super(),this[o]=a?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[o].maxFragments??131072,maxPayloadSize:this[o].maxPayloadSize??0x8000000}}get destroyed(){return this[k]}get closed(){return this[j]}close(a){if(void 0===a)return new Promise((a,b)=>{this.close((c,d)=>c?b(c):a(d))});if("function"!=typeof a)throw new g("invalid callback");if(this[k]){let b=new e;queueMicrotask(()=>a(b,null));return}if(this[j])return void(this[n]?this[n].push(a):queueMicrotask(()=>a(null,null)));this[j]=!0,this[n]??=[],this[n].push(a);let b=()=>{let a=this[n];this[n]=null;for(let b=0;b<a.length;b++)a[b](null,null)};this[i]().then(()=>this.destroy()).then(()=>queueMicrotask(b))}destroy(a,b){if("function"==typeof a&&(b=a,a=null),void 0===b)return new Promise((b,c)=>{this.destroy(a,(a,d)=>a?c(a):b(d))});if("function"!=typeof b)throw new g("invalid callback");if(this[k])return void(this[m]?this[m].push(b):queueMicrotask(()=>b(null,null)));a||(a=new e),this[k]=!0,this[m]??=[],this[m].push(b);let c=()=>{let a=this[m];this[m]=null;for(let b=0;b<a.length;b++)a[b](null,null)};this[h](a).then(()=>queueMicrotask(c))}dispatch(a,b){if(!b||"object"!=typeof b)throw new g("handler must be an object");try{if(!a||"object"!=typeof a)throw new g("opts must be an object.");if(a.dispatcher)throw new g("opts.dispatcher is not supported by instance methods. Pass opts.dispatcher to the top-level undici functions or call the dispatcher instance method directly.");if(this[k]||this[m])throw new e;if(this[j])throw new f;return this[l](a,b)}catch(a){if("function"!=typeof b.onResponseError)throw a;return b.onResponseError(null,a),!1}}}a.exports=p},5831:(a,b,c)=>{"use strict";let{collectASequenceOfCodePointsFast:d}=c(70745),{maxNameValuePairSize:e,maxAttributeValueSize:f}=c(29653),{isCTLExcludingHtab:g}=c(84698),h=c(34589);function i(a,b={}){if(0===a.length)return b;h(";"===a[0]);let c="";(a=a.slice(1)).includes(";")?(c=d(";",a,{position:0}),a=a.slice(c.length)):(c=a,a="");let e="",g="";if(c.includes("=")){let a={position:0};e=d("=",c,a),g=c.slice(a.position+1)}else e=c;if(e=e.trim(),(g=g.trim()).length>f)return i(a,b);let j=e.toLowerCase();if("expires"===j){let a=new Date(g);Number.isNaN(a.getTime())||(b.expires=a)}else if("max-age"===j){let c=g.charCodeAt(0);if((c<48||c>57)&&"-"!==g[0]||!/^\d+$/.test(g))return i(a,b);b.maxAge=Number(g)}else if("domain"===j){let a=g;"."===a[0]&&(a=a.slice(1)),b.domain=a=a.toLowerCase()}else if("path"===j)b.path=0===g.length||"/"!==g[0]?"/":g;else if("secure"===j)b.secure=!0;else if("httponly"===j)b.httpOnly=!0;else if("samesite"===j){let a=g.toLowerCase();"none"===a?b.sameSite="None":"strict"===a?b.sameSite="Strict":"lax"===a&&(b.sameSite="Lax")}else b.unparsed??=[],b.unparsed.push(`${e}=${g}`);return i(a,b)}a.exports={parseSetCookie:function(a){if(g(a))return null;let b="",c="",f="",h="";if(a.includes(";")){let e={position:0};b=d(";",a,e),c=a.slice(e.position)}else b=a;if(b.includes("=")){let a={position:0};f=d("=",b,a),h=b.slice(a.position+1)}else h=b;return(f=f.trim(),h=h.trim(),f.length+h.length>e)?null:{name:f,value:h,...i(c)}},parseUnparsedAttributes:i}},6699:(a,b,c)=>{},7044:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createProviderNode:()=>l,deleteProviderNode:()=>n,getProviderNodeById:()=>k,getProviderNodes:()=>j,updateProviderNode:()=>m});var d=c(27137),e=c(24081),f=c(50743),g=c(37703);function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
3
3
  VALUES(?, ?, ?, ?, ?, ?)
4
4
  ON CONFLICT(id) DO UPDATE SET
@@ -190,7 +190,7 @@ ${e(h)}\r
190
190
  ${d.content}`:Array.isArray(d.content)&&d.content.unshift({type:"text",text:c}):a.messages.unshift({role:"system",content:c})}(h),f))void 0!==h[a]&&delete h[a];if(delete h.system,g=function(a){if("string"!=typeof a||""===a.trim())return null;let b=a.includes("/")?a.split("/").pop():a;return e.get(b)||e.get(b.toLowerCase())||null}(a),(g?.provider==="anthropic"||g?.upstreamProvider==="anthropic"||/(^|[-_/])(?:claude|anthropic)(?:[-_/]|$)/i.test(String(a||"")))&&(delete h.reasoning_effort,delete h.reasoning,delete h.thinking),Array.isArray(h?.messages))for(let a of h.messages)a&&"object"==typeof a&&(delete a.cache_control,Array.isArray(a.content)&&(a.content=a.content.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,signature:c,...d}=a;return d})));Array.isArray(h?.tools)&&(h.tools=h.tools.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,...c}=a;return c}));if(Array.isArray(h?.messages))for(let a of h.messages)a&&"assistant"===a.role&&"string"==typeof a.reasoning_content&&a.reasoning_content.length>8&&delete a.reasoning_content;return h}}},38929:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d={id:"xai",alias:"xai",category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai",signupUrl:"https://x.ai"}},models:[{id:"grok-imagine-video",name:"Grok Imagine Video",type:"video",params:["duration","aspect_ratio","resolution"]}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}}},39065:(a,b,c)=>{"use strict";let{PoolStats:d}=c(19071),e=c(5318),f=c(50329),{kConnected:g,kSize:h,kRunning:i,kPending:j,kQueued:k,kBusy:l,kFree:m,kUrl:n,kClose:o,kDestroy:p,kDispatch:q}=c(49176),r=Symbol("clients"),s=Symbol("needDrain"),t=Symbol("queue"),u=Symbol("closed resolve"),v=Symbol("onDrain"),w=Symbol("onConnect"),x=Symbol("onDisconnect"),y=Symbol("onConnectionError"),z=Symbol("get dispatcher"),A=Symbol("has dispatcher"),B=Symbol("add client"),C=Symbol("remove client");class D extends e{[t]=new f;[k]=0;[r]=[];[s]=!1;[v](a,b,c){let d=this[t],e=!1;for(;!e;){let b=d.shift();if(!b)break;this[k]--,e=!a.dispatch(b.opts,b.handler)}if(a[s]=e,!e&&this[s]&&(this[s]=!1,this.emit("drain",b,[this,...c])),this[u]&&d.isEmpty()){let a=[];for(let b=0;b<this[r].length;b++){let c=this[r][b];c.destroyed||a.push(c.close())}return Promise.all(a).then(this[u])}}[w]=(a,b)=>{this.emit("connect",a,[this,...b])};[x]=(a,b,c)=>{this.emit("disconnect",a,[this,...b],c)};[y]=(a,b,c)=>{this.emit("connectionError",a,[this,...b],c)};get[l](){return this[s]}get[g](){let a=0;for(let{[g]:b}of this[r])a+=b;return a}get[m](){let a=0;for(let{[g]:b,[s]:c}of this[r])a+=b&&!c;return a}get[j](){let a=this[k];for(let{[j]:b}of this[r])a+=b;return a}get[i](){let a=0;for(let{[i]:b}of this[r])a+=b;return a}get[h](){let a=this[k];for(let{[h]:b}of this[r])a+=b;return a}get stats(){return new d(this)}[o](){if(!this[t].isEmpty())return new Promise(a=>{this[u]=a});{let a=[];for(let b=0;b<this[r].length;b++){let c=this[r][b];c.destroyed||a.push(c.close())}return Promise.all(a)}}[p](a){for(;;){let b=this[t].shift();if(!b)break;b.handler.onResponseError(null,a)}let b=Array(this[r].length);for(let c=0;c<this[r].length;c++)b[c]=this[r][c].destroy(a);return Promise.all(b)}[q](a,b){let c=this[z]();return c?c.dispatch(a,b)||(c[s]=!0,this[s]=!this[A]()):(this[s]=!0,this[t].push({opts:a,handler:b}),this[k]++),!this[s]}[A](){for(let a=0;a<this[r].length;a++){let b=this[r][a];if(!b[s]&&!0!==b.closed&&!0!==b.destroyed)return!0}return!1}[B](a){return a.on("drain",this[v].bind(this,a)).on("connect",this[w]).on("disconnect",this[x]).on("connectionError",this[y]),this[r].push(a),this[s]&&queueMicrotask(()=>{this[s]&&this[v](a,a[n],[a,this])}),this}[C](a){let b=this[r].indexOf(a);-1!==b&&this[r].splice(b,1),a.close(()=>{}),this[s]=!this[r].some(a=>!a[s]&&!0!==a.closed&&!0!==a.destroyed)}}a.exports={PoolBase:D,kClients:r,kNeedDrain:s,kAddClient:B,kRemoveClient:C,kGetDispatcher:z,kHasDispatcher:A}},39193:(a,b,c)=>{"use strict";c.d(b,{fD:()=>x,rg:()=>w});var d=c(70321);let e=globalThis.__zevaiOptionalServices??={tunnelModule:null,mitmModule:null,autoPingModule:null,watchdogInterval:null,networkMonitorInterval:null,lastNetworkFingerprint:null,lastWatchdogTick:Date.now(),lastOnline:null,tunnelActive:!1,tailscaleActive:!1,mitmActive:!1,headroomActive:!1,headroomSignature:null,autoPingSignature:null,shuttingDown:!1,configuration:Promise.resolve(),shutdownPromise:null};Object.assign(e,{tunnelModule:e.tunnelModule??null,mitmModule:e.mitmModule??null,autoPingModule:e.autoPingModule??null,watchdogInterval:e.watchdogInterval??null,networkMonitorInterval:e.networkMonitorInterval??null,lastNetworkFingerprint:e.lastNetworkFingerprint??null,lastWatchdogTick:e.lastWatchdogTick??Date.now(),lastOnline:e.lastOnline??null,tunnelActive:e.tunnelActive??!1,tailscaleActive:e.tailscaleActive??!1,tunnelExitRecoveryRegistered:e.tunnelExitRecoveryRegistered??!1,mitmActive:e.mitmActive??!1,headroomActive:e.headroomActive??!1,headroomSignature:e.headroomSignature??null,autoPingSignature:e.autoPingSignature??null,shuttingDown:e.shuttingDown??!1,configuration:e.configuration??Promise.resolve(),shutdownPromise:e.shutdownPromise??null});let f=/^(startup|settings|netchange|sleep|sleep\+netchange|online|unexpected-exit)$/;function g(a){return e.restartGates??={},e.restartGates[a]??={running:!1,failures:0,blockedUntil:0}}function h(a){a.failures+=1,a.blockedUntil=Date.now()+Math.min(3e5,5e3*2**(a.failures-1))}async function i({cloudflare:a=!1,tailscale:b=!1}={}){if(!e.tunnelModule){let[a,b]=await Promise.all([c.e(6200).then(c.bind(c,26200)),c.e(5936).then(c.bind(c,15936))]);e.tunnelModule={...a,...b}}if(a&&!e.tunnelModule.getTunnelService){let[a,b]=await Promise.all([c.e(4322).then(c.bind(c,54322)),c.e(40).then(c.bind(c,40040))]);Object.assign(e.tunnelModule,a,b)}if(b&&!e.tunnelModule.getTailscaleService){let[a,b]=await Promise.all([Promise.all([c.e(1283),c.e(8655)]).then(c.bind(c,98655)),Promise.all([c.e(1283),c.e(5752)]).then(c.bind(c,75752))]);Object.assign(e.tunnelModule,a,b)}return e.tunnelModule}async function j(a){if(e.shuttingDown)return;let b=g("cloudflare");if(!b.running&&!("settings"!==a&&"startup"!==a&&Date.now()<b.blockedUntil)){b.running=!0;try{let c=await i({cloudflare:!0}),e=c.getTunnelService();if(!(await (0,d.mt)()).tunnelEnabled||e.cancelToken.cancelled||e.spawnInProgress||c.isCloudflaredRunning()||!f.test(a)&&Date.now()-e.lastRestartAt<c.RESTART_COOLDOWN_MS||!await c.checkInternet())return;try{await c.enableTunnel(),e.lastRestartAt=Date.now(),b.failures=0,b.blockedUntil=0}catch(a){e.lastRestartAt=Date.now(),/cloudflared killed|tunnel cancelled/.test(a.message)||(h(b),console.log("[Tunnel] restart failed:",a.message))}}finally{b.running=!1}}}async function k(a){if(e.shuttingDown)return;let b=g("tailscale");if(!b.running&&!("settings"!==a&&"startup"!==a&&Date.now()<b.blockedUntil)){b.running=!0;try{let c=await i({tailscale:!0}),e=c.getTailscaleService();if(!(await (0,d.mt)()).tailscaleEnabled||e.cancelToken.cancelled||e.spawnInProgress||("startup"===a?c.isTailscaleRunningStrict():c.isTailscaleRunning())||!f.test(a)&&Date.now()-e.lastRestartAt<c.RESTART_COOLDOWN_MS||!await c.checkInternet())return;try{await c.enableTailscale(),e.lastRestartAt=Date.now(),b.failures=0,b.blockedUntil=0}catch(a){e.lastRestartAt=Date.now(),h(b),console.log("[Tailscale] restart failed:",a.message)}}finally{b.running=!1}}}function l(a,b){let c=[];for(let[d,e]of Object.entries(a()))if(!(!e||b.test(d)))for(let a of e)a.internal||"IPv4"!==a.family||c.push(`${d}:${a.address}`);return c.sort().join("|")}function m(a){a&&!e.tunnelExitRecoveryRegistered?(e.tunnelModule?.setTunnelUnexpectedExitCallback?.(()=>{j("unexpected-exit")}),e.tunnelExitRecoveryRegistered=!0):!a&&e.tunnelExitRecoveryRegistered&&(e.tunnelModule?.setTunnelUnexpectedExitCallback?.(null),e.tunnelExitRecoveryRegistered=!1)}async function n(){if(e.watchdogInterval||e.networkMonitorInterval)return;let a=await i({cloudflare:e.tunnelActive,tailscale:e.tailscaleActive}),{networkInterfaces:b}=await Promise.resolve().then(c.t.bind(c,48161,23));m(e.tunnelActive),e.watchdogInterval=setInterval(()=>{!e.shuttingDown&&(e.tunnelActive&&j("watchdog"),e.tailscaleActive&&k("watchdog"))},a.WATCHDOG_INTERVAL_MS),e.watchdogInterval.unref?.(),e.lastNetworkFingerprint=l(b,a.VIRTUAL_IFACE_REGEX),e.lastWatchdogTick=Date.now(),e.lastOnline=null,e.networkMonitorInterval=setInterval(async()=>{if(!e.shuttingDown)try{let c=Date.now(),d=c-e.lastWatchdogTick;e.lastWatchdogTick=c;let f=l(b,a.VIRTUAL_IFACE_REGEX),g=f!==e.lastNetworkFingerprint,h=d>6*a.NETWORK_CHECK_INTERVAL_MS;g&&(e.lastNetworkFingerprint=f);let i=await a.checkInternet(),m=!1===e.lastOnline&&i;if(e.lastOnline=i,!i||!g&&!h&&!m)return;await new Promise(b=>setTimeout(b,a.NETWORK_SETTLE_MS));let n=m?"online":h&&g?"sleep+netchange":h?"sleep":"netchange";e.tunnelActive&&j(n),e.tailscaleActive&&k(n)}catch(a){console.log("[NetworkMonitor] error:",a.message)}},a.NETWORK_CHECK_INTERVAL_MS),e.networkMonitorInterval.unref?.()}function o(){e.watchdogInterval&&clearInterval(e.watchdogInterval),e.networkMonitorInterval&&clearInterval(e.networkMonitorInterval),e.watchdogInterval=null,e.networkMonitorInterval=null,m(!1)}async function p(a,b){let c=a?.tunnelEnabled===!0,d=a?.tailscaleEnabled===!0;if(!c&&!d&&!e.tunnelActive&&!e.tailscaleActive&&!e.tunnelModule)return;let f=await i({cloudflare:c||e.tunnelActive,tailscale:d||e.tailscaleActive});e.tunnelActive&&!c&&await f.disableTunnel?.(),e.tailscaleActive&&!d&&await f.disableTailscale?.();let g=c&&!e.tunnelActive,h=d&&!e.tailscaleActive;e.tunnelActive=e.tunnelActive&&c,e.tailscaleActive=e.tailscaleActive&&d,g&&(await f.ensureCloudflared(),e.tunnelActive=!0),h&&(e.tailscaleActive=!0),c||d?await n():o(),m(c),g&&j(b),h&&k(b)}async function q(a){if(!process.env.MITM_SERVER_PATH)try{let[{fileURLToPath:a},{existsSync:b}]=await Promise.all([Promise.resolve().then(c.t.bind(c,73136,23)),Promise.resolve().then(c.t.bind(c,73024,23))]),d=a(new c.U(c(51705)));b(d)&&(process.env.MITM_SERVER_PATH=d)}catch{}a.initDbHooks(d.mt,d.Xx)}async function r(){let a=e.mitmModule??=await Promise.all([c.e(5019),c.e(1283),c.e(3721)]).then(c.t.bind(c,3721,23));await q(a);let b=await c.e(6951).then(c.bind(c,6951));if(await b.syncToJson(),(await a.getMitmStatus()).running)return!0;let f=await a.loadEncryptedPassword();if(!f&&"win32"!==process.platform)return console.log("[InitApp] MITM enabled without a saved password; auto-start skipped"),!1;let g=(await (0,d.PX)(!0)).find(a=>!1!==a.isActive);return await a.startMitm(g?.key||"sk_zevai",f),await a.restoreToolDNS(f),!0}async function s(a){let b=a?.mitmEnabled===!0;if(b||e.mitmModule)if(b&&!e.mitmActive)try{e.mitmActive=await r()}catch(a){e.mitmActive=!1,console.log("[InitApp] MITM auto-start failed:",a.message)}else!b&&e.mitmActive&&(e.mitmActive=!1,await e.mitmModule.stopMitm?.())}async function t(a){let b=a?.headroomEnabled===!0,d=b?JSON.stringify([a?.headroomUrl||"",a?.headroomCodeAware===!0,a?.headroomKompress!==!1]):null;if(b&&(!e.headroomActive||e.headroomSignature!==d))try{let{ensureHeadroomAvailable:b}=await c.e(3926).then(c.bind(c,63926));await b(a),e.headroomActive=!0,e.headroomSignature=d}catch(a){e.headroomActive=!1,e.headroomSignature=null,console.log("[InitApp] Headroom auto-start failed:",a.message)}else if(!b&&e.headroomActive){e.headroomActive=!1,e.headroomSignature=null;let{stopHeadroomProxy:a}=await c.e(6843).then(c.bind(c,96843));a()}}async function u(a){let b=[a?.claudeAutoPing,a?.codexAutoPing].some(a=>Object.values(a?.connections||{}).some(Boolean)),d=JSON.stringify([a?.claudeAutoPing?.connections||{},a?.codexAutoPing?.connections||{}]);if(d!==e.autoPingSignature){if(!b&&!e.autoPingModule){e.autoPingSignature=d;return}e.autoPingModule??=await c.e(3792).then(c.bind(c,73792)),e.autoPingModule.configureQuotaAutoPing(a),e.autoPingSignature=d}}async function v(a,b){await p(a,b),await s(a),await t(a),await u(a)}function w(a,b="settings"){return e.shuttingDown?e.shutdownPromise??Promise.resolve():(e.configuration=e.configuration.catch(()=>{}).then(()=>v(a,b)),e.configuration)}function x(){return e.shutdownPromise||(e.shuttingDown=!0,e.shutdownPromise=(async()=>{if(await e.configuration.catch(()=>{}),o(),e.autoPingModule?.stopQuotaAutoPing?.(),e.headroomActive){let{stopHeadroomProxy:a}=await c.e(6843).then(c.bind(c,96843));a()}e.mitmActive?await e.mitmModule?.stopMitm?.(void 0,{preserveEnabled:!0}):e.mitmModule?.removeAllDNSEntriesSync?.(),e.tunnelModule?.killCloudflared?.(),e.tunnelActive=!1,e.tailscaleActive=!1,e.mitmActive=!1,e.headroomActive=!1,e.headroomSignature=null,e.autoPingSignature=null})()),e.shutdownPromise}},39817:(a,b,c)=>{"use strict";function d(a){return a?.provider==="codebuddy"||a?.provider==="codebuddy-cn"}function e(a,b){if(!d(b))return a;let c=b?.provider!=="codebuddy-cn"?null:b.providerSpecificData?.codebuddyRuntimeRejectedAt||null,e=d(b)&&b.providerSpecificData?.codebuddyRuntimeExhaustedAt||null;if(!c&&!e)return a;let f=a?.billingQuotas||a?.quotas||{};if(c)return{...a||{},message:"CodeBuddy CN chat API rejected this credential (11140); billing package balance is nominal and does not prove chat access.",billingQuotas:f,runtimeStatus:"credential_rejected",chatUsable:!1,runtimeRejectedAt:c,runtimeRejectedCode:Number(b.providerSpecificData?.codebuddyRuntimeRejectedCode)||11140};let g=Object.fromEntries(Object.entries(f).map(([a,b])=>{let c=Number(b?.total);return[a,{...b||{},...Number.isFinite(c)?{used:c}:{},remaining:0,remainingPercentage:0}]}));return{...a||{},message:"CodeBuddy chat API reported exhausted credits (14018); billing package balance is nominal until a chat request succeeds.",billingQuotas:f,quotas:g,runtimeStatus:"exhausted",chatUsable:!1,runtimeExhausted:!0,runtimeExhaustedAt:e,runtimeExhaustedCode:14018}}c.d(b,{pX:()=>e})},39852:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},40106:(a,b,c)=>{"use strict";let d=c(34589),e=c(77030),f=c(37067),g=c(84285),{ClientStats:h}=c(19071),{channels:i}=c(62571),j=c(76316),k=c(5318),{InvalidArgumentError:l,InformationalError:m,ClientDestroyedError:n}=c(61448),o=c(55285),{kUrl:p,kServerName:q,kClient:r,kBusy:s,kConnect:t,kResuming:u,kRunning:v,kPending:w,kSize:x,kQueue:y,kConnected:z,kConnecting:A,kNeedDrain:B,kKeepAliveDefaultTimeout:C,kHostHeader:D,kPendingIdx:E,kRunningIdx:F,kError:G,kPipelining:H,kKeepAliveTimeoutValue:I,kMaxHeadersSize:J,kKeepAliveMaxTimeout:K,kKeepAliveTimeoutThreshold:L,kHeadersTimeout:M,kBodyTimeout:N,kStrictContentLength:O,kConnector:P,kMaxRequests:Q,kCounter:R,kClose:S,kDestroy:T,kDispatch:U,kLocalAddress:V,kMaxResponseSize:W,kOnError:X,kHTTPContext:Y,kMaxConcurrentStreams:Z,kHostAuthority:$,kResume:_,kHTTP2Options:aa}=c(49176),ab=c(97678),ac=c(80985),ad=Symbol("kClosedResolve"),ae=f&&f.maxHeaderSize&&Number.isInteger(f.maxHeaderSize)&&f.maxHeaderSize>0?()=>f.maxHeaderSize:()=>{throw new l("http module not available or http.maxHeaderSize invalid")},af=()=>{},ag=!1;function ah(a){!0!==ag&&(process.emitWarning(`Use h2Options.${a} instead. ${a} for H2 will be deprecated in future major.`,{code:"UNDICI-H2-OPTIONS"}),ag=!0)}function ai(a){return a[Y]?.version==="h2"?a[Z]:a[H]??a[Y]?.defaultPipelining??1}class aj extends k{constructor(a,{maxHeaderSize:b,headersTimeout:c,socketTimeout:d,requestTimeout:f,connectTimeout:h,bodyTimeout:i,idleTimeout:j,keepAlive:k,keepAliveTimeout:m,maxKeepAliveTimeout:n,keepAliveMaxTimeout:r,keepAliveTimeoutThreshold:s,socketPath:t,pipelining:v,tls:w,strictContentLength:x,maxCachedSessions:z,connect:A,maxRequestsPerClient:G,localAddress:R,maxResponseSize:S,autoSelectFamily:T,autoSelectFamilyAttemptTimeout:U,maxConcurrentStreams:Z,allowH2:ab,useH2c:ac,initialWindowSize:af,connectionWindowSize:ag,pingInterval:ai,webSocket:aj,h2Options:al}={}){if(void 0!==k)throw new l("unsupported keepAlive, use pipelining=0 instead");if(void 0!==d)throw new l("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(void 0!==f)throw new l("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(void 0!==j)throw new l("unsupported idleTimeout, use keepAliveTimeout instead");if(void 0!==n)throw new l("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(null!=b){if(!Number.isInteger(b)||b<1)throw new l("invalid maxHeaderSize")}else b=ae();if(null!=t&&"string"!=typeof t)throw new l("invalid socketPath");if(null!=h&&(!Number.isFinite(h)||h<0))throw new l("invalid connectTimeout");if(null!=m&&(!Number.isFinite(m)||m<=0))throw new l("invalid keepAliveTimeout");if(null!=r&&(!Number.isFinite(r)||r<=0))throw new l("invalid keepAliveMaxTimeout");if(null!=s&&!Number.isFinite(s))throw new l("invalid keepAliveTimeoutThreshold");if(null!=c&&(!Number.isInteger(c)||c<0))throw new l("headersTimeout must be a positive integer or zero");if(null!=i&&(!Number.isInteger(i)||i<0))throw new l("bodyTimeout must be a positive integer or zero");if(null!=A&&"function"!=typeof A&&"object"!=typeof A)throw new l("connect must be a function or an object");if(null!=G&&(!Number.isInteger(G)||G<0))throw new l("maxRequestsPerClient must be a positive number");if(null!=R&&("string"!=typeof R||0===e.isIP(R)))throw new l("localAddress must be valid string IP address");if(null!=S&&(!Number.isInteger(S)||S<-1))throw new l("maxResponseSize must be a positive number");if(null!=U&&(!Number.isInteger(U)||U<-1))throw new l("autoSelectFamilyAttemptTimeout must be a positive number");if(null!=ab&&"boolean"!=typeof ab)throw new l("allowH2 must be a valid boolean value");if(!1!==ab)if(null!=al){if(null!=al.useH2c&&"boolean"!=typeof al.useH2c)throw new l("h2Options.useH2c must be a valid boolean value");if(al.settings?.initialWindowSize!=null&&(!Number.isInteger(al.settings.initialWindowSize)||al.settings.initialWindowSize<1))throw new l("h2Options.settings.initialWindowSize must be a positive integer, greater than 0");if(null!=al.maxConcurrentStreams&&(!Number.isInteger(al.connectionWindowSize)||al.maxConcurrentStreams<1))throw new l("h2Options.maxConcurrentStreams must be a positive integer, greater than 0");if(null!=al.connectionWindowSize&&(!Number.isInteger(al.connectionWindowSize)||al.connectionWindowSize<1))throw new l("h2Options.connectionWindowSize must be a positive integer, greater than 0");if(null!=al.pingInterval&&("number"!=typeof al.pingInterval||!Number.isInteger(al.pingInterval)||al.pingInterval<0))throw new l("h2Options.pingInterval must be a positive integer, greater or equal to 0")}else{if(null!=ac&&"boolean"!=typeof ac)throw ah("useH2c"),new l("useH2c must be a valid boolean value");if(null!=Z&&("number"!=typeof Z||Z<1))throw ah("maxConcurrentStreams"),new l("maxConcurrentStreams must be a positive integer, greater than 0");if(null!=af&&(!Number.isInteger(af)||af<1))throw ah("initialWindowSize"),new l("initialWindowSize must be a positive integer, greater than 0");if(null!=ag&&(!Number.isInteger(ag)||ag<1))throw ah("connectionWindowSize"),new l("connectionWindowSize must be a positive integer, greater than 0");if(null!=ai&&("number"!=typeof ai||!Number.isInteger(ai)||ai<0))throw ah("pingInterval"),new l("pingInterval must be a positive integer, greater or equal to 0")}if(super({webSocket:aj}),"function"!=typeof A)A=o({...w,maxCachedSessions:z,allowH2:ab,socketPath:t,useH2c:al?.useH2c??ac,timeout:h,..."boolean"==typeof T?{autoSelectFamily:T,autoSelectFamilyAttemptTimeout:U}:void 0,...A});else{const a=A;A=(b,c)=>a({...b,...null!=t?{socketPath:t}:null,...null!=ab?{allowH2:ab}:null},c)}this[p]=g.parseOrigin(a),this[$]=`${this[p].hostname}${this[p].port?`:${this[p].port}`:""}`,this[P]=A,this[H]=null!=v?v:1,this[J]=b,this[C]=null==m?4e3:m,this[K]=null==r?6e5:r,this[L]=null==s?2e3:s,this[I]=this[C],this[q]=null,this[V]=null!=R?R:null,this[u]=0,this[B]=0,this[D]=`host: ${this[$]}\r
191
191
  `,this[N]=null!=i?i:3e5,this[M]=null!=c?c:3e5,this[O]=null==x||x,this[Q]=G,this[ad]=null,this[W]=S>-1?S:-1,this[Y]=null,this[aa]={pingInterval:al?.pingInterval??ai??6e4,connectionWindowSize:al?.connectionWindowSize??ag??524288,maxConcurrentStreams:al?.maxConcurrentStreams??Z??100,sessionOptions:{initialWindowSize:al?.initialWindowSize??af??262144}},this[y]=[],this[F]=0,this[E]=0,this[_]=a=>ao(this,a),this[X]=a=>ak(this,a)}get pipelining(){return this[H]}set pipelining(a){this[H]=a,this[_](!0)}get stats(){return new h(this)}get[w](){return this[y].length-this[E]}get[v](){return this[E]-this[F]}get[x](){return this[y].length-this[F]}get[z](){return!!this[Y]&&!this[A]&&!this[Y].destroyed}get[s](){let a=this[Y]?.version==="h2";return!!(this[Y]?.busy(null)||this[x]>=(ai(this)||1)||this[w]>0&&!a)}[t](a){al(this),this.once("connect",a)}[U](a,b){let c=new j(this[p].origin,a,b);return this[y].push(c),this[u]||(null==g.bodyLength(c.body)&&g.isIterable(c.body)?(this[u]=1,queueMicrotask(()=>ao(this))):this[_](!0)),this[u]&&2!==this[B]&&this[s]&&(this[B]=2),this[B]<2}[S](){return new Promise(a=>{this[x]?this[ad]=a:a(null)})}[T](a){return new Promise(b=>{let c=this[y].splice(this[E]);for(let b=0;b<c.length;b++){let d=c[b];null!=d&&g.errorRequest(this,d,a)}let d=()=>{this[ad]&&(this[ad](),this[ad]=null),b(null)};this[Y]?(this[Y].destroy(a,d),this[Y]=null):queueMicrotask(d),this[_]()})}}function ak(a,b){if(0===a[v]&&"UND_ERR_INFO"!==b.code&&"UND_ERR_SOCKET"!==b.code){d(a[E]===a[F]);let c=a[y].splice(a[F]);for(let d=0;d<c.length;d++){let e=c[d];null!=e&&g.errorRequest(a,e,b)}d(0===a[x])}}function al(a){d(!a[A]),d(!a[Y]);let{host:b,hostname:c,protocol:f,port:h}=a[p];if("["===c[0]){let a=c.indexOf("]");d(-1!==a);let b=c.substring(1,a);d(e.isIPv6(b)),c=b}a[A]=!0,i.beforeConnect.hasSubscribers&&i.beforeConnect.publish({connectParams:{host:b,hostname:c,protocol:f,port:h,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P]});try{a[P]({host:b,hostname:c,protocol:f,port:h,servername:a[q],localAddress:a[V]},(e,j)=>{if(e){am(a,e,{host:b,hostname:c,protocol:f,port:h}),a[_]();return}if(a.destroyed){g.destroy(j.on("error",af),new n),a[_]();return}d(j);try{a[Y]="h2"===j.alpnProtocol?ac(a,j):ab(a,j)}catch(d){j.destroy().on("error",af),am(a,d,{host:b,hostname:c,protocol:f,port:h}),a[_]();return}a[A]=!1,j[R]=0,j[Q]=a[Q],j[r]=a,j[G]=null,i.connected.hasSubscribers&&i.connected.publish({connectParams:{host:b,hostname:c,protocol:f,port:h,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P],socket:j}),a.emit("connect",a[p],[a]),a[_]()})}catch(d){am(a,d,{host:b,hostname:c,protocol:f,port:h}),a[_]()}}function am(a,b,{host:c,hostname:d,protocol:e,port:f}){if(!a.destroyed){if(a[A]=!1,i.connectError.hasSubscribers&&i.connectError.publish({connectParams:{host:c,hostname:d,protocol:e,port:f,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P],error:b}),"ERR_TLS_CERT_ALTNAME_INVALID"===b.code){let c=a[y].splice(a[F],a[v]);a[E]=a[F];for(let d=0;d<c.length;d++)g.errorRequest(a,c[d],b);for(;a[w]>0&&a[y][a[E]].servername===a[q];){let c=a[y].splice(a[E],1)[0];g.errorRequest(a,c,b)}}else ak(a,b);a.emit("connectionError",a[p],[a],b)}}function an(a){a[B]=0,a.emit("drain",a[p],[a])}function ao(a,b){2!==a[u]&&(a[u]=2,function(a,b){for(;;){if(a.destroyed)return void d(0===a[w]);if(a[ad]&&!a[x]){a[ad](),a[ad]=null;return}if(a[Y]&&a[Y].resume(),a[s])a[B]=2;else if(2===a[B]){b?(a[B]=1,queueMicrotask(()=>an(a))):an(a);continue}if(0===a[w]||a[v]>=(ai(a)||1))return;let c=a[y][a[E]];if(null===c)return;if("https:"===a[p].protocol&&a[q]!==c.servername){if(a[v]>0)return;a[q]=c.servername,a[Y]?.destroy(new m("servername changed"),()=>{a[Y]=null,ao(a)})}if(a[A])return;if(!a[Y]){a[q]=c.servername,al(a);return}if(a[Y].destroyed||a[Y].busy(c))return;!c.aborted&&a[Y].write(c)?a[E]++:a[y].splice(a[E],1)}}(a,b),a[u]=0,a[F]>256&&(a[y].splice(0,a[F]),a[E]-=a[F],a[F]=0))}a.exports=aj},40603:(a,b,c)=>{"use strict";let{EventEmitter:d}=c(78474),{Buffer:e}=c(4573),{InvalidArgumentError:f,Socks5ProxyError:g}=c(61448),{debuglog:h}=c(57975),{parseAddress:i}=c(33297),j=h("undici:socks5"),k=e.alloc(0),l={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},m={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},n={IPV4:1,DOMAIN:3,IPV6:4},o={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},p={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",AUTHENTICATED:"authenticated",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"};class q extends d{constructor(a,b={}){if(super(),!a)throw new f("socket is required");this.socket=a,this.options=b,this.state=p.INITIAL,this.buffer=k,this.onSocketData=this.onData.bind(this),this.onSocketError=this.onError.bind(this),this.onSocketClose=this.onClose.bind(this),this.authMethods=[],b.username&&b.password&&this.authMethods.push(l.USERNAME_PASSWORD),this.authMethods.push(l.NO_AUTH),this.socket.on("data",this.onSocketData),this.socket.on("error",this.onSocketError),this.socket.on("close",this.onSocketClose)}onData(a){j("received data",a.length,"bytes in state",this.state),this.buffer=e.concat([this.buffer,a]);try{switch(this.state){case p.HANDSHAKING:this.handleHandshakeResponse();break;case p.AUTHENTICATING:this.handleAuthResponse();break;case p.CONNECTING:this.handleConnectResponse()}}catch(a){this.onError(a)}}onError(a){j("socket error",a),this.state=p.ERROR,this.emit("error",a),this.destroy()}onClose(){j("socket closed"),this.state=p.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}markAuthenticated(){this.state=p.AUTHENTICATED,this.emit("authenticated")}handshake(){if(this.state!==p.INITIAL)throw new f("Handshake already started");j("starting handshake with",this.authMethods.length,"auth methods"),this.state=p.HANDSHAKING;let a=e.alloc(2+this.authMethods.length);a[0]=5,a[1]=this.authMethods.length,this.authMethods.forEach((b,c)=>{a[2+c]=b}),this.socket.write(a)}handleHandshakeResponse(){if(this.buffer.length<2)return;let a=this.buffer[0],b=this.buffer[1];if(5!==a)throw new g(`Invalid SOCKS version: ${a}`,"UND_ERR_SOCKS5_VERSION");if(b===l.NO_ACCEPTABLE)throw new g("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),j("server selected auth method",b),b===l.NO_AUTH)this.markAuthenticated();else if(b===l.USERNAME_PASSWORD)this.state=p.AUTHENTICATING,this.sendAuthRequest();else throw new g(`Unsupported authentication method: ${b}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){let{username:a,password:b}=this.options;if(!a||!b)throw new f("Username and password required for authentication");j("sending username/password auth");let c=e.from(a),d=e.from(b);if(c.length>255||d.length>255)throw new f("Username or password too long");let g=e.alloc(3+c.length+d.length);g[0]=1,g[1]=c.length,c.copy(g,2),g[2+c.length]=d.length,d.copy(g,3+c.length),this.socket.write(g)}handleAuthResponse(){if(this.buffer.length<2)return;let a=this.buffer[0],b=this.buffer[1];if(1!==a)throw new g(`Invalid auth sub-negotiation version: ${a}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(0!==b)throw new g("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),j("authentication successful"),this.markAuthenticated()}connect(a,b){if(this.state===p.CONNECTING||this.state===p.CONNECTED)throw new f("Connection already in progress");if(this.state!==p.AUTHENTICATED)throw new f("Client must be authenticated before CONNECT");j("connecting to",a,b),this.state=p.CONNECTING;let c=this.buildConnectRequest(m.CONNECT,a,b);this.socket.write(c)}buildConnectRequest(a,b,c){let{type:d,buffer:f}=i(b),g=e.alloc(4+f.length+2);return g[0]=5,g[1]=a,g[2]=0,g[3]=d,f.copy(g,4),g.writeUInt16BE(c,4+f.length),g}handleConnectResponse(){let a;if(this.buffer.length<4)return;let b=this.buffer[0],c=this.buffer[1],d=this.buffer[3];if(5!==b)throw new g(`Invalid SOCKS version in reply: ${b}`,"UND_ERR_SOCKS5_REPLY_VERSION");let e=4;if(d===n.IPV4)e+=6;else if(d===n.DOMAIN){if(this.buffer.length<5)return;e+=1+this.buffer[4]+2}else if(d===n.IPV6)e+=18;else throw new g(`Invalid address type in reply: ${d}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<e)return;if(c!==o.SUCCEEDED){let a=this.getReplyErrorMessage(c);throw new g(`SOCKS5 connection failed: ${a}`,`UND_ERR_SOCKS5_REPLY_${c}`)}let f=4;if(d===n.IPV4)a=Array.from(this.buffer.subarray(f,f+4)).join("."),f+=4;else if(d===n.DOMAIN){let b=this.buffer[f];f+=1,a=this.buffer.subarray(f,f+b).toString(),f+=b}else if(d===n.IPV6){let b=[];for(let a=0;a<8;a++){let c=this.buffer.readUInt16BE(f+2*a);b.push(c.toString(16))}a=b.join(":"),f+=16}let h=this.buffer.readUInt16BE(f);this.buffer=k,this.state=p.CONNECTED,this.socket.removeListener("data",this.onSocketData),j("connected, bound address:",a,"port:",h),this.emit("connected",{address:a,port:h})}getReplyErrorMessage(a){switch(a){case o.GENERAL_FAILURE:return"General SOCKS server failure";case o.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case o.NETWORK_UNREACHABLE:return"Network unreachable";case o.HOST_UNREACHABLE:return"Host unreachable";case o.CONNECTION_REFUSED:return"Connection refused";case o.TTL_EXPIRED:return"TTL expired";case o.COMMAND_NOT_SUPPORTED:return"Command not supported";case o.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${a}`}}}a.exports={Socks5Client:q,AUTH_METHODS:l,COMMANDS:m,ADDRESS_TYPES:n,REPLY_CODES:o,STATES:p}},40784:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToCommandCode:()=>h});var d=c(70556),e=c(42541),f=c(55511);function g(a){if(null==a)return"";if("string"==typeof a)return a;if(Array.isArray(a)){let b=[];for(let c of a)"string"==typeof c?b.push(c):c&&"object"==typeof c&&"string"==typeof c.text&&b.push(c.text);return b.join("\n")}return String(a)}function h(a,b,c){let{messages:d,system:e}=function(a=[]){let b=[],c=[];for(let d of a){if(!d)continue;let a=d.role;if("system"===a){let a=g(d.content);a&&c.push(a);continue}if("tool"===a){let a="string"==typeof d.content?d.content:g(d.content);b.push({role:"tool",content:[{type:"tool-result",toolCallId:d.tool_call_id||"",toolName:d.name||"",output:{type:"text",value:a}}]});continue}if("assistant"===a){let a=[],c=g(d.content);if(c&&a.push({type:"text",text:c}),Array.isArray(d.tool_calls))for(let b of d.tool_calls){let c=b.function||{};a.push({type:"tool-call",toolCallId:b.id||"",toolName:c.name||"",input:function(a){if(null==a)return{};if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return{_raw:a}}}(c.arguments)})}b.push({role:"assistant",content:a.length?a:[{type:"text",text:""}]});continue}b.push({role:"user",content:function(a){if(null==a)return[{type:"text",text:""}];if("string"==typeof a)return[{type:"text",text:a}];if(Array.isArray(a)){let b=[];for(let c of a)if("string"==typeof c)b.push({type:"text",text:c});else if(c&&"object"==typeof c)if("text"===c.type&&"string"==typeof c.text)b.push({type:"text",text:c.text});else if("image_url"===c.type){let a="string"==typeof c.image_url?c.image_url:c.image_url?.url;a&&b.push({type:"image",image:a})}else if("image"===c.type&&c.source)if("base64"===c.source.type&&c.source.data){let a=c.source.media_type||"image/png";b.push({type:"image",image:`data:${a};base64,${c.source.data}`})}else"url"===c.source.type&&c.source.url&&b.push({type:"image",image:c.source.url});else"string"==typeof c.text&&b.push({type:"text",text:c.text});return b.length?b:[{type:"text",text:""}]}return[{type:"text",text:String(a)}]}(d.content)})}return{messages:b,system:c.join("\n\n")}}(b.messages),h={model:a,messages:d,stream:!1!==c,max_tokens:b.max_tokens??b.max_output_tokens??64e3,temperature:b.temperature??.3};e&&(h.system=e);let i=function(a){if(!Array.isArray(a)||0===a.length)return;let b=[];for(let c of a)c&&("function"===c.type&&c.function?b.push({name:c.function.name,description:c.function.description,input_schema:c.function.parameters||{type:"object"}}):c.name&&(c.input_schema||c.parameters)&&b.push({name:c.name,description:c.description,input_schema:c.input_schema||c.parameters}));return b.length?b:void 0}(b.tools);i&&(h.tools=i),null!=b.top_p&&(h.top_p=b.top_p);let j=new Date().toISOString().slice(0,10);return{threadId:(0,f.randomUUID)(),memory:"",config:{workingDir:process.cwd(),date:j,environment:process.platform,structure:[],isGitRepo:!1,currentBranch:"",mainBranch:"",gitStatus:"",recentCommits:[]},params:h}}(0,d.kz)(e.h.OPENAI,e.h.COMMANDCODE,h,null)},41207:(a,b,c)=>{"use strict";c.d(b,{e:()=>function a(b){if(!b||"object"!=typeof b)return b;if(Array.isArray(b)){for(let c of b)a(c);return b}if(b.properties&&"object"==typeof b.properties&&!Array.isArray(b.properties)){let a=new Map,c=new Set(Object.keys(b.properties).filter(a=>d.test(a)));for(let e of Object.keys(b.properties))d.test(e)||a.set(e,function(a,b){let c=a.replace(/[^a-zA-Z0-9_.-]/g,"_").slice(0,64);0===c.length&&(c="_");let d=c,e=1;for(;b.has(d);){let a=`_${e++}`;d=c.slice(0,64-a.length)+a}return b.add(d),d}(e,c));for(let[c,d]of a)b.properties[d]=b.properties[c],delete b.properties[c];a.size>0&&Array.isArray(b.required)&&(b.required=b.required.map(b=>a.get(b)||b))}for(let c of Object.values(b))c&&"object"==typeof c&&a(c);return b}});let d=/^[a-zA-Z0-9_.-]{1,64}$/},41222:(a,b,c)=>{"use strict";c.r(b),c.d(b,{claudeToOpenAIResponse:()=>g});var d=c(70556),e=c(42541);function f(a,b,c=null){return{id:`chatcmpl-${a.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function g(a,b){if(!a)return null;let c=[];switch(a.type){case"message_start":b.messageId=a.message?.id||`msg_${Date.now()}`,b.model=a.message?.model,b.toolCallIndex=0,c.push(f(b,{role:"assistant"}));break;case"content_block_start":{let d=a.content_block;if(d?.type==="server_tool_use"){b.serverToolBlockIndex=a.index;break}if(d?.type==="text")b.textBlockStarted=!0;else if(d?.type==="thinking")b.inThinkingBlock=!0,b.currentBlockIndex=a.index,c.push(f(b,{content:"<think>"}));else if(d?.type==="tool_use"){let e=b.toolCallIndex++,g=b.toolNameMap?.get(d.name)||d.name,h={index:e,id:d.id,type:"function",function:{name:g,arguments:""}};b.toolCalls.set(a.index,h),c.push(f(b,{tool_calls:[h]}))}break}case"content_block_delta":{if(a.index===b.serverToolBlockIndex)break;let d=a.delta;if(d?.type==="text_delta"&&d.text)c.push(f(b,{content:d.text}));else if(d?.type==="thinking_delta"&&d.thinking)c.push(f(b,{reasoning_content:d.thinking}));else if(d?.type==="input_json_delta"&&d.partial_json){let e=b.toolCalls.get(a.index);e&&(e.function.arguments+=d.partial_json,c.push(f(b,{tool_calls:[{index:e.index,id:e.id,function:{arguments:d.partial_json}}]})))}break}case"content_block_stop":if(a.index===b.serverToolBlockIndex){b.serverToolBlockIndex=-1;break}b.inThinkingBlock&&a.index===b.currentBlockIndex&&(c.push(f(b,{content:"</think>"})),b.inThinkingBlock=!1),b.textBlockStarted=!1,b.thinkingBlockStarted=!1;break;case"message_delta":if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.input_tokens?a.usage.input_tokens:0,d="number"==typeof a.usage.output_tokens?a.usage.output_tokens:0,e="number"==typeof a.usage.cache_read_input_tokens?a.usage.cache_read_input_tokens:0,f="number"==typeof a.usage.cache_creation_input_tokens?a.usage.cache_creation_input_tokens:0,g=c+e+f;b.usage={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,input_tokens:c,output_tokens:d},e>0&&(b.usage.cache_read_input_tokens=e),f>0&&(b.usage.cache_creation_input_tokens=f)}if(a.delta?.stop_reason){b.finishReason=function(a){switch(a){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(a.delta.stop_reason);let d={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:b.finishReason}]};if(b.usage){d.usage={prompt_tokens:b.usage.prompt_tokens,completion_tokens:b.usage.completion_tokens,total_tokens:b.usage.total_tokens};let a=b.usage.cache_read_input_tokens,c=b.usage.cache_creation_input_tokens;(a>0||c>0)&&(d.usage.prompt_tokens_details={},a>0&&(d.usage.prompt_tokens_details.cached_tokens=a),c>0&&(d.usage.prompt_tokens_details.cache_creation_tokens=c))}c.push(d),b.finishReasonSent=!0}break;case"message_stop":if(!b.finishReasonSent){let a=b.finishReason||(b.toolCalls?.size>0?"tool_calls":"stop"),d=b.usage&&"object"==typeof b.usage?{usage:{prompt_tokens:b.usage.input_tokens||0,completion_tokens:b.usage.output_tokens||0,total_tokens:(b.usage.input_tokens||0)+(b.usage.output_tokens||0)}}:{};c.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}],...d}),b.finishReasonSent=!0}}return c.length>0?c:null}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,null,g)},41310:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(39852),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(53859);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"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.n,{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)}},41815:(a,b,c)=>{"use strict";c.d(b,{$:()=>o});var d=c(69384),e=c(30395),f=c(11484);let g=e.xq["grok-web"].baseUrl,h={"grok-3":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3",isThinking:!1},"grok-3-mini":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_MINI_THINKING",isThinking:!0},"grok-3-thinking":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_THINKING",isThinking:!0},"grok-4":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4",isThinking:!1},"grok-4-mini":{grokModel:"grok-4-mini",modelMode:"MODEL_MODE_GROK_4_MINI_THINKING",isThinking:!0},"grok-4-thinking":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4_THINKING",isThinking:!0},"grok-4-heavy":{grokModel:"grok-4",modelMode:"MODEL_MODE_HEAVY",isThinking:!0},"grok-4.1-mini":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_MINI_THINKING",isThinking:!0},"grok-4.1-fast":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_FAST",isThinking:!1},"grok-4.1-expert":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_EXPERT",isThinking:!0},"grok-4.1-thinking":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_THINKING",isThinking:!0},"grok-4.2":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20-beta":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1}};function i(a,b=!1){let c=b?"abcdefghijklmnopqrstuvwxyz0123456789":"abcdefghijklmnopqrstuvwxyz",d="";for(let b=0;b<a;b++)d+=c[Math.floor(Math.random()*c.length)];return d}function j(a){let b=new Uint8Array(a);return crypto.getRandomValues(b),Array.from(b,a=>a.toString(16).padStart(2,"0")).join("")}async function*k(a,b){let c=a.getReader(),d=new TextDecoder,e="";try{for(;;){if(b?.aborted)return;let{value:a,done:f}=await c.read();if(f)break;for(e+=d.decode(a,{stream:!0});;){let a=e.indexOf("\n");if(a<0)break;let b=e.slice(0,a).trim();if(e=e.slice(a+1),b)try{yield JSON.parse(b)}catch{}}}let a=(e+=d.decode()).trim();if(a)try{yield JSON.parse(a)}catch{}}finally{c.releaseLock()}}async function*l(a,b,c){let d="",e="",f=!1;for await(let g of k(a,c)){if(g.error)return void(yield{error:g.error.message||`Grok error: ${g.error.code}`,done:!0});let a=g.result?.response;if(a){if(a.llmInfo?.modelHash&&!d&&(d=a.llmInfo.modelHash),a.responseId&&(e=a.responseId),a.modelResponse){let c=a.modelResponse;f&&b&&(c.message&&(yield{thinking:c.message}),f=!1),c.message&&(yield{fullMessage:c.message,fingerprint:d,responseId:e}),c.metadata?.llm_info?.modelHash&&(d=c.metadata.llm_info.modelHash);continue}null!=a.token&&(yield{delta:a.token,fingerprint:d,responseId:e})}}yield{done:!0,fingerprint:d,responseId:e}}function m(a){return`data: ${JSON.stringify(a)}
192
192
 
193
- `}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}}}},42425:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),e=c(38522),{redirectStatusSet:f,referrerPolicyTokens:g,badPortsSet:h}=c(19608),{getGlobalOrigin:i}=c(79412),{collectAnHTTPQuotedString:j,parseMIMEType:k}=c(16537),{performance:l}=c(643),{ReadableStreamFrom:m,isValidHTTPToken:n,normalizedMethodRecordsBase:o}=c(84285),p=c(34589),{isUint8Array:q}=c(73429),{webidl:r}=c(32984),{isomorphicEncode:s,collectASequenceOfCodePoints:t,removeChars:u}=c(70745);function v(a){let b=a.urlList,c=b.length;return 0===c?null:b[c-1].toString()}function w(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c>126||c<32)return!1}return!0}function x(a){return a.urlList[a.urlList.length-1]}function y(a){return!1===(" "===a[0]||" "===a[0]||" "===a[a.length-1]||" "===a[a.length-1]||a.includes("\n")||a.includes("\r")||a.includes("\0"))}function z(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function A(a,b=!1){return(p(r.is.URL(a)),J(a=new URL(a)))?"no-referrer":(a.username="",a.password="",a.hash="",!0===b&&(a.pathname="",a.search=""),a)}let B=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),C=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function D(a){return a.includes(":")?("["===a[0]&&"]"===a[a.length-1]&&(a=a.slice(1,-1)),C(a)):B(a)}function E(a){var b;return!!r.is.URL(a)&&("about:blank"===a.href||"about:srcdoc"===a.href||"data:"===a.protocol||"blob:"===a.protocol||null!=(b=a.origin)&&"null"!==b&&(!!("https:"===(b=new URL(b)).protocol||"wss:"===b.protocol||D(b.hostname)||"localhost"===b.hostname||"localhost."===b.hostname||b.hostname.endsWith(".localhost")||b.hostname.endsWith(".localhost."))||"file:"===b.protocol))}function F(a,b){return a.origin===b.origin&&"null"===a.origin||a.protocol===b.protocol&&a.hostname===b.hostname&&a.port===b.port}let G=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function H(a,b,c=0,d=1){class e{#an;#ao;#ap;constructor(a,b){this.#an=a,this.#ao=b,this.#ap=0}next(){let e;if("object"!=typeof this||this===null||!(#an in this))throw TypeError(`'next' called on an object that does not implement interface ${a} Iterator.`);let f=this.#ap,g=b(this.#an);if(f>=g.length)return{value:void 0,done:!0};let{[c]:h,[d]:i}=g[f];switch(this.#ap=f+1,this.#ao){case"key":e=h;break;case"value":e=i;break;case"key+value":e=[h,i]}return{value:e,done:!1}}}return delete e.prototype.constructor,Object.setPrototypeOf(e.prototype,G),Object.defineProperties(e.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${a} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(a,b){return new e(a,b)}}async function I(a,b,c){try{let d=[],e=0;for(;;){let{done:f,value:g}=await a.read();if(f)return void b(Buffer.concat(d,e));if(!q(g))return void c(TypeError("Received non-Uint8Array chunk"));d.push(g),e+=g.length}}catch(a){c(a)}}function J(a){p("protocol"in a);let b=a.protocol;return"about:"===b||"blob:"===b||"data:"===b}function K(a){return"string"==typeof a&&":"===a[5]&&"h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3]&&"s"===a[4]||"https:"===a.protocol}function L(a){p("protocol"in a);let b=a.protocol;return"http:"===b||"https:"===b}class M extends d{#aq;constructor(a){super(),this.#aq=a}_transform(a,b,c){if(!this._inflateStream){if(0===a.length)return void c();this._inflateStream=(15&a[0])==8?e.createInflate(this.#aq):e.createInflateRaw(this.#aq),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",a=>this.destroy(a))}this._inflateStream.write(a,b,c)}_final(a){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),a()}}function N(a,b){let c=b.get(a,!0);if(null===c)return null;let d={position:0},e=[],f="";for(;d.position<c.length;){if(f+=t(a=>'"'!==a&&","!==a,c,d),d.position<c.length)if(34===c.charCodeAt(d.position)){if(f+=j(c,d),d.position<c.length)continue}else p(44===c.charCodeAt(d.position)),d.position++;f=u(f,!0,!0,a=>9===a||32===a),e.push(f),f=""}return e}class O{get baseUrl(){return i()}get origin(){return this.baseUrl?.origin}policyContainer=z()}class P{settingsObject=new O}a.exports={isAborted:function(a){return"aborted"===a.controller.state},isCancelled:function(a){return"aborted"===a.controller.state||"terminated"===a.controller.state},isValidEncodedURL:w,ReadableStreamFrom:m,tryUpgradeRequestToAPotentiallyTrustworthyURL:function(a){},clampAndCoarsenConnectionTimingInfo:function(a,b,c){return!a?.startTime||a.startTime<b?{domainLookupStartTime:b,domainLookupEndTime:b,connectionStartTime:b,connectionEndTime:b,secureConnectionStartTime:b,ALPNNegotiatedProtocol:a?.ALPNNegotiatedProtocol}:{domainLookupStartTime:a.domainLookupStartTime,domainLookupEndTime:a.domainLookupEndTime,connectionStartTime:a.connectionStartTime,connectionEndTime:a.connectionEndTime,secureConnectionStartTime:a.secureConnectionStartTime,ALPNNegotiatedProtocol:a.ALPNNegotiatedProtocol}},coarsenedSharedCurrentTime:function(a){return l.now()},determineRequestsReferrer:function(a){let b=a.referrerPolicy;p(b);let c=null;if("client"===a.referrer){let a=i();if(!a||"null"===a.origin)return"no-referrer";c=new URL(a)}else r.is.URL(a.referrer)&&(c=a.referrer);let d=A(c),e=A(c,!0);switch(d.toString().length>4096&&(d=e),b){case"no-referrer":return"no-referrer";case"origin":if(null!=e)return e;return A(c,!0);case"unsafe-url":return d;case"strict-origin":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return e}case"strict-origin-when-cross-origin":{let b=x(a);if(F(d,b))return d;if(E(d)&&!E(b))return"no-referrer";return e}case"same-origin":if(F(a,d))return d;return"no-referrer";case"origin-when-cross-origin":if(F(a,d))return d;return e;case"no-referrer-when-downgrade":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return d}}},makePolicyContainer:z,clonePolicyContainer:function(a){return{referrerPolicy:a.referrerPolicy}},appendFetchMetadata:function(a){let b=null;b=a.mode,a.headersList.set("sec-fetch-mode",b,!0)},appendRequestOriginHeader:function(a){let b=a.origin;if("client"!==b&&void 0!==b){if("cors"===a.responseTainting||"websocket"===a.mode)a.headersList.append("origin",b,!0);else if("GET"!==a.method&&"HEAD"!==a.method){switch(a.referrerPolicy){case"no-referrer":b=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":a.origin&&K(a.origin)&&!K(x(a))&&(b=null);break;case"same-origin":F(a,x(a))||(b=null)}a.headersList.append("origin",b,!0)}}},TAOCheck:function(){return"success"},corsCheck:function(){return"success"},crossOriginResourcePolicyCheck:function(){return"allowed"},createOpaqueTimingInfo:function(a){return{startTime:a.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:a.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}},setRequestReferrerPolicyOnRedirect:function(a,b){let c=function(a){let b=(a.headersList.get("referrer-policy",!0)??"").split(","),c="";if(b.length)for(let a=b.length;0!==a;a--){let d=b[a-1].trim();if(g.has(d)){c=d;break}}return c}(b);""!==c&&(a.referrerPolicy=c)},isValidHTTPToken:n,requestBadPort:function(a){let b=x(a);return L(b)&&h.has(b.port)?"blocked":"allowed"},requestCurrentURL:x,responseURL:v,responseLocationURL:function(a,b){var c;if(!f.has(a.status))return null;let d=a.headersList.get("location",!0);return null!==d&&y(d)&&(w(d)||(c=d,d=Buffer.from(c,"binary").toString("utf8")),d=new URL(d,v(a))),d&&!d.hash&&(d.hash=b),d},isURLPotentiallyTrustworthy:E,isValidReasonPhrase:function(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(!(9===c||c>=32&&c<=126||c>=128&&c<=255))return!1}return!0},sameOrigin:F,normalizeMethod:function(a){return o[a.toLowerCase()]??a},iteratorMixin:function(a,b,c,d=0,e=1){let f=H(a,c,d,e),g={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(c,d=globalThis){if(r.brandCheck(this,b),r.argumentLengthCheck(arguments,1,`${a}.forEach`),"function"!=typeof c)throw TypeError(`Failed to execute 'forEach' on '${a}': parameter 1 is not of type 'Function'.`);for(let{0:a,1:b}of f(this,"key+value"))c.call(d,b,a,this)}}};return Object.defineProperties(b.prototype,{...g,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:g.entries.value}})},createIterator:H,isValidHeaderName:n,isValidHeaderValue:y,isErrorLike:function(a){return a instanceof Error||a?.constructor?.name==="Error"||a?.constructor?.name==="DOMException"},fullyReadBody:function(a,b,c){try{let d=a.stream.getReader();I(d,b,c)}catch(a){c(a)}},readableStreamClose:function(a){try{a.close(),a.byobRequest?.respond(0)}catch(a){if(!a.message.includes("Controller is already closed")&&!a.message.includes("ReadableStream is already closed"))throw a}},urlIsLocal:J,urlHasHttpsScheme:K,urlIsHttpHttpsScheme:L,readAllBytes:I,simpleRangeHeaderValue:function(a,b){if(!a.startsWith("bytes"))return"failure";let c={position:5};if(b&&t(a=>" "===a||" "===a,a,c),61!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let d=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),e=d.length?Number(d):null;if(b&&t(a=>" "===a||" "===a,a,c),45!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let f=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),g=f.length?Number(f):null;return c.position<a.length||null===g&&null===e||null!==e&&null!==g&&e>g?"failure":{rangeStartValue:e,rangeEndValue:g}},buildContentRange:function(a,b,c){let d="bytes ";return d+=s(`${a}`),d+="-",d+=s(`${b}`),d+="/",d+=s(`${c}`)},createInflate:function(a){return new M(a)},extractMimeType:function(a){let b=null,c=null,d=null,e=N("content-type",a);if(null===e)return"failure";for(let a of e){let e=k(a);"failure"!==e&&"*/*"!==e.essence&&((d=e).essence!==c?(b=null,d.parameters.has("charset")&&(b=d.parameters.get("charset")),c=d.essence):d.parameters.has("charset")||null===b||d.parameters.set("charset",b))}return null==d?"failure":d},getDecodeSplit:N,environmentSettingsObject:new P,isOriginIPPotentiallyTrustworthy:D,hasAuthenticationEntry:function(a){return!1},includesCredentials:function(a){return!!(a.username||a.password)},isTraversableNavigable:function(a){return null!=a&&"client"!==a&&"no-traversable"!==a}}},42430:(a,b,c)=>{"use strict";let{addAbortListener:d}=c(78474),{environmentSettingsObject:e,readableStreamClose:f}=c(42425),{states:g,opcodes:h,sentCloseFrameState:i}=c(62026),{webidl:j}=c(32984),{getURLRecord:k,isValidSubprotocol:l,isEstablished:m,utf8Decode:n}=c(94050),{establishWebSocketConnection:o,failWebsocketConnection:p,closeWebSocketConnection:q}=c(4654),{channels:r}=c(62571),{WebsocketFrameSend:s}=c(45221),{ByteParser:t}=c(64821),{WebSocketError:u,createUnvalidatedWebSocketError:v}=c(87404),{kEnumerableProperty:w}=c(84285),{utf8DecodeBytes:x}=c(67449),y=!1;class z{#ar;#as;#at;#au;#av;#aw;#ax=!1;#ay={onConnectionEstablished:(a,b)=>this.#az(a,b),onMessage:(a,b)=>this.#aA(a,b),onParserError:a=>p(this.#ay,null,a.message),onParserDrain:()=>this.#ay.socket.resume(),onSocketData:a=>{this.#aB.write(a)||this.#ay.socket.pause()},onSocketError:a=>{this.#ay.readyState=g.CLOSING,r.socketError.hasSubscribers&&r.socketError.publish(a),this.#ay.socket.destroy()},onSocketClose:()=>this.#aC(),onPing:()=>{},onPong:()=>{},readyState:g.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#aB;constructor(a,b){y||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),y=!0),j.argumentLengthCheck(arguments,1,"WebSocket"),a=j.converters.USVString(a),null!==b&&(b=j.converters.WebSocketStreamOptions(b));const c=k(a,e.settingsObject.baseUrl),f=b.protocols;if(f.length!==new Set(f.map(a=>a.toLowerCase())).size||f.length>0&&!f.every(a=>l(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#ar=c.toString(),this.#as=Promise.withResolvers(),this.#at=Promise.withResolvers(),null!=b.signal){const a=b.signal;if(a.aborted){this.#as.reject(a.reason),this.#at.reject(a.reason);return}d(a,()=>{m(this.#ay.readyState)||(p(this.#ay),this.#ay.readyState=g.CLOSING,this.#as.reject(a.reason),this.#at.reject(a.reason),this.#ax=!0)})}const h=e.settingsObject;this.#ay.controller=o(c,f,h,this.#ay,b)}get url(){return this.#ar.toString()}get opened(){return this.#as.promise}get closed(){return this.#at.promise}close(a){null!==a&&(a=j.converters.WebSocketCloseInfo(a));let b=a.closeCode??null,c=a.reason;q(this.#ay,b,c,!0)}#aD(a){a=j.converters.WebSocketStreamWrite(a);let b=Promise.withResolvers(),c=null,d=null;if(j.is.BufferSource(a))c=new Uint8Array(ArrayBuffer.isView(a)?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):a.slice()),d=h.BINARY;else{let e;try{e=j.converters.DOMString(a)}catch(a){return b.reject(a),b.promise}c=new TextEncoder().encode(e),d=h.TEXT}if(!this.#ay.closeState.has(i.SENT)&&!this.#ay.closeState.has(i.RECEIVED)){let a=new s(c);this.#ay.socket.write(a.createFrame(d),()=>{b.resolve(void 0)})}return b.promise}#az(a,b){this.#ay.socket=a.socket;let c=this.#ay.controller.dispatcher?.webSocketOptions?.maxFragments,d=this.#ay.controller.dispatcher?.webSocketOptions?.maxPayloadSize,e=new t(this.#ay,b,{maxFragments:c,maxPayloadSize:d});e.on("drain",()=>this.#ay.onParserDrain()),e.on("error",a=>this.#ay.onParserError(a)),this.#aB=e,this.#ay.readyState=g.OPEN;let f=b??"",h=a.headersList.get("sec-websocket-protocol")??"",i=new ReadableStream({start:a=>{this.#av=a},cancel:a=>this.#aE(a)}),j=new WritableStream({write:a=>this.#aD(a),close:()=>q(this.#ay,null,null),abort:a=>this.#aF(a)});this.#au=i,this.#aw=j,this.#as.resolve({extensions:f,protocol:h,readable:i,writable:j})}#aA(a,b){let c;if(this.#ay.readyState===g.OPEN){if(a===h.TEXT)try{c=n(b)}catch{p(this.#ay,1007,"Received invalid UTF-8 in text frame.");return}else a===h.BINARY&&(c=new Uint8Array(b.buffer,b.byteOffset,b.byteLength));this.#av.enqueue(c)}}#aC(){let a=this.#ay.closeState.has(i.SENT)&&this.#ay.closeState.has(i.RECEIVED);if(this.#ay.readyState=g.CLOSED,this.#ax)return;this.#ay.wasEverConnected||this.#as.reject(new u("Socket never opened"));let b=this.#aB?.closingInfo,c=b?.code??1005;this.#ay.closeState.has(i.SENT)||this.#ay.closeState.has(i.RECEIVED)||(c=1006);let d=b?.reason==null?"":x(Buffer.from(b.reason));if(a)f(this.#av),this.#aw.locked||this.#aw.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#at.resolve({closeCode:c,reason:d});else{let a=v("unclean close",c,d);this.#av?.error(a),this.#aw?.abort(a),this.#at.reject(a)}}#aF(a){let b=null,c="";j.is.WebSocketError(a)&&(b=a.closeCode,c=a.reason),q(this.#ay,b,c)}#aE(a){this.#aF(a)}}Object.defineProperties(z.prototype,{url:w,opened:w,closed:w,close:w,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}}),j.converters.WebSocketStreamOptions=j.dictionaryConverter([{key:"protocols",converter:j.sequenceConverter(j.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:j.nullableConverter(j.converters.AbortSignal),defaultValue:()=>null}]),j.converters.WebSocketCloseInfo=j.dictionaryConverter([{key:"closeCode",converter:a=>j.converters["unsigned short"](a,j.attributes.EnforceRange)},{key:"reason",converter:j.converters.USVString,defaultValue:()=>""}]),j.converters.WebSocketStreamWrite=function(a){return"string"==typeof a?j.converters.USVString(a):j.converters.BufferSource(a)},a.exports={WebSocketStream:z}},42541:(a,b,c)=>{"use strict";c.d(b,{h:()=>d});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"}},42671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToAntigravityRequest:()=>I,openaiToGeminiCLIRequest:()=>F,openaiToGeminiRequest:()=>D});var d=c(70556),e=c(42541),f=c(65556),g=c(15822),h=c(13324),i=c(93745),j=c(22067);function k(a,b){if("string"!=typeof a||"string"!=typeof b)return!1;let c=a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*");return RegExp(`^${c}$`,"i").test(b)}let l={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},m={"claude-opus-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"kimi-k3":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},k3:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},"kimi-for-coding":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-for-coding-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},n={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},o={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:372e3,maxOutput:128e3},p={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},q={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},codex:{"gpt-5.6-sol":o,"gpt-5.6-sol-review":o,"gpt-5.6-terra":p,"gpt-5.6-terra-review":p,"gpt-5.6-luna":p,"gpt-5.6-luna-review":p},kiro:{"gpt-5.6-sol":n,"gpt-5.6-terra":n,"gpt-5.6-luna":n,"gpt-5.6-sol-thinking":n,"gpt-5.6-terra-thinking":n,"gpt-5.6-luna-thinking":n,"gpt-5.6-sol-agentic":n,"gpt-5.6-terra-agentic":n,"gpt-5.6-luna-agentic":n,"gpt-5.6-sol-thinking-agentic":n,"gpt-5.6-terra-thinking-agentic":n,"gpt-5.6-luna-thinking-agentic":n},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},hy3:{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"hy4-preview":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"glm-5.3":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"glm-5.3-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"kimi-k3-1":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:32e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4.1-flash":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4}},poolside:{"laguna-s-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3},"laguna-xs-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}}},r=[{pattern:"*claude*opus-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4.5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:64e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k3*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072}},{pattern:"*kimi*for-coding*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*laguna-s-2.1*free*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*laguna-s-2.1*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3}},{pattern:"*laguna*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function s(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.modalities?.input)?a.modalities.input:[],c=Array.isArray(a.modalities?.output)?a.modalities.output:[],d=Number(a.contextWindow??a.contextLength??a.maxInputTokens??a.limit?.context),e=Number(a.maxOutput??a.maxOutputTokens??a.limit?.output),f={...b.includes("image")?{vision:!0}:{},...b.includes("pdf")?{pdf:!0}:{},...b.includes("audio")?{audioInput:!0}:{},...b.includes("video")?{videoInput:!0}:{},...c.includes("image")?{imageOutput:!0}:{},...c.includes("audio")?{audioOutput:!0}:{}};return"boolean"==typeof a.reasoning&&(f.reasoning=a.reasoning),"boolean"==typeof a.tool_call&&(f.tools=a.tool_call),"boolean"==typeof a.tools&&(f.tools=a.tools),Number.isSafeInteger(d)&&d>0&&(f.contextWindow=d),Number.isSafeInteger(e)&&e>0&&(f.maxOutput=e),f}function t(a,b,c=null){if(!b)return{...l};let d=b.includes("/")?b.split("/").pop():b;if(a){let e=q[a];if(e?.[b])return{...l,...e[b],...s(c)};if(e?.[d])return{...l,...e[d],...s(c)}}if(m[d])return{...l,...m[d],...s(c)};if(m[b])return{...l,...m[b],...s(c)};for(let{pattern:a,caps:e}of r)if(k(a,d)||k(a,b))return{...l,...e,...s(c)};return{...l,...s(c)}}function u(){return crypto.randomUUID()}function v(a){return(0,i.E9)(a?._clientSessionId)||(0,j.a0)(a)}function w(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}let x=/^[a-zA-Z_][a-zA-Z0-9_.:\-]{0,63}$/,y=/^[a-zA-Z_][a-zA-Z0-9_\-]{0,63}$/;function z(a){return a?.type==="function"&&a.function?a.function.name:a?.name}function A(a){return w(a).replace(/[.:]/g,"_")}function B(a){let b=[];for(let c of a||[]){if(!c?.role||!Array.isArray(c.parts)||0===c.parts.length)continue;let a=b.at(-1);a?.role===c.role?a.parts.push(...c.parts):b.push({...c,parts:[...c.parts]})}return b.at(-1)?.role==="model"&&b.push({role:"user",parts:[{text:"Please continue."}]}),b}function C(a,b,c,d=f.bf){let e={model:a,contents:[],generationConfig:{},safetySettings:h.fc};void 0!==b.temperature&&(e.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(e.generationConfig.topP=b.top_p),void 0!==b.top_k&&(e.generationConfig.topK=b.top_k);let g=b.max_output_tokens??b.max_completion_tokens??b.max_tokens;void 0!==g&&(e.generationConfig.maxOutputTokens=g);let i={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)"function"===b.type&&b.id&&b.function?.name&&(i[b.id]=b.function.name)}let j={};if(b.messages&&Array.isArray(b.messages))for(let a of b.messages)"tool"===a.role&&a.tool_call_id&&(j[a.tool_call_id]=a.content);if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=b.messages[a],f=c.role,g=c.content;if("system"===f&&b.messages.length>1){let a="string"==typeof g?g:(0,h.kU)(g);a&&(e.systemInstruction||(e.systemInstruction={role:"user",parts:[]}),e.systemInstruction.parts.push({text:a}))}else if("user"===f||"system"===f&&1===b.messages.length){let a=(0,h.S6)(g);a.length>0&&e.contents.push({role:"user",parts:a})}else if("assistant"===f){let a=[];if(c.reasoning_content&&(a.push({thought:!0,text:c.reasoning_content}),a.push({thoughtSignature:d,text:""})),g){let b="string"==typeof g?g:(0,h.kU)(g);b&&a.push({text:b})}if(c.tool_calls&&Array.isArray(c.tool_calls)){let b=[];for(let e of c.tool_calls){if("function"!==e.type)continue;let c=(0,h.pT)(e.function?.arguments||"{}");a.push({thoughtSignature:d,functionCall:{id:e.id,name:w(e.function.name),args:c}}),b.push(e.id)}if(a.length>0&&e.contents.push({role:"model",parts:a}),b.some(a=>j[a])){let a=[];for(let c of b){if(!j[c])continue;let b=i[c];if(!b){let a=c.split("-");b=a.length>2?a.slice(0,-2).join("-"):c}let d=j[c],e=(0,h.pT)(d);null===e?e={result:d}:"object"!=typeof e&&(e={result:e}),a.push({functionResponse:{id:c,name:w(b),response:{result:e}}})}a.length>0&&e.contents.push({role:"user",parts:a})}}else a.length>0&&e.contents.push({role:"model",parts:a})}}if(b.tools&&Array.isArray(b.tools)&&b.tools.length>0){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,h.Yr)(structuredClone(c.input_schema||{type:"object",properties:{}}));a.push({name:w(c.name),description:c.description||"",parameters:b})}else if("function"===c.type&&c.function){let b=c.function,d=(0,h.Yr)(structuredClone(b.parameters||{type:"object",properties:{}}));a.push({name:w(b.name),description:b.description||"",parameters:d})}a.length>0&&(e.tools=[{functionDeclarations:a}])}return e.contents=B(e.contents),e}function D(a,b,c){return C(a,b,c)}let E={minimal:4096,low:8192,medium:16384,high:65535};function F(a,b,c,d=!0){let e=C(a,b,c,f.$G),g=t("gemini-cli",a);if(d&&b.reasoning_effort){let c=String(b.reasoning_effort).toLowerCase();if(/gemini-3/i.test(a)){e.generationConfig.thinkingConfig={thinkingLevel:c,includeThoughts:!0};let a="high"===c?g.maxOutput:"medium"===c?Math.min(g.maxOutput,32768):Math.min(g.maxOutput,16384);e.generationConfig.maxOutputTokens=Math.max(Number(e.generationConfig.maxOutputTokens)||0,a)}else e.generationConfig.thinkingConfig={thinkingBudget:({none:0,low:1024,medium:8192,high:24576})[c]??8192,includeThoughts:!0}}if(d&&b.thinking?.type==="enabled"&&b.thinking.budget_tokens&&(e.generationConfig.thinkingConfig={thinkingBudget:b.thinking.budget_tokens,includeThoughts:!0}),e.tools?.[0]?.functionDeclarations){for(let a of e.tools[0].functionDeclarations)if(a.parameters){let b=(0,h.Yr)(a.parameters);a.parameters=b}}return e}function G(a,b,c=null,d=!1){let e={project:c?.projectId||c?.providerSpecificData?.projectId||(0,h.w_)(),model:a,userAgent:d?"antigravity":"gemini-cli",requestId:d?`agent-${u()}`:(0,h.KZ)(),request:{sessionId:d?v(c):(0,h.f6)(),contents:b.contents,systemInstruction:b.systemInstruction,generationConfig:b.generationConfig,tools:b.tools}};return d?(e.requestType="agent",e.request.systemInstruction?.parts&&(e.request.systemInstruction={parts:e.request.systemInstruction.parts})):e.request.safetySettings=b.safetySettings,b.tools?.length>0&&(e.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}}),e}function H(a){return a.toLowerCase().includes("claude")}function I(a,b,c,d=null){let e,f=function(a,b){let c=structuredClone(b),{forward:d,reverse:e}=function(a,b){let c=H(b),d=c?y:x,e=c?A:w,f=(a||[]).map(z).filter(a=>"string"==typeof a&&a.length>0),g=new Set(f.filter(a=>d.test(a))),h=new Map,i=new Map;for(let a of f){if(h.has(a))continue;let b=d.test(a)?a:function(a,b,c=w){let d=c(a);if(!b.has(d))return b.add(d),d;for(let a=2;;a++){let c=`_${a}`,e=`${d.slice(0,64-c.length)}${c}`;if(!b.has(e))return b.add(e),e}}(a,g,e);h.set(a,b),b!==a&&i.set(b,a)}return{forward:h,reverse:i}}(c.tools,a);if(0===d.size)return{body:c,reverse:e};let f=a=>d.get(a)||a;return c.tools=c.tools.map(a=>a?.type==="function"&&a.function?{...a,function:{...a.function,name:f(a.function.name)}}:a?.name?{...a,name:f(a.name)}:a),Array.isArray(c.messages)&&(c.messages=c.messages.map(a=>{let b=a;return Array.isArray(a.tool_calls)&&(b={...b,tool_calls:a.tool_calls.map(a=>a?.function?{...a,function:{...a.function,name:f(a.function.name)}}:a)}),Array.isArray(a.content)&&(b={...b,content:a.content.map(a=>a?.type==="tool_use"&&a.name?{...a,name:f(a.name)}:a)}),b})),c.tool_choice?.type==="function"&&c.tool_choice.function?.name?c.tool_choice={...c.tool_choice,function:{...c.tool_choice.function,name:f(c.tool_choice.function.name)}}:c.tool_choice?.type==="tool"&&c.tool_choice.name&&(c.tool_choice={...c.tool_choice,name:f(c.tool_choice.name)}),{body:c,reverse:e}}(a,b);if(H(a)){let b=(0,g.openaiToClaudeRequestForAntigravity)(a,f.body,c);e=function(a,b,c=null){let d={project:c?.projectId||c?.providerSpecificData?.projectId||(0,h.w_)(),model:a,userAgent:"antigravity",requestId:`agent-${u()}`,requestType:"agent",request:{sessionId:v(c),contents:[],generationConfig:{temperature:b.temperature||1,maxOutputTokens:b.max_tokens||4096}}},e={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if(Array.isArray(a.content))for(let b of a.content)"tool_use"===b.type&&b.id&&b.name&&(e[b.id]=b.name)}if(b.messages&&Array.isArray(b.messages))for(let a of b.messages){let b=[];if(Array.isArray(a.content)){for(let c of a.content)if("text"===c.type)b.push({text:c.text});else if("tool_use"===c.type)b.push({functionCall:{id:c.id,name:w(c.name),args:c.input||{}}});else if("tool_result"===c.type){let a=c.content;Array.isArray(a)&&(a=a.map(a=>"text"===a.type?a.text:JSON.stringify(a)).join("\n"));let d=e[c.tool_use_id]?w(e[c.tool_use_id]):"tool";b.push({functionResponse:{id:c.tool_use_id,name:d,response:{result:(0,h.pT)(a)||a}}})}}else"string"==typeof a.content&&b.push({text:a.content});b.length>0&&d.request.contents.push({role:"assistant"===a.role?"model":"user",parts:b})}if(b.tools&&Array.isArray(b.tools)){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,h.Yr)(c.input_schema);a.push({name:w(c.name),description:c.description||"",parameters:b})}if(a.length>0){let c=b.tool_choice,e=c?.type==="tool"&&c.name?a.filter(a=>a.name===c.name):a;d.request.tools=[{functionDeclarations:e}];let f=c?.type==="none"?{mode:"NONE"}:c?.type==="any"?{mode:"ANY"}:c?.type==="tool"&&c.name?{mode:"ANY",allowedFunctionNames:[c.name]}:{mode:"VALIDATED"};d.request.toolConfig={functionCallingConfig:f}}}let f=[];if(b.system)if(Array.isArray(b.system))for(let a of b.system)a.text&&f.push({text:a.text});else"string"==typeof b.system&&f.push({text:b.system});return f.length>0&&(d.request.systemInstruction={parts:f}),d.request.contents=B(d.request.contents),d}(a,b,d)}else{let b=F(a,f.body,c,!1);!function(a,b,c){let d=t("antigravity",a);if(b.reasoning_effort){let e=String(b.reasoning_effort).toLowerCase();if(/gemini-3/i.test(a)){let a,b="none"===(a=String(e).toLowerCase().trim())||"off"===a?"minimal":"xhigh"===a||"max"===a||"auto"===a?"high":a;c.generationConfig.thinkingConfig={thinkingLevel:b,includeThoughts:"minimal"!==b};let f=E[b]||E.high;c.generationConfig.maxOutputTokens=Math.max(Number(c.generationConfig.maxOutputTokens)||0,Math.min(f,d.maxOutput))}else c.generationConfig.thinkingConfig={thinkingBudget:({none:0,low:1024,medium:8192,high:24576})[e]??8192,includeThoughts:!0}}b.thinking?.type==="enabled"&&b.thinking.budget_tokens&&(c.generationConfig.thinkingConfig={thinkingBudget:b.thinking.budget_tokens,includeThoughts:!0})}(a,f.body,b),e=G(a,b,d,!0)}return f.reverse.size>0&&(e._toolNameMap=f.reverse),e}(0,d.kz)(e.h.OPENAI,e.h.GEMINI,D,null),(0,d.kz)(e.h.OPENAI,e.h.GEMINI_CLI,(a,b,c,d)=>G(a,F(a,b,c),d),null),(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,I,null)},42946:(a,b,c)=>{"use strict";c.d(b,{Az:()=>f,fO:()=>h});var d=c(55511),e=c(48991);function f(a){let b=a.tools;if(!b||0===b.length)return{body:a,toolNameMap:null};let c=a=>`${a}${e.uR}`,d=new Map,f=new Set,h=[];for(let a of b){let b=c(a.name);d.set(b,a.name),f.add(a.name),h.push({...a,name:b})}let i=[...h,...g],j=a.messages?.map(a=>{if(!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type?{...a,name:c(a.name)}:a);return{...a,content:b}}),k={...a,tools:i,messages:j||a.messages};return a.tool_choice?.type==="tool"&&f.has(a.tool_choice.name)&&(k.tool_choice={...a.tool_choice,name:c(a.tool_choice.name)}),{body:k,toolNameMap:d.size>0?d:null}}let g=[{name:"Task",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskOutput",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskStop",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskCreate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskGet",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskUpdate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskList",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Bash",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Glob",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Grep",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Read",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Edit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Write",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"NotebookEdit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebFetch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebSearch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"AskUserQuestion",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Skill",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"EnterPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"ExitPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}}];function h(a,b,c){let e,f,g,h,i,j;if(!b||!b.includes("sk-ant-oat"))return a;let k={...a},l={type:"text",text:(e=JSON.stringify(a),f=(0,d.createHash)("sha256").update(e).digest("hex").slice(0,5),g=(0,d.randomBytes)(2).toString("hex").slice(0,3),`x-anthropic-billing-header: cc_version=2.1.92.${g}; cc_entrypoint=sdk-cli; cch=${f};`)};return Array.isArray(k.system)?k.system[0]?.text?.startsWith("x-anthropic-billing-header:")||(k.system=[l,...k.system]):"string"==typeof k.system?k.system=[l,{type:"text",text:k.system}]:k.system=[l],k.metadata?.user_id||(k.metadata={...k.metadata,user_id:(h=(0,d.randomBytes)(32).toString("hex"),i=(0,d.randomUUID)(),j=c||(0,d.randomUUID)(),`{"device_id":"${h}","account_uuid":"${i}","session_id":"${j}"}`)}),k}},43086:(a,b,c)=>{"use strict";let d=c(5318),{kClose:e,kDestroy:f,kClosed:g,kDestroyed:h,kDispatch:i,kNoProxyAgent:j,kHttpProxyAgent:k,kHttpsProxyAgent:l}=c(49176),m=c(48841),n=c(37417),o={"http:":80,"https:":443};class p extends d{#aG=null;#aH=null;#D=null;constructor(a={}){super(),this.#D=a;const{httpProxy:b,httpsProxy:c,noProxy:d,...e}=a;this[j]=new n(e);const f=b??process.env.http_proxy??process.env.HTTP_PROXY;f?this[k]=new m({...e,uri:f}):this[k]=this[j];const g=c??process.env.https_proxy??process.env.HTTPS_PROXY;g?this[l]=new m({...e,uri:g}):this[l]=this[k],this.#aI()}[i](a,b){let c=new URL(a.origin);return this.#aJ(c).dispatch(a,b)}[e](){return Promise.all([this[j].close(),!this[k][g]&&this[k].close(),!this[l][g]&&this[l].close()])}[f](a){return Promise.all([this[j].destroy(a),!this[k][h]&&this[k].destroy(a),!this[l][h]&&this[l].destroy(a)])}#aJ(a){let{protocol:b,host:c,port:d}=a;return(c=c.replace(/:\d*$/,"").replace(/^\[(.+)\]$/,"$1").toLowerCase(),d=Number.parseInt(d,10)||o[b]||0,this.#aK(c,d))?"https:"===b?this[l]:this[k]:this[j]}#aK(a,b){if(this.#aL&&this.#aI(),0===this.#aH.length)return!0;if("*"===this.#aG)return!1;for(let c=0;c<this.#aH.length;c++){let d=this.#aH[c];if((!d.port||d.port===b)&&(a===d.hostname||a.slice(-(d.hostname.length+1))===`.${d.hostname}`))return!1}return!0}#aI(){let a=this.#D.noProxy??this.#aM,b=a.split(/[,\s]/),c=[];for(let a=0;a<b.length;a++){let d,e,f=b[a];if(!f)continue;let g=f.match(/^\[(.+)\]:(\d+)$/);if(g)d=g[1],e=Number.parseInt(g[2],10);else{let a=f.replace(/^\[(.+)\]$/,"$1"),b=1===(a.match(/:/g)||[]).length&&a.match(/^(.+):(\d+)$/);d=b?b[1]:a,e=b?Number.parseInt(b[2],10):0}c.push({hostname:d.replace(/^\*?\./,"").toLowerCase(),port:e})}this.#aG=a,this.#aH=c}get #aL(){return void 0===this.#D.noProxy&&this.#aG!==this.#aM}get #aM(){return process.env.no_proxy??process.env.NO_PROXY??""}}a.exports=p},43212:(a,b,c)=>{"use strict";c(70556),c(42541),c(90943),c(51525),c(84238),c(92843),c(64323),new TextEncoder},43469:(a,b,c)=>{"use strict";c.d(b,{buildClineHeaders:()=>f,resolveClineCredential:()=>e});let d=c(90053).rE||"0.0.0";function e(a){let b="string"==typeof a?.apiKey?a.apiKey.trim():"";return b?{token:b,isApiKey:!0}:{token:a?.accessToken,isApiKey:!1}}function f(a,b={},c={}){let e=function(a,b={}){let c=function(a,{isApiKey:b=!1}={}){if("string"!=typeof a)return"";let c=a.trim();return c?b||c.startsWith("workos:")?c:`workos:${c}`:""}(a,b);return c?`Bearer ${c}`:""}(a,c),g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`ZevaiRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"zevairouter","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return e&&(g.Authorization=e),g}},43904:(a,b,c)=>{"use strict";let{kMockCallHistoryAddLog:d}=c(80830),{InvalidArgumentError:e}=c(61448);function f(a,b,c,d,f){switch(b.operator){case"OR":return d.push(...c(a,f)),d;case"AND":return c(a,d);default:throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function g(a){return(b,c=this.logs)=>{if("string"==typeof b||null==b)return c.filter(c=>c[a]===b);if(b instanceof RegExp)return c.filter(c=>b.test(c[a]));throw new e(`${a} parameter should be one of string, regexp, undefined or null`)}}class h{constructor(a={}){this.body=a.body,this.headers=a.headers,this.method=a.method;const b=function(a){try{let b=new URL(a.path,a.origin);if(0!==b.search.length)return b;return b.search=new URLSearchParams(a.query).toString(),b}catch(a){throw new e("An error occurred when computing MockCallHistoryLog.url",{cause:a})}}(a);this.fullUrl=b.toString(),this.origin=b.origin,this.path=b.pathname,this.searchParams=Object.fromEntries(b.searchParams),this.protocol=b.protocol,this.host=b.host,this.port=b.port,this.hash=b.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let a="";return this.toMap().forEach((b,c)=>{("string"==typeof b||null==b)&&(a=`${a}${c}->${b}|`),("object"==typeof b&&null!==b||Array.isArray(b))&&(a=`${a}${c}->${JSON.stringify(b)}|`)}),a.slice(0,-1)}}class i{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(a){if("number"!=typeof a)throw new e("nthCall must be called with a number");if(!Number.isInteger(a))throw new e("nthCall must be called with an integer");if(1!==Math.sign(a))throw new e("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(a-1)}filterCalls(a,b){if(0===this.logs.length)return this.logs;if("function"==typeof a)return this.logs.filter(a);if(a instanceof RegExp)return this.logs.filter(b=>a.test(b.toString()));if("object"==typeof a&&null!==a){if(0===Object.keys(a).length)return this.logs;let c={operator:"OR",...function(a={}){let b={};if("operator"in a){if("string"!=typeof a.operator||"OR"!==a.operator.toUpperCase()&&"AND"!==a.operator.toUpperCase())throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...b,operator:a.operator.toUpperCase()}}return b}(b)},d="AND"===c.operator?this.logs:[];return"protocol"in a&&(d=f(a.protocol,c,this.filterCallsByProtocol,d,this.logs)),"host"in a&&(d=f(a.host,c,this.filterCallsByHost,d,this.logs)),"port"in a&&(d=f(a.port,c,this.filterCallsByPort,d,this.logs)),"origin"in a&&(d=f(a.origin,c,this.filterCallsByOrigin,d,this.logs)),"path"in a&&(d=f(a.path,c,this.filterCallsByPath,d,this.logs)),"hash"in a&&(d=f(a.hash,c,this.filterCallsByHash,d,this.logs)),"fullUrl"in a&&(d=f(a.fullUrl,c,this.filterCallsByFullUrl,d,this.logs)),"method"in a&&(d=f(a.method,c,this.filterCallsByMethod,d,this.logs)),[...new Set(d)]}throw new e("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=g.call(this,"protocol");filterCallsByHost=g.call(this,"host");filterCallsByPort=g.call(this,"port");filterCallsByOrigin=g.call(this,"origin");filterCallsByPath=g.call(this,"path");filterCallsByHash=g.call(this,"hash");filterCallsByFullUrl=g.call(this,"fullUrl");filterCallsByMethod=g.call(this,"method");clear(){this.logs=[]}[d](a){let b=new h(a);return this.logs.push(b),b}*[Symbol.iterator](){for(let a of this.calls())yield a}}a.exports.MockCallHistory=i,a.exports.MockCallHistoryLog=h},44089:(a,b,c)=>{"use strict";c(94026),c(15822),c(70884)},44991:(a,b,c)=>{"use strict";c.d(b,{D:()=>f});var d=c(66678),e=c(30395);class f extends d.L{constructor(){super("ollama-local")}buildUrl(a,b,c=0,d=null){return`${(0,e.Ak)(d)}/api/chat`}}},45221:(a,b,c)=>{"use strict";let{runtimeFeatures:d}=c(56758),{maxUnsigned16Bit:e,opcodes:f}=c(62026),g=null,h=8192,i=d.has("crypto")?c(77598).randomFillSync:null;function j(){return 8192===h&&(h=0,i(g??=Buffer.allocUnsafeSlow(8192),0,8192)),[g[h++],g[h++],g[h++],g[h++]]}class k{constructor(a){this.frameData=a}createFrame(a){let b=this.frameData,c=j(),d=b?.byteLength??0,f=d,g=6;d>e?(g+=8,f=127):d>125&&(g+=2,f=126);let h=Buffer.allocUnsafe(d+g);h[0]=h[1]=0,h[0]|=128,h[0]=(240&h[0])+a,h[g-4]=c[0],h[g-3]=c[1],h[g-2]=c[2],h[g-1]=c[3],h[1]=f,126===f?h.writeUInt16BE(d,2):127===f&&(h[2]=h[3]=0,h.writeUIntBE(d,4,6)),h[1]|=128;for(let a=0;a<d;++a)h[g+a]=b[a]^c[3&a];return h}static createFastTextFrame(a){let b=j(),c=a.length;for(let d=0;d<c;++d)a[d]^=b[3&d];let d=c,g=6;c>e?(g+=8,d=127):c>125&&(g+=2,d=126);let h=Buffer.allocUnsafeSlow(g);return h[0]=128|f.TEXT,h[1]=128|d,h[g-4]=b[0],h[g-3]=b[1],h[g-2]=b[2],h[g-1]=b[3],126===d?h.writeUInt16BE(c,2):127===d&&(h[2]=h[3]=0,h.writeUIntBE(c,4,6)),[h,a]}}a.exports={WebsocketFrameSend:k,generateMask:j}},45874:(a,b,c)=>{"use strict";c.d(b,{Xx:()=>j,exportSettings:()=>k,getSettings:()=>i});var d=c(24081),e=c(50743);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},capacityAdapter:{vision:{enabled:!1,roundRobin:!1,models:[]},pdf:{enabled:!1,roundRobin:!1,models:[]},audioInput:{enabled:!1,roundRobin:!1,models:[]},videoInput:{enabled:!1,roundRobin:!1,models:[]}},responseCacheEnabled:!1,requireLogin:!0,tunnelDashboardAccess:!0,authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",ssoType:"oidc",samlEntryPoint:"",samlIssuer:"urn:zevairouter:sp",samlCert:"",samlLoginLabel:"Sign in with SAML SSO",samlAttributeEmail:"email",samlAttributeName:"name",enableObservability:!0,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:1997",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:"http://localhost:8787",headroomCompressUserMessages:!1,headroomCodeAware:!1,headroomKompress:!0,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!0,pxpipeMinChars:25e3,pxpipeTimeoutMs:15e3,contextInjectionEnabled:!1,v11Flags:{kiroIntegrity:!1,outboundPolicy:!1,compatV11:!1,refreshLanes:!1,adaptiveShadow:!1,adaptiveRoute:!1,registryV2:!1,quotaStreamV2:!1},trustedOutboundTargets:[],fiveSimApiKey:""};async function g(){let a=(await (0,d.cK)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}function h(a){let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function i(){return h(await g())}async function j(a){let b,c=await (0,d.cK)();return c.transaction(()=>{let d=c.get("SELECT data FROM settings WHERE id = 1");b={...d?(0,e.q)(d.data,{}):{},...a},c.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(b)])}),h(b)}async function k(){return await g()}},46455:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{NS:()=>A,dg:()=>C,qX:()=>z});var e=c(5210),f=c(70321),g=c(68753),h=c(65333),i=c(87164),j=c(79154),k=c(63993),l=c(23740),m=c(39817),n=a([e,h]);[e,h]=n.then?(await n)():n;let D=["expired","authentication","unauthorized","401","re-authorize"],E=globalThis._quotaUsageInflight??=new Map,F=new Map;function o(a,b=Date.now()){let c=F.get(a.id),d=c?.refreshToken===a.refreshToken?(c.failures||0)+1:1,e=Math.min(216e5,3e5*2**(d-1));F.set(a.id,{failures:d,retryAt:b+e,refreshToken:a.refreshToken})}function p(a){F.delete(a.id)}function q(a){return a?.provider==="codex"&&!!a.providerSpecificData?.codexRefreshBlockedAt||a?.failureClass==="reauth_required"||!!a?.quarantinedAt}function r(a){return!!a?.accessToken&&!function(a,b=Date.now()){let c=(0,j.Dz)(a);return null!==c&&c<=b}(a)}function s(a){if("codex"===a)return"Codex";let b=String(a||"provider");return b.charAt(0).toUpperCase()+b.slice(1)}function t(a){return`${s(a)} refresh token rejected; reconnect this account.`}function u(a){return String(a?.code||"invalid_refresh_token").replace(/[^a-zA-Z0-9_.:-]/g,"_").slice(0,120)||"invalid_refresh_token"}async function v(a,b){let c=new Date().toISOString(),d=u(b),e={lastError:t(a.provider),lastErrorAt:c,lastErrorType:"auth",errorCode:d,failureClass:"reauth_required"};"codex"===a.provider&&(e.providerSpecificData={...a.providerSpecificData||{},codexRefreshBlockedAt:c,codexRefreshErrorCode:d});try{return await (0,f.updateProviderConnection)(a.id,e)||{...a,...e}}catch(b){return console.warn(`[Usage] ${s(a.provider)} refresh rejection state was not persisted: ${b.message}`),{...a,...e}}}async function w(a,b){let c=b?.permanent===!0?b:(0,i.R_)({code:u(b)}),d=await v(a,c);if(r(a))return{connection:d,refreshed:!1,refreshBlocked:!0,refreshError:c};throw c}function x(a){return!!(a?.quotas&&"object"==typeof a.quotas&&Object.keys(a.quotas).length>0)}function y(a,b){return!!(a?.quotaFetchFailed===!0&&!a.accountDead&&!x(a)&&x(b?.usage))}async function z(a,b=!1,c=null){let d,e=(0,h.SB)(a.provider);if(q(a)){if(r(a))return{connection:a,refreshed:!1,refreshBlocked:!0};throw(0,i.R_)({code:a.providerSpecificData?.codexRefreshErrorCode||a.errorCode||"invalid_refresh_token"})}let g={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||e.needsRefresh(g)))return{connection:a,refreshed:!1};if(!b&&function(a,b=Date.now()){let c=F.get(a.id);return!!c&&(c.refreshToken!==a.refreshToken?(F.delete(a.id),!1):c.retryAt>b)}(a))return{connection:a,refreshed:!1,refreshFailed:!0,refreshBackedOff:!0};try{d=await e.refreshCredentials(g,console,c)}catch(b){if(b?.permanent===!0)return p(a),w(a,b);throw b?.name!=="AbortError"&&o(a),b}if((0,i.jT)(d))return p(a),w(a,(0,i.R_)(d));if(!d){if(o(a),a.accessToken)return{connection:a,refreshed:!1,refreshFailed:!0};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}p(a);let j={updatedAt:new Date().toISOString()};d.accessToken&&(j.accessToken=d.accessToken),d.refreshToken&&(j.refreshToken=d.refreshToken),d.idToken&&(j.idToken=d.idToken),d.lastRefreshAt&&(j.lastRefreshAt=d.lastRefreshAt),d.expiresIn?(j.expiresAt=new Date(Date.now()+1e3*d.expiresIn).toISOString(),j.expiresIn=d.expiresIn):d.expiresAt&&(j.expiresAt=d.expiresAt);let k={...d.providerSpecificData||{},...d.copilotToken?{copilotToken:d.copilotToken}:{},...d.copilotTokenExpiresAt?{copilotTokenExpiresAt:d.copilotTokenExpiresAt}:{}};return Object.keys(k).length>0&&(j.providerSpecificData={...a.providerSpecificData||{},...k}),await (0,f.updateProviderConnection)(a.id,j),{connection:{...a,...j,providerSpecificData:j.providerSpecificData||a.providerSpecificData},refreshed:!0}}function A(a){var b;let c;if(!a)return!1;let d=(b=a.authType,c=String(b||"").toLowerCase().trim(),"api-key"===c||"api_key"===c||"api key"===c?"apikey":c);return"oauth"===d||"apikey"===d&&l.jO.includes(a.provider)}async function B(a,b,c){let d,{writeCache:e=!1,force:h=!1}=b,i=await (0,f.getProviderConnectionById)(a);if(!i)return{error:"Connection not found",notFound:!0};if(!A(i))return{message:"Usage not available for this connection"};let j=await (0,k.B)(i.providerSpecificData),l={connectionProxyEnabled:!0===j.connectionProxyEnabled,connectionProxyUrl:j.connectionProxyUrl||"",connectionNoProxy:j.connectionNoProxy||"",vercelRelayUrl:j.vercelRelayUrl||"",strictProxy:!1},n=i,o="oauth"===n.authType,p=!1;if(o){let a;try{a=await z(n,h,l)}catch(a){if(a?.permanent===!0)return{message:t(n.provider),reauthRequired:!0,quotas:{}};throw a}n=a.connection,p=!0===a.refreshFailed}if(o&&p&&!r(n))d={message:`${s(n.provider)} credential refresh is temporarily unavailable; will retry later.`,quotaFetchFailed:!0,quotas:{}};else if(d=await (0,g.my)(n,l),o&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return D.some(a=>b.includes(a))}(d)&&n.refreshToken&&!q(n)&&!p)try{n=(await z(n,!0,l)).connection,d=await (0,g.my)(n,l)}catch(a){console.warn(`[Usage] ${n.provider}: force refresh failed: ${a.message}`)}if((e||c.writeCache)&&d&&!d.error)try{if("codebuddy"===n.provider||"codebuddy-cn"===n.provider){let a=null,b=await (0,f.Iu)(n.id,(b,c)=>{if(y(d,c)){var e;return e=d,a={...(0,m.pX)(c.usage,b),stale:!0,refreshError:e.message},{}}return{quotaUsage:(0,m.pX)(d,b)}});d=a||b?.quotaUsage||d}else{let a=await (0,f.getQuotaSnapshot)(n.id);y(d,a)?d={...a.usage,stale:!0,refreshError:d.message}:await (0,f.KK)(n.id,n.provider,d)}}catch(a){console.warn(`[QuotaCache] save failed for ${n.id}: ${a.message}`)}else if("codebuddy"===n.provider||"codebuddy-cn"===n.provider){let a=await (0,f.getProviderConnectionById)(n.id)||n;d=(0,m.pX)(d,a)}return d}async function C(a,b={}){let c=E.get(a);if(c||(c={active:null,queuedForce:null},E.set(a,c)),c.queuedForce)return b.writeCache&&(c.queuedForce.writeCache=!0),c.queuedForce.promise;if(c.active&&(!b.force||c.active.force))return b.writeCache&&(c.active.writeCache=!0),c.active.promise;let d=b=>{c.active===b&&(c.active=null),c.active||c.queuedForce||E.get(a)!==c||E.delete(a)};if(c.active){let e=c.active.promise,f={force:!0,writeCache:!0===b.writeCache,promise:null},g=()=>(c.queuedForce===f&&(c.queuedForce=null),c.active=f,B(a,{...b,force:!0},f));return f.promise=e.then(g,g).finally(()=>d(f)),c.queuedForce=f,f.promise}let e={force:!0===b.force,writeCache:!0===b.writeCache,promise:null};return c.active=e,e.promise=B(a,b,e).finally(()=>d(e)),e.promise}d()}catch(a){d(a)}})},46714:(a,b,c)=>{"use strict";c.d(b,{dv:()=>j,fM:()=>i,vP:()=>h});let d=Object.freeze(["none","minimal","low","medium","high","xhigh","max","ultra"]),e=Object.freeze({xhigh:Object.freeze(d.slice(0,6)),max:Object.freeze(d.slice(0,7)),ultra:d}),f=Object.freeze({off:"none",on:"high",thinking:"high"}),g=Object.freeze(["minimal","xhigh","ultra","medium","none","high","max","low"]);function h(a){let b;return e["gpt-5.6"===(b="string"==typeof a?a.toLowerCase():"")||/^gpt-5\.6-(?:sol|terra)(?:$|[-(:/])/.test(b)?"ultra":/^gpt-5\.6-luna(?:$|[-(:/])/.test(b)?"max":"xhigh"]}function i(a,b){let c="string"==typeof b?b.trim().toLowerCase():"",e=f[c]||c,g=d.indexOf(e);if(-1===g)return"low";let i=h(a),j=i[i.length-1],k=d.indexOf(j);return d[Math.min(g,k)]}function j(a){if("string"!=typeof a)return{cleanModel:a,effort:null};let b=a.toLowerCase();for(let c of g)if(b.endsWith(`-${c}`))return{cleanModel:a.slice(0,-(c.length+1)),effort:c};return{cleanModel:a,effort:null}}},46777:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d={id:"trae",alias:"trae",aliases:["marscode"],uiAlias:"trae",category:"oauth",authType:"oauth",hasOAuth:!0,authModes:["oauth"],display:{name:"Trae",icon:"bolt",color:"#FF6A00",textIcon:"TR",website:"https://www.trae.ai",deprecated:!0,notice:{signupUrl:"https://www.trae.ai"}},transport:{baseUrl:"https://core-normal.trae.ai/api/remote/v1",format:"openai",headers:{"X-Trae-Client-Type":"web","X-Preferenced-Language":"en",Referer:"https://solo.trae.ai/"},auth:{combined:!0,header:"Authorization",scheme:"Cloud-IDE-JWT"},usage:{url:"https://api.marscode.com/cloudide/api/v3/trae/GetUserInfo"},regions:{cn:"https://api.marscode.com",sg:"https://api.trae.ai",us:"https://www.trae.ai"},defaultRegion:"cn"},models:[{id:"auto",name:"Auto (Server Picks)"},{id:"work",name:"Work (Fast)"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-flash-solo",name:"Gemini 3 Flash"},{id:"minimax-m3",name:"MiniMax M3"},{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.2",name:"GPT 5.2"}],features:{usage:!0}}},46956:(a,b,c)=>{"use strict";c.d(b,{proxyAwareFetch:()=>t});var d=c(3433),e=c(27910),f=c(8735);let g=globalThis.fetch,h=new Map,i=new Map,j=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],k=["8.8.8.8","8.8.4.4"];function l(){let a=Error("Request aborted");return a.name="AbortError",a}function m(a){return null==a?"":String(a).trim()}let n=new Map;async function o(a,b=null){let d,e=i.get(a);if(e&&Date.now()<e.expiry)return e.ip;if(b?.aborted)throw l();let g=n.get(a);if(g&&Date.now()<g)return null;let h=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:j}=await Promise.resolve().then(c.t.bind(c,28354,23));if(b?.aborted)throw l();let m=new h.Resolver;m.setServers(k);let p=j(m.resolve4.bind(m)),q=b?new Promise((a,c)=>{d=()=>{m.cancel?.(),c(l())},b.addEventListener("abort",d,{once:!0})}):null,r=a=>q?Promise.race([a,q]):a,s=a=>{if(b?.aborted||a?.name==="AbortError")throw l()};try{let b=null,c=null;try{let c=await r(p(a));b=c?.[0]||null}catch(a){s(a),c=a}if(!b)try{let c="function"==typeof h.promises?.lookup?a=>h.promises.lookup(a,{family:4}):"function"==typeof h.lookup?j(h.lookup):null,d=c?await r(c(a,{family:4})):null,e="string"==typeof d?d:d?.address;e&&!function(a){let b=String(a||"").split(".");if(4!==b.length)return!0;let c=b.map(a=>/^\d{1,3}$/.test(a)?Number(a):NaN);if(c.some(a=>!Number.isInteger(a)||a<0||a>255))return!0;let[d,e]=c;return 0===d||10===d||127===d||169===d&&254===e||172===d&&e>=16&&e<=31||192===d&&168===e}(e)&&(b=e)}catch(a){s(a)}if(!b)return n.set(a,Date.now()+3e4),console.warn(`[ProxyFetch] DNS resolve failed for ${a}: ${c?.message||"no public address from system resolver"} (using default transport for ${Math.round(30)}s)`),null;return n.delete(a),i.set(a,{ip:b,expiry:Date.now()+f.v1.dnsCacheTtlMs}),b}finally{d&&b?.removeEventListener?.("abort",d)}}function p(a,b){let c,d=m(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function q(a){let b=m(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function r(a){let b=q(a);if(!b)return null;if(!h.has(b)){h.size>=f.v1.proxyDispatchersMaxSize&&h.delete(h.keys().next().value);let{ProxyAgent:a}=await Promise.resolve().then(c.t.bind(c,3433,19));h.set(b,new a({uri:b}))}return h.get(b)}async function s(a,b,d){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket,j=d.signal,k=null,m=null,n=!1,o=()=>j?.removeEventListener?.("abort",q),p=a=>{n||(n=!0,o(),f(a))},q=()=>{!function({upstreamResponse:a,request:b,socket:c,rejectOnce:d}){let e=l();d?.(e),a?.destroy?.(),b?.destroy?.(),c?.destroy?.()}({upstreamResponse:m,request:k,socket:g,rejectOnce:p})};j?.aborted?q():(j?.addEventListener?.("abort",q,{once:!0}),g.connect(443,b,()=>{if(n||j?.aborted)return;let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:d.method||"POST",headers:{...d.headers,Host:a.hostname}};(k=h.request(b,a=>{m=a,n=!0,a.once("close",o);let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:e.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)})).on("error",a=>p(a)),d.body&&k.write("string"==typeof d.body?d.body:JSON.stringify(d.body)),k.end()}),g.on("error",a=>p(a)))})}async function t(a,b={},c=null){let e="string"==typeof a?a:a.toString(),f=m(c?.vercelRelayUrl);if(f){let a=new URL(e),c={...b.headers,"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return g(f,{...b,headers:c})}let h=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=m(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=m(b?.noProxy??b?.connectionNoProxy);return d&&p(a,d)?null:q(c)}(e,c),i=h?null:q(function(a){let b;if(p(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(e)),k=h||i;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(e)){if(k)try{let c=await r(k);return await (0,d.hd)(a,{...b,dispatcher:c})}catch(a){if(b.signal?.aborted||a?.name==="AbortError")throw a;if(c?.strictProxy===!0)throw Error("[ProxyFetch] Required proxy request failed");throw Error("[ProxyFetch] Proxy request failed for protected upstream")}let f=new URL(e),h=await o(f.hostname,b.signal);return h?s(f,h,b):g(a,b)}if(k)try{let c=await r(k);return await (0,d.hd)(a,{...b,dispatcher:c})}catch(a){if(b.signal?.aborted||a?.name==="AbortError")throw a;if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);if(c?.singleTransportAttempt===!0)throw Error("[ProxyFetch] Proxy request failed for single-attempt upstream");console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return g(a,b)}async function u(a,b={}){return t(a,b,null)}globalThis.fetch!==u&&(globalThis.fetch=u)},47335:(a,b,c)=>{"use strict";let d=c(83204),{ResponseError:e}=c(61448);class f extends d{#O;#aN;#aO;#e;#aP;constructor(a,{handler:b}){super(b)}#aQ(a){return 0===(this.#aN??"").indexOf(a)}onRequestStart(a,b){return this.#O=0,this.#aN=null,this.#aO=null,this.#e=null,this.#aP="",super.onRequestStart(a,b)}onResponseStart(a,b,c,d){if(this.#O=b,this.#e=c,this.#aN=c["content-type"],this.#O<400)return super.onResponseStart(a,b,c,d);(this.#aQ("application/json")||this.#aQ("text/plain"))&&(this.#aO=new TextDecoder("utf-8"))}onResponseData(a,b){if(this.#O<400)return super.onResponseData(a,b);this.#aP+=this.#aO?.decode(b,{stream:!0})??""}onResponseEnd(a,b){if(this.#O>=400){let b;if(this.#aP+=this.#aO?.decode(void 0,{stream:!1})??"",this.#aQ("application/json"))try{this.#aP=JSON.parse(this.#aP)}catch{}let c=Error.stackTraceLimit;Error.stackTraceLimit=0;try{b=new e("Response Error",this.#O,{body:this.#aP,headers:this.#e})}finally{Error.stackTraceLimit=c}super.onResponseError(a,b)}else super.onResponseEnd(a,b)}onResponseError(a,b){super.onResponseError(a,b)}}a.exports=()=>a=>function(b,c){return a(b,new f(b,{handler:c}))}},47703:(a,b,c)=>{"use strict";let{pipeline:d}=c(57075),{fetching:e}=c(76403),{webidl:f}=c(32984),{EventSourceStream:g}=c(97356),{parseMIMEType:h}=c(16537),{createFastMessageEvent:i}=c(51753),{isNetworkError:j}=c(55815),{kEnumerableProperty:k}=c(84285),{environmentSettingsObject:l}=c(42425),{createPotentialCORSRequest:m}=c(26376),n=!1;class o extends EventTarget{#aR={open:null,error:null,message:null};#ar;#aS=!1;#aT=0;#aU=null;#G=null;#d;#a;constructor(a,b={}){let c;super(),f.util.markAsUncloneable(this);const d="EventSource constructor";f.argumentLengthCheck(arguments,1,d),n||(n=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),a=f.converters.USVString(a),b=f.converters.EventSourceInitDict(b,d,"eventSourceInitDict"),this.#d=b.node.dispatcher||b.dispatcher,this.#a={lastEventId:"",reconnectionTime:b.node.reconnectionTime};try{c=new URL(a,l.settingsObject.baseUrl),this.#a.origin=c.origin}catch(a){throw new DOMException(a,"SyntaxError")}this.#ar=c.href;let e="anonymous";!0===b.withCredentials&&(e="use-credentials",this.#aS=!0);const g=m(c,"",e);g.client=l.settingsObject,g.headersList.set("Accept","text/event-stream"),g.cache="no-store",g.initiator="other",this.#aU=g,this.#aV()}get readyState(){return this.#aT}get url(){return this.#ar}get withCredentials(){return this.#aS}#aV(){if(2===this.#aT)return;this.#aT=0;let a={request:this.#aU,dispatcher:this.#d};a.processResponseEndOfBody=a=>{if(!j(a))return this.#aW()},a.processResponse=a=>{if(j(a))if(!a.aborted)return void this.#aW();else{this.close(),this.dispatchEvent(new Event("error"));return}let b=a.headersList.get("content-type",!0),c=null!==b?h(b):"failure",e="failure"!==c&&"text/event-stream"===c.essence;if(200!==a.status||!1===e){this.close(),this.dispatchEvent(new Event("error"));return}this.#aT=1,this.dispatchEvent(new Event("open")),this.#a.origin=a.urlList[a.urlList.length-1].origin;let f=new g({eventSourceSettings:this.#a,push:a=>{this.dispatchEvent(i(a.type,a.options))}});d(a.body.stream,f,a=>{a?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#G=e(a)}#aW(){2!==this.#aT&&(this.#aT=0,this.dispatchEvent(new Event("error")),setTimeout(()=>{0===this.#aT&&(this.#a.lastEventId.length&&this.#aU.headersList.set("last-event-id",this.#a.lastEventId,!0),this.#aV())},this.#a.reconnectionTime)?.unref())}close(){f.brandCheck(this,o),2!==this.#aT&&(this.#aT=2,this.#G.abort(),this.#aU=null)}get onopen(){return this.#aR.open}set onopen(a){this.#aR.open&&this.removeEventListener("open",this.#aR.open);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("open",b),this.#aR.open=a):this.#aR.open=null}get onmessage(){return this.#aR.message}set onmessage(a){this.#aR.message&&this.removeEventListener("message",this.#aR.message);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("message",b),this.#aR.message=a):this.#aR.message=null}get onerror(){return this.#aR.error}set onerror(a){this.#aR.error&&this.removeEventListener("error",this.#aR.error);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("error",b),this.#aR.error=a):this.#aR.error=null}}let p={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:0,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:1,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:2,writable:!1}};Object.defineProperties(o,p),Object.defineProperties(o.prototype,p),Object.defineProperties(o.prototype,{close:k,onerror:k,onmessage:k,onopen:k,readyState:k,url:k,withCredentials:k}),f.converters.EventSourceInitDict=f.dictionaryConverter([{key:"withCredentials",converter:f.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:f.converters.any},{key:"node",converter:f.dictionaryConverter([{key:"reconnectionTime",converter:f.converters["unsigned long"],defaultValue:()=>3e3},{key:"dispatcher",converter:f.converters.any}]),defaultValue:()=>({})}]),a.exports={EventSource:o,defaultReconnectionTime:3e3}},47800:(a,b,c)=>{"use strict";let{InvalidArgumentError:d}=c(61448),{runtimeFeatures:e}=c(56758),f=e.has("crypto")?c(77598):null,g=f?.hash?a=>f.hash("sha256",a,"base64url"):a=>Buffer.from(a).toString("base64url");function h(a){return Array.isArray(a)&&(1&a.length)==0}let i=["record","playback","update"];a.exports={createHeaderFilters:function(a={}){let{ignoreHeaders:b=[],excludeHeaders:c=[],matchHeaders:d=[],caseSensitive:e=!1}=a;return{ignore:new Set(b.map(a=>e?a:a.toLowerCase())),exclude:new Set(c.map(a=>e?a:a.toLowerCase())),match:new Set(d.map(a=>e?a:a.toLowerCase()))}},hashId:g,isUndiciHeaders:h,normalizeHeaders:function(a){let b={};if(!a)return b;if(h(a)){for(let c=0;c<a.length;c+=2){let d=a[c],e=a[c+1];if(d&&void 0!==e){let a=Buffer.isBuffer(d)?d.toString():d,c=Buffer.isBuffer(e)?e.toString():e;b[a.toLowerCase()]=c}}return b}if(a&&"object"==typeof a)for(let[c,d]of Object.entries(a))c&&"string"==typeof c&&(b[c.toLowerCase()]=Array.isArray(d)?d.join(", "):String(d));return b},isUrlExcludedFactory:function(a=[]){return 0===a.length?()=>!1:function(b){let c;for(let d of a)if("string"==typeof d){if(c||(c=b.toLowerCase()),c.includes(d.toLowerCase()))return!0}else if(d instanceof RegExp&&d.test(b))return!0;return!1}},validateSnapshotMode:function(a){if(!i.includes(a))throw new d(`Invalid snapshot mode: ${a}. Must be one of: ${i.join(", ")}`)}}},48841:(a,b,c)=>{"use strict";let{kProxy:d,kClose:e,kDestroy:f,kDispatch:g}=c(49176),h=c(37417),i=c(35689),j=c(5318),{InvalidArgumentError:k,RequestAbortedError:l,SecureProxyConnectionError:m,ProxyConnectionError:n}=c(61448),o=c(55285),p=c(40106),{channels:q}=c(62571),r=c(64156),s=Symbol("proxy agent"),t=Symbol("proxy client"),u=Symbol("proxy headers"),v=Symbol("request tls settings"),w=Symbol("proxy tls settings"),x=Symbol("connect endpoint function"),y=Symbol("connect endpoint function (http/1.1 only)"),z=Symbol("tunnel proxy"),A="proxy-authorization";function B(a,b){return new i(a,b)}let C=()=>{};function D(a,b){return 1===b.connections?new p(a,b):new i(a,b)}class E extends j{#aX;#aY;constructor(a,{headers:b={},connect:c,factory:d,proxyServername:e}){if(!a)throw new k("Proxy URL is mandatory");super(),this[u]=b,this.#aY=e,d?this.#aX=d(a,{connect:c}):this.#aX=new p(a,{connect:c})}[g](a,b){let c=b.onResponseStart;b.onResponseStart=function(a,d,e,f){if(407===d){"function"==typeof b.onResponseError&&b.onResponseError(a,new k("Proxy Authentication Required (407)"));return}c&&c.call(this,a,d,e,f)};let{origin:d,path:e="/",headers:f={}}=a;if(a.path=d+e,!("host"in f)&&!("Host"in f)){let{host:a}=new URL(d);f.host=a}return a.headers={...this[u],...f},null!=this.#aY&&(a.servername=this.#aY),this.#aX[g](a,b)}[e](){return this.#aX.close()}[f](a){return this.#aX.destroy(a)}}class F extends j{constructor(a){if(!a||"object"==typeof a&&!(a instanceof URL)&&!a.uri)throw new k("Proxy uri is mandatory");const{clientFactory:b=B}=a;if("function"!=typeof b)throw new k("Proxy opts.clientFactory must be a function.");const{proxyTunnel:c,connectTimeout:e}=a;super();const f=this.#aZ(a),{href:g,origin:i,port:j,protocol:p,username:A,password:F,hostname:G}=f;if(this[d]={uri:g,protocol:p},this[v]=a.requestTls,this[w]=a.proxyTls,this[u]=a.headers||{},this[z]=c,a.auth&&a.token)throw new k("opts.auth cannot be used in combination with opts.token");a.auth?this[u]["proxy-authorization"]=`Basic ${a.auth}`:a.token?this[u]["proxy-authorization"]=a.token:A&&F?this[u]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:${decodeURIComponent(F)}`).toString("base64")}`:A&&(this[u]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:`).toString("base64")}`);const H=o({timeout:e,...a.proxyTls}),I=o({timeout:e,...a.proxyTls,allowH2:!1});this[x]=o({timeout:e,...a.requestTls}),this[y]=o({timeout:e,...a.requestTls,allowH2:!1});const J=a.factory||D,K=(b,c)=>{let{protocol:e}=new URL(b);if("socks5:"===this[d].protocol||"socks:"===this[d].protocol)return new r(this[d].uri,{headers:this[u],connect:H,factory:J,username:a.username||A,password:a.password||F,proxyTls:a.proxyTls,requestTls:a.requestTls});if(!0!==this[z]&&"http:"===e){let a="https:"===this[d].protocol?(a,b)=>I(a,(a,c)=>{a&&"ERR_TLS_CERT_ALTNAME_INVALID"===a.code?b(new m(a)):b(a,c)}):I;return new E(this[d].uri,{headers:this[u],connect:a,factory:J,proxyServername:"https:"===this[d].protocol?this[w]?.servername||G:void 0})}return J(b,c)};"socks5:"===p||"socks:"===p?this[t]=null:this[t]=b(f,{connect:H}),this[s]=new h({...a,factory:K,connect:async(a,b)=>{if(!this[t])return void b(new k("Cannot establish tunnel connection without a proxy client"));let c=a.host;a.port||(c+=`:${"https:"===a.protocol?443:80}`);try{let d,e={origin:i,port:j,path:c,signal:a.signal,headers:{...this[u],host:a.host,...null==a.connections||a.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[w]?.servername||G},{socket:f,statusCode:g}=await this[t].connect(e);if(200!==g){f.on("error",C).destroy(),b(new l(`Proxy response (${g}) !== 200 when HTTP Tunneling`));return}if(q.proxyConnected.hasSubscribers&&q.proxyConnected.publish({socket:f,connectParams:e}),"https:"!==a.protocol)return void b(null,f);d=this[v]?this[v].servername:a.servername,(!1===a.allowH2?this[y]:this[x])({...a,servername:d,httpSocket:f},b)}catch(a){b("ERR_TLS_CERT_ALTNAME_INVALID"===a.code?new m(a):"UND_ERR_SOCKET"===a.code?new n(a):a)}}})}dispatch(a,b){let c=function(a){if(Array.isArray(a)){let b={};for(let c=0;c<a.length;c+=2)G(a[c])&&H(),b[a[c]]=a[c+1];return b}return a}(a.headers);if(function(a){for(let b in a)G(b)&&H()}(c),c&&!("host"in c)&&!("Host"in c)){let{host:b}=new URL(a.origin);c.host=b}return this[s].dispatch({...a,headers:c},b)}#aZ(a){return"string"==typeof a?new URL(a):a instanceof URL?a:new URL(a.uri)}[e](){let a=[this[s].close()];return this[t]&&a.push(this[t].close()),Promise.all(a)}[f](){let a=[this[s].destroy()];return this[t]&&a.push(this[t].destroy()),Promise.all(a)}}function G(a){return a.length===A.length&&a.toLowerCase()===A}function H(){throw new k("Proxy-Authorization should be sent in ProxyAgent constructor")}a.exports=F},48991:(a,b,c)=>{"use strict";c.d(b,{A9:()=>k,Cn:()=>l,Co:()=>t,Hi:()=>g,Ic:()=>r,NA:()=>v,P0:()=>n,VK:()=>w,Wu:()=>u,cw:()=>h,go:()=>e,nZ:()=>q,p8:()=>o,rJ:()=>p,sX:()=>f,uR:()=>m,x0:()=>i,zv:()=>s});var d=c(21820);let e="google-genai-sdk/1.41.0 gl-node/v22.19.0";function f(a="unknown"){let b;return`GeminiCLI/0.34.0/${a||"unknown"} (${(0,d.platform)()}; ${"ia32"===(b=(0,d.arch)())?"x86":b}; terminal)`}let g="codex_cli_rs";function h(){return`${g}/0.136.0`}let i={VSCODE_VERSION:"1.110.0",COPILOT_CHAT_VERSION:"0.38.0",USER_AGENT:"GitHubCopilotChat/0.38.0",API_VERSION:"2025-04-01"};function j(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}function k(){return`Antigravity/1.125.0 (${function(){switch((0,d.platform)()){case"darwin":return"Macintosh; Intel Mac OS X 10_15_7";case"win32":return"Windows NT 10.0; Win64; x64";default:return"X11; Linux x86_64"}}()}) Chrome/142.0.7444.175 Electron/39.2.7`}let l={ideType:9,platform:j(),pluginType:2},m="_ide";function n(){return`antigravity/cli/1.1.13 (aidev_client; os_type=${"win32"===(0,d.platform)()?"windows":(0,d.platform)()}; arch=${"x64"===(0,d.arch)()?"amd64":"ia32"===(0,d.arch)()?"x86":(0,d.arch)()}; cl=964361259; auth_method=consumer)`}function o(){return"antigravity/ide/2.1.1 darwin/arm64"}function p(a){return"string"==typeof a&&/(?:^|\/)gemini-3\.(?:7|8)(?:-|$)/i.test(a)?n():o()}o();let q={loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},r={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:j(),pluginType:2})},s={ideType:9,platform:j(),pluginType:2},t="You are Claude Code, Anthropic's official CLI for Claude.",u={codex:432e6,claude:144e5,iflow:864e5,qwen:12e5,codebuddy:12e5,kimi:3e5,"kimi-coding":3e5,antigravity:3e5,"grok-cli":3e5,xai:3e5},v={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://api.anthropic.com/v1/oauth/token",auth:"https://api.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://qwen.ai/api/v1/oauth2/token",auth:"https://qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}};function w(){return{"X-Msh-Platform":"zevairouter","X-Msh-Version":"2.1.2","X-Msh-Device-Model":"u">typeof process?`${process.platform} ${process.arch}`:"unknown","X-Msh-Device-Id":`kimi-${Date.now()}`}}},49065:(a,b,c)=>{"use strict";c.r(b),c.d(b,{geminiToOpenAIRequest:()=>g});var d=c(70556),e=c(42541),f=c(58455);function g(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,f.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,g,null),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,g,null)},49166:(a,b,c)=>{"use strict";let{Cache:d}=c(50027),{webidl:e}=c(32984),{kEnumerableProperty:f}=c(84285),{kConstruct:g}=c(49176);class h{#a$=new Map;constructor(){arguments[0]!==g&&e.illegalConstructor(),e.util.markAsUncloneable(this)}async match(a,b={}){if(e.brandCheck(this,h),e.argumentLengthCheck(arguments,1,"CacheStorage.match"),a=e.converters.RequestInfo(a),null!=(b=e.converters.MultiCacheQueryOptions(b)).cacheName){if(this.#a$.has(b.cacheName)){let c=new d(g,this.#a$.get(b.cacheName));return await c.match(a,b)}}else for(let c of this.#a$.values()){let e=new d(g,c),f=await e.match(a,b);if(void 0!==f)return f}}async has(a){e.brandCheck(this,h);let b="CacheStorage.has";return e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#a$.has(a)}async open(a){e.brandCheck(this,h);let b="CacheStorage.open";if(e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#a$.has(a))return new d(g,this.#a$.get(a));let c=[];return this.#a$.set(a,c),new d(g,c)}async delete(a){e.brandCheck(this,h);let b="CacheStorage.delete";return e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#a$.delete(a)}async keys(){return e.brandCheck(this,h),[...this.#a$.keys()]}}Object.defineProperties(h.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:f,has:f,open:f,delete:f,keys:f}),a.exports={CacheStorage:h}},49176:a=>{"use strict";a.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2Options:Symbol("http2 options"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHostAuthority:Symbol("host authority"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}},50027:(a,b,c)=>{"use strict";let d=c(34589),{kConstruct:e}=c(49176),{urlEquals:f,getFieldValues:g}=c(68531),{kEnumerableProperty:h,isDisturbed:i}=c(84285),{webidl:j}=c(32984),{cloneResponse:k,fromInnerResponse:l,getResponseState:m}=c(55815),{Request:n,fromInnerRequest:o,getRequestState:p}=c(12600),{fetching:q}=c(76403),{urlIsHttpHttpsScheme:r,readAllBytes:s}=c(42425);class t{#a_;constructor(){arguments[0]!==e&&j.illegalConstructor(),j.util.markAsUncloneable(this),this.#a_=arguments[1]}async match(a,b={}){j.brandCheck(this,t);let c="Cache.match";j.argumentLengthCheck(arguments,1,c),a=j.converters.RequestInfo(a),b=j.converters.CacheQueryOptions(b,c,"options");let d=this.#a0(a,b,1);if(0!==d.length)return d[0]}async matchAll(a,b={}){return j.brandCheck(this,t),void 0!==a&&(a=j.converters.RequestInfo(a)),b=j.converters.CacheQueryOptions(b,"Cache.matchAll","options"),this.#a0(a,b)}async add(a){j.brandCheck(this,t),j.argumentLengthCheck(arguments,1,"Cache.add");let b=[a=j.converters.RequestInfo(a)],c=this.addAll(b);return await c}async addAll(a){j.brandCheck(this,t);let b="Cache.addAll";j.argumentLengthCheck(arguments,1,b);let c=[],d=[];for(let c of a){if(void 0===c)throw j.errors.conversionFailed({prefix:b,argument:"Argument 1",types:["undefined is not allowed"]});if("string"==typeof(c=j.converters.RequestInfo(c)))continue;let a=p(c);if(!r(a.url)||"GET"!==a.method)throw j.errors.exception({header:b,message:"Expected http/s scheme when method is not GET."})}let e=[];for(let f of a){let a=p(new n(f));if(!r(a.url))throw j.errors.exception({header:b,message:"Expected http/s scheme."});a.initiator="fetch",a.destination="subresource",d.push(a);let h=Promise.withResolvers();e.push(q({request:a,processResponse(a){if("error"===a.type||206===a.status||a.status<200||a.status>299)h.reject(j.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(a.headersList.contains("vary")){for(let b of g(a.headersList.get("vary")))if("*"===b){for(let a of(h.reject(j.errors.exception({header:"Cache.addAll",message:"invalid vary field value"})),e))a.abort();return}}},processResponseEndOfBody(a){a.aborted?h.reject(new DOMException("aborted","AbortError")):h.resolve(a)}})),c.push(h.promise)}let f=Promise.all(c),h=await f,i=[],k=0;for(let a of h){let b={type:"put",request:d[k],response:a};i.push(b),k++}let l=Promise.withResolvers(),m=null;try{this.#a1(i)}catch(a){m=a}return queueMicrotask(()=>{null===m?l.resolve(void 0):l.reject(m)}),l.promise}async put(a,b){j.brandCheck(this,t);let c="Cache.put";j.argumentLengthCheck(arguments,2,c),a=j.converters.RequestInfo(a),b=j.converters.Response(b,c,"response");let d=null;if(!r((d=j.is.Request(a)?p(a):p(new n(a))).url)||"GET"!==d.method)throw j.errors.exception({header:c,message:"Expected an http/s scheme when method is not GET"});let e=m(b);if(206===e.status)throw j.errors.exception({header:c,message:"Got 206 status"});if(e.headersList.contains("vary")){for(let a of g(e.headersList.get("vary")))if("*"===a)throw j.errors.exception({header:c,message:"Got * vary field value"})}if(e.body&&(i(e.body.stream)||e.body.stream.locked))throw j.errors.exception({header:c,message:"Response body is locked or disturbed"});let f=k(e),h=Promise.withResolvers();null!=e.body?s(e.body.stream.getReader(),h.resolve,h.reject):h.resolve(void 0);let l=[],o={type:"put",request:d,response:f};l.push(o);let q=await h.promise;null!=f.body&&(f.body.source=q);let u=Promise.withResolvers(),v=null;try{this.#a1(l)}catch(a){v=a}return queueMicrotask(()=>{null===v?u.resolve():u.reject(v)}),u.promise}async delete(a,b={}){let c;j.brandCheck(this,t);let e="Cache.delete";j.argumentLengthCheck(arguments,1,e),a=j.converters.RequestInfo(a),b=j.converters.CacheQueryOptions(b,e,"options");let f=null;if(j.is.Request(a)){if("GET"!==(f=p(a)).method&&!b.ignoreMethod)return!1}else d("string"==typeof a),f=p(new n(a));let g=[],h={type:"delete",request:f,options:b};g.push(h);let i=Promise.withResolvers(),k=null;try{c=this.#a1(g)}catch(a){k=a}return queueMicrotask(()=>{null===k?i.resolve(!!c?.length):i.reject(k)}),i.promise}async keys(a,b={}){j.brandCheck(this,t),void 0!==a&&(a=j.converters.RequestInfo(a)),b=j.converters.CacheQueryOptions(b,"Cache.keys","options");let c=null;if(void 0!==a)if(j.is.Request(a)){if("GET"!==(c=p(a)).method&&!b.ignoreMethod)return[]}else"string"==typeof a&&(c=p(new n(a)));let d=Promise.withResolvers(),e=[];if(void 0===a)for(let a of this.#a_)e.push(a[0]);else for(let a of this.#a2(c,b))e.push(a[0]);return queueMicrotask(()=>{let a=[];for(let b of e){let c=o(b,void 0,new AbortController().signal,"immutable");a.push(c)}d.resolve(Object.freeze(a))}),d.promise}#a1(a){let b=this.#a_,c=[...b],e=[],f=[];try{for(let c of a){let a;if("delete"!==c.type&&"put"!==c.type)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if("delete"===c.type&&null!=c.response)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#a2(c.request,c.options,e).length)throw new DOMException("???","InvalidStateError");if("delete"===c.type){if(a=this.#a2(c.request,c.options),0===a.length)return[];for(let c of a){let a=b.indexOf(c);d(-1!==a),b.splice(a,1)}}else if("put"===c.type){if(null==c.response)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let f=c.request;if(!r(f.url))throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if("GET"!==f.method)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(null!=c.options)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});for(let e of a=this.#a2(c.request)){let a=b.indexOf(e);d(-1!==a),b.splice(a,1)}b.push([c.request,c.response]),e.push([c.request,c.response])}f.push([c.request,c.response])}return f}catch(a){throw this.#a_.length=0,this.#a_=c,a}}#a2(a,b,c){let d=[];for(let e of c??this.#a_){let[c,f]=e;this.#a3(a,c,f,b)&&d.push(e)}return d}#a3(a,b,c=null,d){let e=new URL(a.url),h=new URL(b.url);if(d?.ignoreSearch&&(h.search="",e.search=""),!f(e,h,!0))return!1;if(null==c||d?.ignoreVary||!c.headersList.contains("vary"))return!0;for(let d of g(c.headersList.get("vary")))if("*"===d||b.headersList.get(d)!==a.headersList.get(d))return!1;return!0}#a0(a,b,c=1/0){let d=null;if(void 0!==a)if(j.is.Request(a)){if("GET"!==(d=p(a)).method&&!b.ignoreMethod)return[]}else"string"==typeof a&&(d=p(new n(a)));let e=[];if(void 0===a)for(let a of this.#a_)e.push(a[1]);else for(let a of this.#a2(d,b))e.push(a[1]);let f=[];for(let a of e){let b=l(k(a),"immutable");if(f.push(b),f.length>=c)break}return Object.freeze(f)}}Object.defineProperties(t.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:h,matchAll:h,add:h,addAll:h,put:h,delete:h,keys:h});let u=[{key:"ignoreSearch",converter:j.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:j.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:j.converters.boolean,defaultValue:()=>!1}];j.converters.CacheQueryOptions=j.dictionaryConverter(u),j.converters.MultiCacheQueryOptions=j.dictionaryConverter([...u,{key:"cacheName",converter:j.converters.DOMString}]),j.converters.Response=j.interfaceConverter(j.is.Response,"Response"),j.converters["sequence<RequestInfo>"]=j.sequenceConverter(j.converters.RequestInfo),a.exports={Cache:t}},50270:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToAntigravityResponse:()=>f});var d=c(70556),e=c(42541);function f(a,b){if(!a)return null;let c=a.choices?.[0];if(!c)return a.usage?(b._usage=a.usage,{response:{candidates:[],modelVersion:b._modelVersion||a.model||"",responseId:b._responseId||a.id||`resp_${Date.now()}`,usageMetadata:g(a.usage)}}):null;let d=c.delta||{},e=c.finish_reason;b._toolCallAccum||(b._toolCallAccum={}),b._responseId||(b._responseId=a.id||`resp_${Date.now()}`),b._modelVersion||(b._modelVersion=a.model||"");let f=[];if(d.reasoning_content&&f.push({thought:!0,text:d.reasoning_content}),d.content&&f.push({text:d.content}),d.tool_calls){for(let a of d.tool_calls){let c=a.index??0;b._toolCallAccum[c]||(b._toolCallAccum[c]={id:"",name:"",arguments:""});let d=b._toolCallAccum[c];a.id&&(d.id=a.id),a.function?.name&&(d.name+=a.function.name),a.function?.arguments&&(d.arguments+=a.function.arguments)}if(0===f.length&&!e)return null}if(e)for(let a of Object.keys(b._toolCallAccum)){let c=b._toolCallAccum[a],d={};try{d=JSON.parse(c.arguments)}catch{}let e=b.toolNameMap?.get(c.name)||c.name;f.push({functionCall:{name:e,args:d}})}if(0===f.length&&!e)return null;0===f.length&&e&&f.push({text:""});let h={content:{role:"model",parts:f}};e&&(h.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[e]||"STOP");let i={candidates:[h],modelVersion:b._modelVersion,responseId:b._responseId},j=a.usage||b._usage;return j&&(i.usageMetadata=g(j)),{response:i}}function g(a){let b={promptTokenCount:a.prompt_tokens||0,candidatesTokenCount:a.completion_tokens||0,totalTokenCount:a.total_tokens||0};return a.completion_tokens_details?.reasoning_tokens&&(b.thoughtsTokenCount=a.completion_tokens_details.reasoning_tokens),a.prompt_tokens_details?.cached_tokens&&(b.cachedContentTokenCount=a.prompt_tokens_details.cached_tokens),b}(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,null,f)},50294:(a,b,c)=>{"use strict";c.d(b,{R:()=>j});var d=c(66678),e=c(30395),f=c(48991),g=c(11484);let h="QwenCode/0.12.3 (linux; x64)",i={role:"system",content:[{type:"text",text:"",cache_control:{type:"ephemeral"}}]};class j extends d.L{constructor(){super("qwen")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.resourceUrl,f=e?e.replace(/^https?:\/\//,"").replace(/\/$/,""):"portal.qwen.ai";return`https://${f}/v1/chat/completions`}buildHeaders(a,b=!0){return function(a,b=!0){let c=a?.apiKey||a?.accessToken||"",d={"Content-Type":"application/json",Authorization:`Bearer ${c}`,"User-Agent":h,"X-DashScope-AuthType":"qwen-oauth","X-DashScope-CacheControl":"enable","X-DashScope-UserAgent":h,"X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"};return d.Accept=b?"text/event-stream":"application/json",d}(a,b)}transformRequest(a,b,c,d){let e=b&&"object"==typeof b?{...b}:b;c&&e?.messages&&!e.stream_options&&!e.thinking&&!e.enable_thinking&&!1!==e.stream&&(e.stream_options={include_usage:!0});var f=e=function(a){let b;if(!0!==(b=a?.thinking)&&a?.enable_thinking!==!0&&("object"!=typeof b||null===b||Array.isArray(b)||"enabled"!==b.type))return a;let c=a.tool_choice;return"required"!==c&&("object"!=typeof c||null===c)?a:{...a,tool_choice:"auto"}}(e);if(!f||"object"!=typeof f)return f;let g={...f};return Array.isArray(g.messages)?g.messages=[i,...g.messages]:g.messages=[i],g}async refreshCredentials(a,b){if(!a?.refreshToken)return null;try{let c=await fetch(f.NA.qwen.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.qwen.clientId})});if(!c.ok)return await (0,g.aI)(c),null;let d=await c.json();return b?.info?.("TOKEN","qwen refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,providerSpecificData:{...a.providerSpecificData||{},...d.resource_url?{resourceUrl:d.resource_url}:{}}}}catch(a){return b?.error?.("TOKEN",`qwen refresh error: ${a.message}`),null}}}},50329:a=>{"use strict";class b{bottom=0;top=0;list=Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(a){this.list[this.top]=a,this.top=this.top+1&2047}shift(){let a=this.list[this.bottom];return void 0===a?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,a)}}a.exports=class{constructor(){this.head=this.tail=new b}isEmpty(){return this.head.isEmpty()}push(a){this.head.isFull()&&(this.head=this.head.next=new b),this.head.push(a)}shift(){let a=this.tail,b=a.shift();return a.isEmpty()&&null!==a.next&&(this.tail=a.next,a.next=null),b}}},50570:(a,b,c)=>{"use strict";c(42541)},50743:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},51525:(a,b,c)=>{"use strict";c(76816)},51529:(a,b,c)=>{},51658:(a,b,c)=>{"use strict";c(42541),c(70556),c(43212),c(11484),c(64323),c(83651),c(72610),c(51525)},51705:(a,b,c)=>{"use strict";a.exports=c.p+"static/media/server.f66733f4.js"},51753:(a,b,c)=>{"use strict";let{webidl:d}=c(32984),{kEnumerableProperty:e}=c(84285),{kConstruct:f}=c(49176);class g extends Event{#a4;constructor(a,b={}){if(a===f){super(arguments[1],arguments[2]),d.util.markAsUncloneable(this);return}const c="MessageEvent constructor";d.argumentLengthCheck(arguments,1,c),super(a=d.converters.DOMString(a,c,"type"),b=d.converters.MessageEventInit(b,c,"eventInitDict")),this.#a4=b,d.util.markAsUncloneable(this)}get data(){return d.brandCheck(this,g),this.#a4.data}get origin(){return d.brandCheck(this,g),this.#a4.origin}get lastEventId(){return d.brandCheck(this,g),this.#a4.lastEventId}get source(){return d.brandCheck(this,g),this.#a4.source}get ports(){return d.brandCheck(this,g),Object.isFrozen(this.#a4.ports)||Object.freeze(this.#a4.ports),this.#a4.ports}initMessageEvent(a,b=!1,c=!1,e=null,f="",h="",i=null,j=[]){return d.brandCheck(this,g),d.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new g(a,{bubbles:b,cancelable:c,data:e,origin:f,lastEventId:h,source:i,ports:j})}static createFastMessageEvent(a,b){let c=new g(f,a,b);return c.#a4=b,c.#a4.data??=null,c.#a4.origin??="",c.#a4.lastEventId??="",c.#a4.source??=null,c.#a4.ports??=[],c}}let{createFastMessageEvent:h}=g;delete g.createFastMessageEvent;class i extends Event{#a4;constructor(a,b={}){const c="CloseEvent constructor";d.argumentLengthCheck(arguments,1,c),super(a=d.converters.DOMString(a,c,"type"),b=d.converters.CloseEventInit(b)),this.#a4=b,d.util.markAsUncloneable(this)}get wasClean(){return d.brandCheck(this,i),this.#a4.wasClean}get code(){return d.brandCheck(this,i),this.#a4.code}get reason(){return d.brandCheck(this,i),this.#a4.reason}}class j extends Event{#a4;constructor(a,b){const c="ErrorEvent constructor";d.argumentLengthCheck(arguments,1,c),super(a,b),d.util.markAsUncloneable(this),a=d.converters.DOMString(a,c,"type"),b=d.converters.ErrorEventInit(b??{}),this.#a4=b}get message(){return d.brandCheck(this,j),this.#a4.message}get filename(){return d.brandCheck(this,j),this.#a4.filename}get lineno(){return d.brandCheck(this,j),this.#a4.lineno}get colno(){return d.brandCheck(this,j),this.#a4.colno}get error(){return d.brandCheck(this,j),this.#a4.error}}Object.defineProperties(g.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:e,origin:e,lastEventId:e,source:e,ports:e,initMessageEvent:e}),Object.defineProperties(i.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:e,code:e,wasClean:e}),Object.defineProperties(j.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:e,filename:e,lineno:e,colno:e,error:e}),d.converters.MessagePort=d.interfaceConverter(d.is.MessagePort,"MessagePort"),d.converters["sequence<MessagePort>"]=d.sequenceConverter(d.converters.MessagePort);let k=[{key:"bubbles",converter:d.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:d.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:d.converters.boolean,defaultValue:()=>!1}];d.converters.MessageEventInit=d.dictionaryConverter([...k,{key:"data",converter:d.converters.any,defaultValue:()=>null},{key:"origin",converter:d.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:d.converters.DOMString,defaultValue:()=>""},{key:"source",converter:d.nullableConverter(d.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:d.converters["sequence<MessagePort>"],defaultValue:()=>[]}]),d.converters.CloseEventInit=d.dictionaryConverter([...k,{key:"wasClean",converter:d.converters.boolean,defaultValue:()=>!1},{key:"code",converter:d.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:d.converters.USVString,defaultValue:()=>""}]),d.converters.ErrorEventInit=d.dictionaryConverter([...k,{key:"message",converter:d.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:d.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:d.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:d.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:d.converters.any}]),a.exports={MessageEvent:g,CloseEvent:i,ErrorEvent:j,createFastMessageEvent:h}},52039:(a,b,c)=>{"use strict";let{isArrayBuffer:d}=c(73429),{webidl:e}=c(32984),{URLSerializer:f}=c(16537),{environmentSettingsObject:g}=c(42425),{staticPropertyDescriptors:h,states:i,sentCloseFrameState:j,sendHints:k,opcodes:l}=c(62026),{isConnecting:m,isEstablished:n,isClosing:o,isClosed:p,isValidSubprotocol:q,fireEvent:r,utf8Decode:s,toArrayBuffer:t,getURLRecord:u}=c(94050),{establishWebSocketConnection:v,closeWebSocketConnection:w,failWebsocketConnection:x}=c(4654),{ByteParser:y}=c(64821),{kEnumerableProperty:z}=c(84285),{getGlobalDispatcher:A}=c(59970),{ErrorEvent:B,CloseEvent:C,createFastMessageEvent:D}=c(51753),{SendQueue:E}=c(54849),{WebsocketFrameSend:F}=c(45221),{channels:G}=c(62571),H=Symbol.for("nodejs.ref"),I=Symbol.for("nodejs.unref");class J extends EventTarget{#aR={open:null,error:null,close:null,message:null};#a5=0;#a6="";#a7="";#a8=!0;#a9;#ay={onConnectionEstablished:(a,b)=>this.#az(a,b),onMessage:(a,b)=>this.#aA(a,b),onParserError:a=>x(this.#ay,null,a.message),onParserDrain:()=>this.#ba(),onSocketData:a=>{this.#aB.write(a)||this.#ay.socket.pause()},onSocketError:a=>{this.#ay.readyState=i.CLOSING,G.socketError.hasSubscribers&&G.socketError.publish(a),this.#ay.socket.destroy()},onSocketClose:()=>this.#aC(),onPing:a=>{G.ping.hasSubscribers&&G.ping.publish({payload:a,websocket:this})},onPong:a=>{G.pong.hasSubscribers&&G.pong.publish({payload:a,websocket:this})},readyState:i.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#ar;#bb;#aB;constructor(a,b=[]){super(),e.util.markAsUncloneable(this);const c="WebSocket constructor";e.argumentLengthCheck(arguments,1,c);const d=e.converters["DOMString or sequence<DOMString> or WebSocketInit"](b,c,"options");a=e.converters.USVString(a),b=d.protocols;const f=u(a,g.settingsObject.baseUrl);if("string"==typeof b&&(b=[b]),b.length!==new Set(b.map(a=>a.toLowerCase())).size||b.length>0&&!b.every(a=>q(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#ar=new URL(f.href);const h=g.settingsObject;this.#ay.controller=v(f,b,h,this.#ay,d),this.#ay.readyState=J.CONNECTING,this.#bb="blob"}[H](){e.brandCheck(this,J),this.#a8=!0,this.#ay.socket?.ref?.()}[I](){e.brandCheck(this,J),this.#a8=!1,this.#ay.socket?.unref?.()}close(a,b){e.brandCheck(this,J),void 0!==a&&(a=e.converters["unsigned short"](a,"WebSocket.close","code",e.attributes.Clamp)),void 0!==b&&(b=e.converters.USVString(b)),a??=null,b??="",w(this.#ay,a,b,!0)}send(a){e.brandCheck(this,J);let b="WebSocket.send";if(e.argumentLengthCheck(arguments,1,b),a=e.converters.WebSocketSendData(a,b,"data"),m(this.#ay.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!n(this.#ay.readyState)||o(this.#ay.readyState)))if("string"==typeof a){let b=Buffer.from(a);this.#a5+=b.byteLength,this.#a9.add(b,()=>{this.#a5-=b.byteLength},k.text)}else d(a)?(this.#a5+=a.byteLength,this.#a9.add(a,()=>{this.#a5-=a.byteLength},k.arrayBuffer)):ArrayBuffer.isView(a)?(this.#a5+=a.byteLength,this.#a9.add(a,()=>{this.#a5-=a.byteLength},k.typedArray)):e.is.Blob(a)&&(this.#a5+=a.size,this.#a9.add(a,()=>{this.#a5-=a.size},k.blob))}get readyState(){return e.brandCheck(this,J),this.#ay.readyState}get bufferedAmount(){return e.brandCheck(this,J),this.#a5}get url(){return e.brandCheck(this,J),f(this.#ar)}get extensions(){return e.brandCheck(this,J),this.#a7}get protocol(){return e.brandCheck(this,J),this.#a6}get onopen(){return e.brandCheck(this,J),this.#aR.open}set onopen(a){e.brandCheck(this,J),this.#aR.open&&this.removeEventListener("open",this.#aR.open);let b=e.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("open",b),this.#aR.open=a):this.#aR.open=null}get onerror(){return e.brandCheck(this,J),this.#aR.error}set onerror(a){e.brandCheck(this,J),this.#aR.error&&this.removeEventListener("error",this.#aR.error);let b=e.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("error",b),this.#aR.error=a):this.#aR.error=null}get onclose(){return e.brandCheck(this,J),this.#aR.close}set onclose(a){e.brandCheck(this,J),this.#aR.close&&this.removeEventListener("close",this.#aR.close);let b=e.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("close",b),this.#aR.close=a):this.#aR.close=null}get onmessage(){return e.brandCheck(this,J),this.#aR.message}set onmessage(a){e.brandCheck(this,J),this.#aR.message&&this.removeEventListener("message",this.#aR.message);let b=e.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("message",b),this.#aR.message=a):this.#aR.message=null}get binaryType(){return e.brandCheck(this,J),this.#bb}set binaryType(a){e.brandCheck(this,J),"blob"!==a&&"arraybuffer"!==a?this.#bb="blob":this.#bb=a}#az(a,b){this.#ay.socket=a.socket,this.#a8||this.#ay.socket.unref?.();let c=this.#ay.controller.dispatcher?.webSocketOptions?.maxFragments,d=this.#ay.controller.dispatcher?.webSocketOptions?.maxPayloadSize,e=new y(this.#ay,b,{maxFragments:c,maxPayloadSize:d});e.on("drain",()=>this.#ay.onParserDrain()),e.on("error",a=>this.#ay.onParserError(a)),this.#aB=e,this.#a9=new E(a.socket),this.#ay.readyState=i.OPEN;let f=a.headersList.get("sec-websocket-extensions");null!==f&&(this.#a7=f);let g=a.headersList.get("sec-websocket-protocol");if(null!==g&&(this.#a6=g),r("open",this),G.open.hasSubscribers){var h;let b=a.headersList.entries;G.open.publish({address:(h=a.socket,"function"==typeof h?.address?h.address():"function"==typeof h?.session?.socket?.address?h.session.socket.address():null),protocol:this.#a6,extensions:this.#a7,websocket:this,handshakeResponse:{status:a.status,statusText:a.statusText,headers:b}})}}#aA(a,b){let c;if(this.#ay.readyState===i.OPEN){if(a===l.TEXT)try{c=s(b)}catch{x(this.#ay,1007,"Received invalid UTF-8 in text frame.");return}else a===l.BINARY&&(c="blob"===this.#bb?new Blob([b]):t(b));r("message",this,D,{origin:this.#ar.origin,data:c})}}#ba(){this.#ay.socket.resume()}#aC(){let a=this.#ay.closeState.has(j.SENT)&&this.#ay.closeState.has(j.RECEIVED),b=1005,c="",d=this.#aB?.closingInfo;d&&!d.error&&(b=d.code??1005,c=d.reason),this.#ay.readyState=i.CLOSED,this.#ay.closeState.has(j.RECEIVED)||(b=1006,r("error",this,(a,b)=>new B(a,b),{error:TypeError(c)})),r("close",this,(a,b)=>new C(a,b),{wasClean:a,code:b,reason:c}),G.close.hasSubscribers&&G.close.publish({websocket:this,code:b,reason:c})}static ping(a,b){if(Buffer.isBuffer(b)){if(b.length>125)throw TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(void 0!==b)throw TypeError("Expected buffer payload");let c=a.#ay.readyState;if(n(c)&&!o(c)&&!p(c)){let c=new F(b);a.#ay.socket.write(c.createFrame(l.PING))}}}let{ping:K}=J;Reflect.deleteProperty(J,"ping"),J.CONNECTING=J.prototype.CONNECTING=i.CONNECTING,J.OPEN=J.prototype.OPEN=i.OPEN,J.CLOSING=J.prototype.CLOSING=i.CLOSING,J.CLOSED=J.prototype.CLOSED=i.CLOSED,Object.defineProperties(J.prototype,{CONNECTING:h,OPEN:h,CLOSING:h,CLOSED:h,url:z,readyState:z,bufferedAmount:z,onopen:z,onerror:z,onclose:z,close:z,onmessage:z,binaryType:z,send:z,extensions:z,protocol:z,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}}),Object.defineProperties(J,{CONNECTING:h,OPEN:h,CLOSING:h,CLOSED:h}),e.converters["sequence<DOMString>"]=e.sequenceConverter(e.converters.DOMString),e.converters["DOMString or sequence<DOMString>"]=function(a,b,c){return e.util.Type(a)===e.util.Types.OBJECT&&Symbol.iterator in a?e.converters["sequence<DOMString>"](a):e.converters.DOMString(a,b,c)},e.converters.WebSocketInit=e.dictionaryConverter([{key:"protocols",converter:e.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:e.converters.any,defaultValue:()=>A()},{key:"headers",converter:e.nullableConverter(e.converters.HeadersInit)}]),e.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(a){return e.util.Type(a)!==e.util.Types.OBJECT||Symbol.iterator in a?{protocols:e.converters["DOMString or sequence<DOMString>"](a)}:e.converters.WebSocketInit(a)},e.converters.WebSocketSendData=function(a){return e.util.Type(a)===e.util.Types.OBJECT&&(e.is.Blob(a)||e.is.BufferSource(a))?a:e.converters.USVString(a)},a.exports={WebSocket:J,ping:K}},53552:(a,b,c)=>{"use strict";let{InvalidArgumentError:d}=c(61448),e=c(40106);class f extends e{constructor(a,b){if("string"==typeof a&&(a=new URL(a)),"http:"!==a.protocol)throw new d("h2c-client: Only h2c protocol is supported");const{maxConcurrentStreams:c,pipelining:e,...f}=b??{},g=c??100;let h=100;if(null!=c&&(!Number.isInteger(c)||c<1))throw new d("maxConcurrentStreams must be a positive integer, greater than 0");if(null!=e&&Number.isInteger(e)&&e>0&&(h=e),h>g)throw new d("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(a,{...f,maxConcurrentStreams:g,pipelining:h,allowH2:!0,useH2c:!0})}}a.exports=f},53859:(a,b,c)=>{"use strict";c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="zevai";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},54838:(a,b,c)=>{"use strict";c.d(b,{$D:()=>s,Oj:()=>g,P9:()=>n,We:()=>i,ZF:()=>p,Zm:()=>f,aZ:()=>x,cr:()=>v,gI:()=>o,h3:()=>h,rG:()=>m,yh:()=>w});let d="-agentic",e="-thinking",f=64,g=10237,h=64;function i(a){return"google"===a||"github"===a?"arn:aws:codewhisperer:us-east-1:699475941385:profile/EHGA3GRVQMUK":"arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX"}let j={minimal:512,low:1024,medium:8192,high:24576,xhigh:32768,max:128e3},k=new Set(["1","true","yes","on"]),l=new Set(["0","false","no","off"]),m=`
193
+ `}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}}}},42425:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),e=c(38522),{redirectStatusSet:f,referrerPolicyTokens:g,badPortsSet:h}=c(19608),{getGlobalOrigin:i}=c(79412),{collectAnHTTPQuotedString:j,parseMIMEType:k}=c(16537),{performance:l}=c(643),{ReadableStreamFrom:m,isValidHTTPToken:n,normalizedMethodRecordsBase:o}=c(84285),p=c(34589),{isUint8Array:q}=c(73429),{webidl:r}=c(32984),{isomorphicEncode:s,collectASequenceOfCodePoints:t,removeChars:u}=c(70745);function v(a){let b=a.urlList,c=b.length;return 0===c?null:b[c-1].toString()}function w(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c>126||c<32)return!1}return!0}function x(a){return a.urlList[a.urlList.length-1]}function y(a){return!1===(" "===a[0]||" "===a[0]||" "===a[a.length-1]||" "===a[a.length-1]||a.includes("\n")||a.includes("\r")||a.includes("\0"))}function z(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function A(a,b=!1){return(p(r.is.URL(a)),J(a=new URL(a)))?"no-referrer":(a.username="",a.password="",a.hash="",!0===b&&(a.pathname="",a.search=""),a)}let B=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),C=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function D(a){return a.includes(":")?("["===a[0]&&"]"===a[a.length-1]&&(a=a.slice(1,-1)),C(a)):B(a)}function E(a){var b;return!!r.is.URL(a)&&("about:blank"===a.href||"about:srcdoc"===a.href||"data:"===a.protocol||"blob:"===a.protocol||null!=(b=a.origin)&&"null"!==b&&(!!("https:"===(b=new URL(b)).protocol||"wss:"===b.protocol||D(b.hostname)||"localhost"===b.hostname||"localhost."===b.hostname||b.hostname.endsWith(".localhost")||b.hostname.endsWith(".localhost."))||"file:"===b.protocol))}function F(a,b){return a.origin===b.origin&&"null"===a.origin||a.protocol===b.protocol&&a.hostname===b.hostname&&a.port===b.port}let G=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function H(a,b,c=0,d=1){class e{#an;#ao;#ap;constructor(a,b){this.#an=a,this.#ao=b,this.#ap=0}next(){let e;if("object"!=typeof this||this===null||!(#an in this))throw TypeError(`'next' called on an object that does not implement interface ${a} Iterator.`);let f=this.#ap,g=b(this.#an);if(f>=g.length)return{value:void 0,done:!0};let{[c]:h,[d]:i}=g[f];switch(this.#ap=f+1,this.#ao){case"key":e=h;break;case"value":e=i;break;case"key+value":e=[h,i]}return{value:e,done:!1}}}return delete e.prototype.constructor,Object.setPrototypeOf(e.prototype,G),Object.defineProperties(e.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${a} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(a,b){return new e(a,b)}}async function I(a,b,c){try{let d=[],e=0;for(;;){let{done:f,value:g}=await a.read();if(f)return void b(Buffer.concat(d,e));if(!q(g))return void c(TypeError("Received non-Uint8Array chunk"));d.push(g),e+=g.length}}catch(a){c(a)}}function J(a){p("protocol"in a);let b=a.protocol;return"about:"===b||"blob:"===b||"data:"===b}function K(a){return"string"==typeof a&&":"===a[5]&&"h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3]&&"s"===a[4]||"https:"===a.protocol}function L(a){p("protocol"in a);let b=a.protocol;return"http:"===b||"https:"===b}class M extends d{#aq;constructor(a){super(),this.#aq=a}_transform(a,b,c){if(!this._inflateStream){if(0===a.length)return void c();this._inflateStream=(15&a[0])==8?e.createInflate(this.#aq):e.createInflateRaw(this.#aq),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",a=>this.destroy(a))}this._inflateStream.write(a,b,c)}_final(a){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),a()}}function N(a,b){let c=b.get(a,!0);if(null===c)return null;let d={position:0},e=[],f="";for(;d.position<c.length;){if(f+=t(a=>'"'!==a&&","!==a,c,d),d.position<c.length)if(34===c.charCodeAt(d.position)){if(f+=j(c,d),d.position<c.length)continue}else p(44===c.charCodeAt(d.position)),d.position++;f=u(f,!0,!0,a=>9===a||32===a),e.push(f),f=""}return e}class O{get baseUrl(){return i()}get origin(){return this.baseUrl?.origin}policyContainer=z()}class P{settingsObject=new O}a.exports={isAborted:function(a){return"aborted"===a.controller.state},isCancelled:function(a){return"aborted"===a.controller.state||"terminated"===a.controller.state},isValidEncodedURL:w,ReadableStreamFrom:m,tryUpgradeRequestToAPotentiallyTrustworthyURL:function(a){},clampAndCoarsenConnectionTimingInfo:function(a,b,c){return!a?.startTime||a.startTime<b?{domainLookupStartTime:b,domainLookupEndTime:b,connectionStartTime:b,connectionEndTime:b,secureConnectionStartTime:b,ALPNNegotiatedProtocol:a?.ALPNNegotiatedProtocol}:{domainLookupStartTime:a.domainLookupStartTime,domainLookupEndTime:a.domainLookupEndTime,connectionStartTime:a.connectionStartTime,connectionEndTime:a.connectionEndTime,secureConnectionStartTime:a.secureConnectionStartTime,ALPNNegotiatedProtocol:a.ALPNNegotiatedProtocol}},coarsenedSharedCurrentTime:function(a){return l.now()},determineRequestsReferrer:function(a){let b=a.referrerPolicy;p(b);let c=null;if("client"===a.referrer){let a=i();if(!a||"null"===a.origin)return"no-referrer";c=new URL(a)}else r.is.URL(a.referrer)&&(c=a.referrer);let d=A(c),e=A(c,!0);switch(d.toString().length>4096&&(d=e),b){case"no-referrer":return"no-referrer";case"origin":if(null!=e)return e;return A(c,!0);case"unsafe-url":return d;case"strict-origin":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return e}case"strict-origin-when-cross-origin":{let b=x(a);if(F(d,b))return d;if(E(d)&&!E(b))return"no-referrer";return e}case"same-origin":if(F(a,d))return d;return"no-referrer";case"origin-when-cross-origin":if(F(a,d))return d;return e;case"no-referrer-when-downgrade":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return d}}},makePolicyContainer:z,clonePolicyContainer:function(a){return{referrerPolicy:a.referrerPolicy}},appendFetchMetadata:function(a){let b=null;b=a.mode,a.headersList.set("sec-fetch-mode",b,!0)},appendRequestOriginHeader:function(a){let b=a.origin;if("client"!==b&&void 0!==b){if("cors"===a.responseTainting||"websocket"===a.mode)a.headersList.append("origin",b,!0);else if("GET"!==a.method&&"HEAD"!==a.method){switch(a.referrerPolicy){case"no-referrer":b=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":a.origin&&K(a.origin)&&!K(x(a))&&(b=null);break;case"same-origin":F(a,x(a))||(b=null)}a.headersList.append("origin",b,!0)}}},TAOCheck:function(){return"success"},corsCheck:function(){return"success"},crossOriginResourcePolicyCheck:function(){return"allowed"},createOpaqueTimingInfo:function(a){return{startTime:a.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:a.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}},setRequestReferrerPolicyOnRedirect:function(a,b){let c=function(a){let b=(a.headersList.get("referrer-policy",!0)??"").split(","),c="";if(b.length)for(let a=b.length;0!==a;a--){let d=b[a-1].trim();if(g.has(d)){c=d;break}}return c}(b);""!==c&&(a.referrerPolicy=c)},isValidHTTPToken:n,requestBadPort:function(a){let b=x(a);return L(b)&&h.has(b.port)?"blocked":"allowed"},requestCurrentURL:x,responseURL:v,responseLocationURL:function(a,b){var c;if(!f.has(a.status))return null;let d=a.headersList.get("location",!0);return null!==d&&y(d)&&(w(d)||(c=d,d=Buffer.from(c,"binary").toString("utf8")),d=new URL(d,v(a))),d&&!d.hash&&(d.hash=b),d},isURLPotentiallyTrustworthy:E,isValidReasonPhrase:function(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(!(9===c||c>=32&&c<=126||c>=128&&c<=255))return!1}return!0},sameOrigin:F,normalizeMethod:function(a){return o[a.toLowerCase()]??a},iteratorMixin:function(a,b,c,d=0,e=1){let f=H(a,c,d,e),g={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(c,d=globalThis){if(r.brandCheck(this,b),r.argumentLengthCheck(arguments,1,`${a}.forEach`),"function"!=typeof c)throw TypeError(`Failed to execute 'forEach' on '${a}': parameter 1 is not of type 'Function'.`);for(let{0:a,1:b}of f(this,"key+value"))c.call(d,b,a,this)}}};return Object.defineProperties(b.prototype,{...g,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:g.entries.value}})},createIterator:H,isValidHeaderName:n,isValidHeaderValue:y,isErrorLike:function(a){return a instanceof Error||a?.constructor?.name==="Error"||a?.constructor?.name==="DOMException"},fullyReadBody:function(a,b,c){try{let d=a.stream.getReader();I(d,b,c)}catch(a){c(a)}},readableStreamClose:function(a){try{a.close(),a.byobRequest?.respond(0)}catch(a){if(!a.message.includes("Controller is already closed")&&!a.message.includes("ReadableStream is already closed"))throw a}},urlIsLocal:J,urlHasHttpsScheme:K,urlIsHttpHttpsScheme:L,readAllBytes:I,simpleRangeHeaderValue:function(a,b){if(!a.startsWith("bytes"))return"failure";let c={position:5};if(b&&t(a=>" "===a||" "===a,a,c),61!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let d=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),e=d.length?Number(d):null;if(b&&t(a=>" "===a||" "===a,a,c),45!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let f=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),g=f.length?Number(f):null;return c.position<a.length||null===g&&null===e||null!==e&&null!==g&&e>g?"failure":{rangeStartValue:e,rangeEndValue:g}},buildContentRange:function(a,b,c){let d="bytes ";return d+=s(`${a}`),d+="-",d+=s(`${b}`),d+="/",d+=s(`${c}`)},createInflate:function(a){return new M(a)},extractMimeType:function(a){let b=null,c=null,d=null,e=N("content-type",a);if(null===e)return"failure";for(let a of e){let e=k(a);"failure"!==e&&"*/*"!==e.essence&&((d=e).essence!==c?(b=null,d.parameters.has("charset")&&(b=d.parameters.get("charset")),c=d.essence):d.parameters.has("charset")||null===b||d.parameters.set("charset",b))}return null==d?"failure":d},getDecodeSplit:N,environmentSettingsObject:new P,isOriginIPPotentiallyTrustworthy:D,hasAuthenticationEntry:function(a){return!1},includesCredentials:function(a){return!!(a.username||a.password)},isTraversableNavigable:function(a){return null!=a&&"client"!==a&&"no-traversable"!==a}}},42430:(a,b,c)=>{"use strict";let{addAbortListener:d}=c(78474),{environmentSettingsObject:e,readableStreamClose:f}=c(42425),{states:g,opcodes:h,sentCloseFrameState:i}=c(62026),{webidl:j}=c(32984),{getURLRecord:k,isValidSubprotocol:l,isEstablished:m,utf8Decode:n}=c(94050),{establishWebSocketConnection:o,failWebsocketConnection:p,closeWebSocketConnection:q}=c(4654),{channels:r}=c(62571),{WebsocketFrameSend:s}=c(45221),{ByteParser:t}=c(64821),{WebSocketError:u,createUnvalidatedWebSocketError:v}=c(87404),{kEnumerableProperty:w}=c(84285),{utf8DecodeBytes:x}=c(67449),y=!1;class z{#ar;#as;#at;#au;#av;#aw;#ax=!1;#ay={onConnectionEstablished:(a,b)=>this.#az(a,b),onMessage:(a,b)=>this.#aA(a,b),onParserError:a=>p(this.#ay,null,a.message),onParserDrain:()=>this.#ay.socket.resume(),onSocketData:a=>{this.#aB.write(a)||this.#ay.socket.pause()},onSocketError:a=>{this.#ay.readyState=g.CLOSING,r.socketError.hasSubscribers&&r.socketError.publish(a),this.#ay.socket.destroy()},onSocketClose:()=>this.#aC(),onPing:()=>{},onPong:()=>{},readyState:g.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#aB;constructor(a,b){y||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),y=!0),j.argumentLengthCheck(arguments,1,"WebSocket"),a=j.converters.USVString(a),null!==b&&(b=j.converters.WebSocketStreamOptions(b));const c=k(a,e.settingsObject.baseUrl),f=b.protocols;if(f.length!==new Set(f.map(a=>a.toLowerCase())).size||f.length>0&&!f.every(a=>l(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#ar=c.toString(),this.#as=Promise.withResolvers(),this.#at=Promise.withResolvers(),null!=b.signal){const a=b.signal;if(a.aborted){this.#as.reject(a.reason),this.#at.reject(a.reason);return}d(a,()=>{m(this.#ay.readyState)||(p(this.#ay),this.#ay.readyState=g.CLOSING,this.#as.reject(a.reason),this.#at.reject(a.reason),this.#ax=!0)})}const h=e.settingsObject;this.#ay.controller=o(c,f,h,this.#ay,b)}get url(){return this.#ar.toString()}get opened(){return this.#as.promise}get closed(){return this.#at.promise}close(a){null!==a&&(a=j.converters.WebSocketCloseInfo(a));let b=a.closeCode??null,c=a.reason;q(this.#ay,b,c,!0)}#aD(a){a=j.converters.WebSocketStreamWrite(a);let b=Promise.withResolvers(),c=null,d=null;if(j.is.BufferSource(a))c=new Uint8Array(ArrayBuffer.isView(a)?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):a.slice()),d=h.BINARY;else{let e;try{e=j.converters.DOMString(a)}catch(a){return b.reject(a),b.promise}c=new TextEncoder().encode(e),d=h.TEXT}if(!this.#ay.closeState.has(i.SENT)&&!this.#ay.closeState.has(i.RECEIVED)){let a=new s(c);this.#ay.socket.write(a.createFrame(d),()=>{b.resolve(void 0)})}return b.promise}#az(a,b){this.#ay.socket=a.socket;let c=this.#ay.controller.dispatcher?.webSocketOptions?.maxFragments,d=this.#ay.controller.dispatcher?.webSocketOptions?.maxPayloadSize,e=new t(this.#ay,b,{maxFragments:c,maxPayloadSize:d});e.on("drain",()=>this.#ay.onParserDrain()),e.on("error",a=>this.#ay.onParserError(a)),this.#aB=e,this.#ay.readyState=g.OPEN;let f=b??"",h=a.headersList.get("sec-websocket-protocol")??"",i=new ReadableStream({start:a=>{this.#av=a},cancel:a=>this.#aE(a)}),j=new WritableStream({write:a=>this.#aD(a),close:()=>q(this.#ay,null,null),abort:a=>this.#aF(a)});this.#au=i,this.#aw=j,this.#as.resolve({extensions:f,protocol:h,readable:i,writable:j})}#aA(a,b){let c;if(this.#ay.readyState===g.OPEN){if(a===h.TEXT)try{c=n(b)}catch{p(this.#ay,1007,"Received invalid UTF-8 in text frame.");return}else a===h.BINARY&&(c=new Uint8Array(b.buffer,b.byteOffset,b.byteLength));this.#av.enqueue(c)}}#aC(){let a=this.#ay.closeState.has(i.SENT)&&this.#ay.closeState.has(i.RECEIVED);if(this.#ay.readyState=g.CLOSED,this.#ax)return;this.#ay.wasEverConnected||this.#as.reject(new u("Socket never opened"));let b=this.#aB?.closingInfo,c=b?.code??1005;this.#ay.closeState.has(i.SENT)||this.#ay.closeState.has(i.RECEIVED)||(c=1006);let d=b?.reason==null?"":x(Buffer.from(b.reason));if(a)f(this.#av),this.#aw.locked||this.#aw.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#at.resolve({closeCode:c,reason:d});else{let a=v("unclean close",c,d);this.#av?.error(a),this.#aw?.abort(a),this.#at.reject(a)}}#aF(a){let b=null,c="";j.is.WebSocketError(a)&&(b=a.closeCode,c=a.reason),q(this.#ay,b,c)}#aE(a){this.#aF(a)}}Object.defineProperties(z.prototype,{url:w,opened:w,closed:w,close:w,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}}),j.converters.WebSocketStreamOptions=j.dictionaryConverter([{key:"protocols",converter:j.sequenceConverter(j.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:j.nullableConverter(j.converters.AbortSignal),defaultValue:()=>null}]),j.converters.WebSocketCloseInfo=j.dictionaryConverter([{key:"closeCode",converter:a=>j.converters["unsigned short"](a,j.attributes.EnforceRange)},{key:"reason",converter:j.converters.USVString,defaultValue:()=>""}]),j.converters.WebSocketStreamWrite=function(a){return"string"==typeof a?j.converters.USVString(a):j.converters.BufferSource(a)},a.exports={WebSocketStream:z}},42541:(a,b,c)=>{"use strict";c.d(b,{h:()=>d});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"}},42671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToAntigravityRequest:()=>I,openaiToGeminiCLIRequest:()=>F,openaiToGeminiRequest:()=>D});var d=c(70556),e=c(42541),f=c(65556),g=c(15822),h=c(13324),i=c(93745),j=c(22067);function k(a,b){if("string"!=typeof a||"string"!=typeof b)return!1;let c=a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*");return RegExp(`^${c}$`,"i").test(b)}let l={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},m={"claude-opus-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"kimi-k3":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},k3:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},"kimi-for-coding":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-for-coding-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},n={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},o={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:372e3,maxOutput:128e3},p={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},q={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},codex:{"gpt-5.6-sol":o,"gpt-5.6-sol-review":o,"gpt-5.6-terra":p,"gpt-5.6-terra-review":p,"gpt-5.6-luna":p,"gpt-5.6-luna-review":p},kiro:{"gpt-5.6-sol":n,"gpt-5.6-terra":n,"gpt-5.6-luna":n,"gpt-5.6-sol-thinking":n,"gpt-5.6-terra-thinking":n,"gpt-5.6-luna-thinking":n,"gpt-5.6-sol-agentic":n,"gpt-5.6-terra-agentic":n,"gpt-5.6-luna-agentic":n,"gpt-5.6-sol-thinking-agentic":n,"gpt-5.6-terra-thinking-agentic":n,"gpt-5.6-luna-thinking-agentic":n},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},hy3:{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"hy4-preview":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"glm-5.3":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"glm-5.3-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"kimi-k3-1":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:32e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4.1-flash":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4}},poolside:{"laguna-s-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3},"laguna-xs-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}}},r=[{pattern:"*claude*opus-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4.5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:64e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k3*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072}},{pattern:"*kimi*for-coding*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*laguna-s-2.1*free*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*laguna-s-2.1*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3}},{pattern:"*laguna*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function s(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.modalities?.input)?a.modalities.input:[],c=Array.isArray(a.modalities?.output)?a.modalities.output:[],d=Number(a.contextWindow??a.contextLength??a.maxInputTokens??a.limit?.context),e=Number(a.maxOutput??a.maxOutputTokens??a.limit?.output),f={...b.includes("image")?{vision:!0}:{},...b.includes("pdf")?{pdf:!0}:{},...b.includes("audio")?{audioInput:!0}:{},...b.includes("video")?{videoInput:!0}:{},...c.includes("image")?{imageOutput:!0}:{},...c.includes("audio")?{audioOutput:!0}:{}};return"boolean"==typeof a.reasoning&&(f.reasoning=a.reasoning),"boolean"==typeof a.tool_call&&(f.tools=a.tool_call),"boolean"==typeof a.tools&&(f.tools=a.tools),Number.isSafeInteger(d)&&d>0&&(f.contextWindow=d),Number.isSafeInteger(e)&&e>0&&(f.maxOutput=e),f}function t(a,b,c=null){if(!b)return{...l};let d=b.includes("/")?b.split("/").pop():b;if(a){let e=q[a];if(e?.[b])return{...l,...e[b],...s(c)};if(e?.[d])return{...l,...e[d],...s(c)}}if(m[d])return{...l,...m[d],...s(c)};if(m[b])return{...l,...m[b],...s(c)};for(let{pattern:a,caps:e}of r)if(k(a,d)||k(a,b))return{...l,...e,...s(c)};return{...l,...s(c)}}function u(){return crypto.randomUUID()}function v(a){return(0,i.E9)(a?._clientSessionId)||(0,j.a0)(a)}function w(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}let x=/^[a-zA-Z_][a-zA-Z0-9_.:\-]{0,63}$/,y=/^[a-zA-Z_][a-zA-Z0-9_\-]{0,63}$/;function z(a){return a?.type==="function"&&a.function?a.function.name:a?.name}function A(a){return w(a).replace(/[.:]/g,"_")}function B(a){let b=[];for(let c of a||[]){if(!c?.role||!Array.isArray(c.parts)||0===c.parts.length)continue;let a=b.at(-1);a?.role===c.role?a.parts.push(...c.parts):b.push({...c,parts:[...c.parts]})}return b.at(-1)?.role==="model"&&b.push({role:"user",parts:[{text:"Please continue."}]}),b}function C(a,b,c,d=f.bf){let e={model:a,contents:[],generationConfig:{},safetySettings:h.fc};void 0!==b.temperature&&(e.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(e.generationConfig.topP=b.top_p),void 0!==b.top_k&&(e.generationConfig.topK=b.top_k);let g=b.max_output_tokens??b.max_completion_tokens??b.max_tokens;void 0!==g&&(e.generationConfig.maxOutputTokens=g);let i={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)"function"===b.type&&b.id&&b.function?.name&&(i[b.id]=b.function.name)}let j={};if(b.messages&&Array.isArray(b.messages))for(let a of b.messages)"tool"===a.role&&a.tool_call_id&&(j[a.tool_call_id]=a.content);if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=b.messages[a],f=c.role,g=c.content;if("system"===f&&b.messages.length>1){let a="string"==typeof g?g:(0,h.kU)(g);a&&(e.systemInstruction||(e.systemInstruction={role:"user",parts:[]}),e.systemInstruction.parts.push({text:a}))}else if("user"===f||"system"===f&&1===b.messages.length){let a=(0,h.S6)(g);a.length>0&&e.contents.push({role:"user",parts:a})}else if("assistant"===f){let a=[];if(c.reasoning_content&&(a.push({thought:!0,text:c.reasoning_content}),a.push({thoughtSignature:d,text:""})),g){let b="string"==typeof g?g:(0,h.kU)(g);b&&a.push({text:b})}if(c.tool_calls&&Array.isArray(c.tool_calls)){let b=[];for(let e of c.tool_calls){if("function"!==e.type)continue;let c=(0,h.pT)(e.function?.arguments||"{}");a.push({thoughtSignature:d,functionCall:{id:e.id,name:w(e.function.name),args:c}}),b.push(e.id)}if(a.length>0&&e.contents.push({role:"model",parts:a}),b.some(a=>j[a])){let a=[];for(let c of b){if(!j[c])continue;let b=i[c];if(!b){let a=c.split("-");b=a.length>2?a.slice(0,-2).join("-"):c}let d=j[c],e=(0,h.pT)(d);null===e?e={result:d}:"object"!=typeof e&&(e={result:e}),a.push({functionResponse:{id:c,name:w(b),response:{result:e}}})}a.length>0&&e.contents.push({role:"user",parts:a})}}else a.length>0&&e.contents.push({role:"model",parts:a})}}if(b.tools&&Array.isArray(b.tools)&&b.tools.length>0){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,h.Yr)(structuredClone(c.input_schema||{type:"object",properties:{}}));a.push({name:w(c.name),description:c.description||"",parameters:b})}else if("function"===c.type&&c.function){let b=c.function,d=(0,h.Yr)(structuredClone(b.parameters||{type:"object",properties:{}}));a.push({name:w(b.name),description:b.description||"",parameters:d})}a.length>0&&(e.tools=[{functionDeclarations:a}])}return e.contents=B(e.contents),e}function D(a,b,c){return C(a,b,c)}let E={minimal:4096,low:8192,medium:16384,high:65535};function F(a,b,c,d=!0){let e=C(a,b,c,f.$G),g=t("gemini-cli",a);if(d&&b.reasoning_effort){let c=String(b.reasoning_effort).toLowerCase();if(/gemini-3/i.test(a)){e.generationConfig.thinkingConfig={thinkingLevel:c,includeThoughts:!0};let a="high"===c?g.maxOutput:"medium"===c?Math.min(g.maxOutput,32768):Math.min(g.maxOutput,16384);e.generationConfig.maxOutputTokens=Math.max(Number(e.generationConfig.maxOutputTokens)||0,a)}else e.generationConfig.thinkingConfig={thinkingBudget:({none:0,low:1024,medium:8192,high:24576})[c]??8192,includeThoughts:!0}}if(d&&b.thinking?.type==="enabled"&&b.thinking.budget_tokens&&(e.generationConfig.thinkingConfig={thinkingBudget:b.thinking.budget_tokens,includeThoughts:!0}),e.tools?.[0]?.functionDeclarations){for(let a of e.tools[0].functionDeclarations)if(a.parameters){let b=(0,h.Yr)(a.parameters);a.parameters=b}}return e}function G(a,b,c=null,d=!1){let e={project:c?.projectId||c?.providerSpecificData?.projectId||(0,h.w_)(),model:a,userAgent:d?"antigravity":"gemini-cli",requestId:d?`agent-${u()}`:(0,h.KZ)(),request:{sessionId:d?v(c):(0,h.f6)(),contents:b.contents,systemInstruction:b.systemInstruction,generationConfig:b.generationConfig,tools:b.tools}};return d?(e.requestType="agent",e.request.systemInstruction?.parts&&(e.request.systemInstruction={parts:e.request.systemInstruction.parts})):e.request.safetySettings=b.safetySettings,b.tools?.length>0&&(e.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}}),e}function H(a){return a.toLowerCase().includes("claude")}function I(a,b,c,d=null){let e,f=function(a,b){let c=structuredClone(b),{forward:d,reverse:e}=function(a,b){let c=H(b),d=c?y:x,e=c?A:w,f=(a||[]).map(z).filter(a=>"string"==typeof a&&a.length>0),g=new Set(f.filter(a=>d.test(a))),h=new Map,i=new Map;for(let a of f){if(h.has(a))continue;let b=d.test(a)?a:function(a,b,c=w){let d=c(a);if(!b.has(d))return b.add(d),d;for(let a=2;;a++){let c=`_${a}`,e=`${d.slice(0,64-c.length)}${c}`;if(!b.has(e))return b.add(e),e}}(a,g,e);h.set(a,b),b!==a&&i.set(b,a)}return{forward:h,reverse:i}}(c.tools,a);if(0===d.size)return{body:c,reverse:e};let f=a=>d.get(a)||a;return c.tools=c.tools.map(a=>a?.type==="function"&&a.function?{...a,function:{...a.function,name:f(a.function.name)}}:a?.name?{...a,name:f(a.name)}:a),Array.isArray(c.messages)&&(c.messages=c.messages.map(a=>{let b=a;return Array.isArray(a.tool_calls)&&(b={...b,tool_calls:a.tool_calls.map(a=>a?.function?{...a,function:{...a.function,name:f(a.function.name)}}:a)}),Array.isArray(a.content)&&(b={...b,content:a.content.map(a=>a?.type==="tool_use"&&a.name?{...a,name:f(a.name)}:a)}),b})),c.tool_choice?.type==="function"&&c.tool_choice.function?.name?c.tool_choice={...c.tool_choice,function:{...c.tool_choice.function,name:f(c.tool_choice.function.name)}}:c.tool_choice?.type==="tool"&&c.tool_choice.name&&(c.tool_choice={...c.tool_choice,name:f(c.tool_choice.name)}),{body:c,reverse:e}}(a,b);if(H(a)){let b=(0,g.openaiToClaudeRequestForAntigravity)(a,f.body,c);e=function(a,b,c=null){let d={project:c?.projectId||c?.providerSpecificData?.projectId||(0,h.w_)(),model:a,userAgent:"antigravity",requestId:`agent-${u()}`,requestType:"agent",request:{sessionId:v(c),contents:[],generationConfig:{temperature:b.temperature||1,maxOutputTokens:b.max_tokens||4096}}},e={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if(Array.isArray(a.content))for(let b of a.content)"tool_use"===b.type&&b.id&&b.name&&(e[b.id]=b.name)}if(b.messages&&Array.isArray(b.messages))for(let a of b.messages){let b=[];if(Array.isArray(a.content)){for(let c of a.content)if("text"===c.type)b.push({text:c.text});else if("tool_use"===c.type)b.push({functionCall:{id:c.id,name:w(c.name),args:c.input||{}}});else if("tool_result"===c.type){let a=c.content;Array.isArray(a)&&(a=a.map(a=>"text"===a.type?a.text:JSON.stringify(a)).join("\n"));let d=e[c.tool_use_id]?w(e[c.tool_use_id]):"tool";b.push({functionResponse:{id:c.tool_use_id,name:d,response:{result:(0,h.pT)(a)||a}}})}}else"string"==typeof a.content&&b.push({text:a.content});b.length>0&&d.request.contents.push({role:"assistant"===a.role?"model":"user",parts:b})}if(b.tools&&Array.isArray(b.tools)){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,h.Yr)(c.input_schema);a.push({name:w(c.name),description:c.description||"",parameters:b})}if(a.length>0){let c=b.tool_choice,e=c?.type==="tool"&&c.name?a.filter(a=>a.name===c.name):a;d.request.tools=[{functionDeclarations:e}];let f=c?.type==="none"?{mode:"NONE"}:c?.type==="any"?{mode:"ANY"}:c?.type==="tool"&&c.name?{mode:"ANY",allowedFunctionNames:[c.name]}:{mode:"VALIDATED"};d.request.toolConfig={functionCallingConfig:f}}}let f=[];if(b.system)if(Array.isArray(b.system))for(let a of b.system)a.text&&f.push({text:a.text});else"string"==typeof b.system&&f.push({text:b.system});return f.length>0&&(d.request.systemInstruction={parts:f}),d.request.contents=B(d.request.contents),d}(a,b,d)}else{let b=F(a,f.body,c,!1);!function(a,b,c){let d=t("antigravity",a);if(b.reasoning_effort){let e=String(b.reasoning_effort).toLowerCase();if(/gemini-3/i.test(a)){let a,b="none"===(a=String(e).toLowerCase().trim())||"off"===a?"minimal":"xhigh"===a||"max"===a||"auto"===a?"high":a;c.generationConfig.thinkingConfig={thinkingLevel:b,includeThoughts:"minimal"!==b};let f=E[b]||E.high;c.generationConfig.maxOutputTokens=Math.max(Number(c.generationConfig.maxOutputTokens)||0,Math.min(f,d.maxOutput))}else c.generationConfig.thinkingConfig={thinkingBudget:({none:0,low:1024,medium:8192,high:24576})[e]??8192,includeThoughts:!0}}b.thinking?.type==="enabled"&&b.thinking.budget_tokens&&(c.generationConfig.thinkingConfig={thinkingBudget:b.thinking.budget_tokens,includeThoughts:!0})}(a,f.body,b),e=G(a,b,d,!0)}return f.reverse.size>0&&(e._toolNameMap=f.reverse),e}(0,d.kz)(e.h.OPENAI,e.h.GEMINI,D,null),(0,d.kz)(e.h.OPENAI,e.h.GEMINI_CLI,(a,b,c,d)=>G(a,F(a,b,c),d),null),(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,I,null)},42946:(a,b,c)=>{"use strict";c.d(b,{Az:()=>f,fO:()=>h});var d=c(55511),e=c(48991);function f(a){let b=a.tools;if(!b||0===b.length)return{body:a,toolNameMap:null};let c=a=>`${a}${e.uR}`,d=new Map,f=new Set,h=[];for(let a of b){let b=c(a.name);d.set(b,a.name),f.add(a.name),h.push({...a,name:b})}let i=[...h,...g],j=a.messages?.map(a=>{if(!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type?{...a,name:c(a.name)}:a);return{...a,content:b}}),k={...a,tools:i,messages:j||a.messages};return a.tool_choice?.type==="tool"&&f.has(a.tool_choice.name)&&(k.tool_choice={...a.tool_choice,name:c(a.tool_choice.name)}),{body:k,toolNameMap:d.size>0?d:null}}let g=[{name:"Task",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskOutput",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskStop",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskCreate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskGet",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskUpdate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskList",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Bash",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Glob",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Grep",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Read",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Edit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Write",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"NotebookEdit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebFetch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebSearch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"AskUserQuestion",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Skill",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"EnterPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"ExitPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}}];function h(a,b,c){let e,f,g,h,i,j;if(!b||!b.includes("sk-ant-oat"))return a;let k={...a},l={type:"text",text:(e=JSON.stringify(a),f=(0,d.createHash)("sha256").update(e).digest("hex").slice(0,5),g=(0,d.randomBytes)(2).toString("hex").slice(0,3),`x-anthropic-billing-header: cc_version=2.1.92.${g}; cc_entrypoint=sdk-cli; cch=${f};`)};return Array.isArray(k.system)?k.system[0]?.text?.startsWith("x-anthropic-billing-header:")||(k.system=[l,...k.system]):"string"==typeof k.system?k.system=[l,{type:"text",text:k.system}]:k.system=[l],k.metadata?.user_id||(k.metadata={...k.metadata,user_id:(h=(0,d.randomBytes)(32).toString("hex"),i=(0,d.randomUUID)(),j=c||(0,d.randomUUID)(),`{"device_id":"${h}","account_uuid":"${i}","session_id":"${j}"}`)}),k}},43086:(a,b,c)=>{"use strict";let d=c(5318),{kClose:e,kDestroy:f,kClosed:g,kDestroyed:h,kDispatch:i,kNoProxyAgent:j,kHttpProxyAgent:k,kHttpsProxyAgent:l}=c(49176),m=c(48841),n=c(37417),o={"http:":80,"https:":443};class p extends d{#aG=null;#aH=null;#D=null;constructor(a={}){super(),this.#D=a;const{httpProxy:b,httpsProxy:c,noProxy:d,...e}=a;this[j]=new n(e);const f=b??process.env.http_proxy??process.env.HTTP_PROXY;f?this[k]=new m({...e,uri:f}):this[k]=this[j];const g=c??process.env.https_proxy??process.env.HTTPS_PROXY;g?this[l]=new m({...e,uri:g}):this[l]=this[k],this.#aI()}[i](a,b){let c=new URL(a.origin);return this.#aJ(c).dispatch(a,b)}[e](){return Promise.all([this[j].close(),!this[k][g]&&this[k].close(),!this[l][g]&&this[l].close()])}[f](a){return Promise.all([this[j].destroy(a),!this[k][h]&&this[k].destroy(a),!this[l][h]&&this[l].destroy(a)])}#aJ(a){let{protocol:b,host:c,port:d}=a;return(c=c.replace(/:\d*$/,"").replace(/^\[(.+)\]$/,"$1").toLowerCase(),d=Number.parseInt(d,10)||o[b]||0,this.#aK(c,d))?"https:"===b?this[l]:this[k]:this[j]}#aK(a,b){if(this.#aL&&this.#aI(),0===this.#aH.length)return!0;if("*"===this.#aG)return!1;for(let c=0;c<this.#aH.length;c++){let d=this.#aH[c];if((!d.port||d.port===b)&&(a===d.hostname||a.slice(-(d.hostname.length+1))===`.${d.hostname}`))return!1}return!0}#aI(){let a=this.#D.noProxy??this.#aM,b=a.split(/[,\s]/),c=[];for(let a=0;a<b.length;a++){let d,e,f=b[a];if(!f)continue;let g=f.match(/^\[(.+)\]:(\d+)$/);if(g)d=g[1],e=Number.parseInt(g[2],10);else{let a=f.replace(/^\[(.+)\]$/,"$1"),b=1===(a.match(/:/g)||[]).length&&a.match(/^(.+):(\d+)$/);d=b?b[1]:a,e=b?Number.parseInt(b[2],10):0}c.push({hostname:d.replace(/^\*?\./,"").toLowerCase(),port:e})}this.#aG=a,this.#aH=c}get #aL(){return void 0===this.#D.noProxy&&this.#aG!==this.#aM}get #aM(){return process.env.no_proxy??process.env.NO_PROXY??""}}a.exports=p},43212:(a,b,c)=>{"use strict";c(70556),c(42541),c(90943),c(51525),c(84238),c(92843),c(64323),new TextEncoder},43469:(a,b,c)=>{"use strict";c.d(b,{buildClineHeaders:()=>f,resolveClineCredential:()=>e});let d=c(90053).rE||"0.0.0";function e(a){let b="string"==typeof a?.apiKey?a.apiKey.trim():"";return b?{token:b,isApiKey:!0}:{token:a?.accessToken,isApiKey:!1}}function f(a,b={},c={}){let e=function(a,b={}){let c=function(a,{isApiKey:b=!1}={}){if("string"!=typeof a)return"";let c=a.trim();return c?b||c.startsWith("workos:")?c:`workos:${c}`:""}(a,b);return c?`Bearer ${c}`:""}(a,c),g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`ZevaiRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"zevairouter","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return e&&(g.Authorization=e),g}},43904:(a,b,c)=>{"use strict";let{kMockCallHistoryAddLog:d}=c(80830),{InvalidArgumentError:e}=c(61448);function f(a,b,c,d,f){switch(b.operator){case"OR":return d.push(...c(a,f)),d;case"AND":return c(a,d);default:throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function g(a){return(b,c=this.logs)=>{if("string"==typeof b||null==b)return c.filter(c=>c[a]===b);if(b instanceof RegExp)return c.filter(c=>b.test(c[a]));throw new e(`${a} parameter should be one of string, regexp, undefined or null`)}}class h{constructor(a={}){this.body=a.body,this.headers=a.headers,this.method=a.method;const b=function(a){try{let b=new URL(a.path,a.origin);if(0!==b.search.length)return b;return b.search=new URLSearchParams(a.query).toString(),b}catch(a){throw new e("An error occurred when computing MockCallHistoryLog.url",{cause:a})}}(a);this.fullUrl=b.toString(),this.origin=b.origin,this.path=b.pathname,this.searchParams=Object.fromEntries(b.searchParams),this.protocol=b.protocol,this.host=b.host,this.port=b.port,this.hash=b.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let a="";return this.toMap().forEach((b,c)=>{("string"==typeof b||null==b)&&(a=`${a}${c}->${b}|`),("object"==typeof b&&null!==b||Array.isArray(b))&&(a=`${a}${c}->${JSON.stringify(b)}|`)}),a.slice(0,-1)}}class i{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(a){if("number"!=typeof a)throw new e("nthCall must be called with a number");if(!Number.isInteger(a))throw new e("nthCall must be called with an integer");if(1!==Math.sign(a))throw new e("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(a-1)}filterCalls(a,b){if(0===this.logs.length)return this.logs;if("function"==typeof a)return this.logs.filter(a);if(a instanceof RegExp)return this.logs.filter(b=>a.test(b.toString()));if("object"==typeof a&&null!==a){if(0===Object.keys(a).length)return this.logs;let c={operator:"OR",...function(a={}){let b={};if("operator"in a){if("string"!=typeof a.operator||"OR"!==a.operator.toUpperCase()&&"AND"!==a.operator.toUpperCase())throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...b,operator:a.operator.toUpperCase()}}return b}(b)},d="AND"===c.operator?this.logs:[];return"protocol"in a&&(d=f(a.protocol,c,this.filterCallsByProtocol,d,this.logs)),"host"in a&&(d=f(a.host,c,this.filterCallsByHost,d,this.logs)),"port"in a&&(d=f(a.port,c,this.filterCallsByPort,d,this.logs)),"origin"in a&&(d=f(a.origin,c,this.filterCallsByOrigin,d,this.logs)),"path"in a&&(d=f(a.path,c,this.filterCallsByPath,d,this.logs)),"hash"in a&&(d=f(a.hash,c,this.filterCallsByHash,d,this.logs)),"fullUrl"in a&&(d=f(a.fullUrl,c,this.filterCallsByFullUrl,d,this.logs)),"method"in a&&(d=f(a.method,c,this.filterCallsByMethod,d,this.logs)),[...new Set(d)]}throw new e("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=g.call(this,"protocol");filterCallsByHost=g.call(this,"host");filterCallsByPort=g.call(this,"port");filterCallsByOrigin=g.call(this,"origin");filterCallsByPath=g.call(this,"path");filterCallsByHash=g.call(this,"hash");filterCallsByFullUrl=g.call(this,"fullUrl");filterCallsByMethod=g.call(this,"method");clear(){this.logs=[]}[d](a){let b=new h(a);return this.logs.push(b),b}*[Symbol.iterator](){for(let a of this.calls())yield a}}a.exports.MockCallHistory=i,a.exports.MockCallHistoryLog=h},44089:(a,b,c)=>{"use strict";c(94026),c(15822),c(70884)},44991:(a,b,c)=>{"use strict";c.d(b,{D:()=>f});var d=c(66678),e=c(30395);class f extends d.L{constructor(){super("ollama-local")}buildUrl(a,b,c=0,d=null){return`${(0,e.Ak)(d)}/api/chat`}}},45221:(a,b,c)=>{"use strict";let{runtimeFeatures:d}=c(56758),{maxUnsigned16Bit:e,opcodes:f}=c(62026),g=null,h=8192,i=d.has("crypto")?c(77598).randomFillSync:null;function j(){return 8192===h&&(h=0,i(g??=Buffer.allocUnsafeSlow(8192),0,8192)),[g[h++],g[h++],g[h++],g[h++]]}class k{constructor(a){this.frameData=a}createFrame(a){let b=this.frameData,c=j(),d=b?.byteLength??0,f=d,g=6;d>e?(g+=8,f=127):d>125&&(g+=2,f=126);let h=Buffer.allocUnsafe(d+g);h[0]=h[1]=0,h[0]|=128,h[0]=(240&h[0])+a,h[g-4]=c[0],h[g-3]=c[1],h[g-2]=c[2],h[g-1]=c[3],h[1]=f,126===f?h.writeUInt16BE(d,2):127===f&&(h[2]=h[3]=0,h.writeUIntBE(d,4,6)),h[1]|=128;for(let a=0;a<d;++a)h[g+a]=b[a]^c[3&a];return h}static createFastTextFrame(a){let b=j(),c=a.length;for(let d=0;d<c;++d)a[d]^=b[3&d];let d=c,g=6;c>e?(g+=8,d=127):c>125&&(g+=2,d=126);let h=Buffer.allocUnsafeSlow(g);return h[0]=128|f.TEXT,h[1]=128|d,h[g-4]=b[0],h[g-3]=b[1],h[g-2]=b[2],h[g-1]=b[3],126===d?h.writeUInt16BE(c,2):127===d&&(h[2]=h[3]=0,h.writeUIntBE(c,4,6)),[h,a]}}a.exports={WebsocketFrameSend:k,generateMask:j}},45874:(a,b,c)=>{"use strict";c.d(b,{Xx:()=>j,exportSettings:()=>k,getSettings:()=>i});var d=c(24081),e=c(50743);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},capacityAdapter:{vision:{enabled:!1,roundRobin:!1,models:[]},pdf:{enabled:!1,roundRobin:!1,models:[]},audioInput:{enabled:!1,roundRobin:!1,models:[]},videoInput:{enabled:!1,roundRobin:!1,models:[]}},responseCacheEnabled:!1,requireLogin:!0,tunnelDashboardAccess:!0,authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",ssoType:"oidc",samlEntryPoint:"",samlIssuer:"urn:zevairouter:sp",samlCert:"",samlLoginLabel:"Sign in with SAML SSO",samlAttributeEmail:"email",samlAttributeName:"name",enableObservability:!0,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:1997",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:"http://localhost:8787",headroomCompressUserMessages:!1,headroomCodeAware:!1,headroomKompress:!0,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!0,pxpipeMinChars:25e3,pxpipeTimeoutMs:15e3,contextInjectionEnabled:!1,v11Flags:{kiroIntegrity:!1,outboundPolicy:!1,compatV11:!1,refreshLanes:!1,adaptiveShadow:!1,adaptiveRoute:!1,registryV2:!1,quotaStreamV2:!1},trustedOutboundTargets:[],fiveSimApiKey:""};async function g(){let a=(await (0,d.cK)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}function h(a){let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function i(){return h(await g())}async function j(a){let b,c=await (0,d.cK)();return c.transaction(()=>{let d=c.get("SELECT data FROM settings WHERE id = 1");b={...d?(0,e.q)(d.data,{}):{},...a},c.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(b)])}),h(b)}async function k(){return await g()}},46455:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{NS:()=>A,dg:()=>C,qX:()=>z});var e=c(5210),f=c(70321),g=c(68753),h=c(65333),i=c(87164),j=c(79154),k=c(63993),l=c(23740),m=c(39817),n=a([e,h]);[e,h]=n.then?(await n)():n;let D=["expired","authentication","unauthorized","401","re-authorize"],E=globalThis._quotaUsageInflight??=new Map,F=new Map;function o(a,b=Date.now()){let c=F.get(a.id),d=c?.refreshToken===a.refreshToken?(c.failures||0)+1:1,e=Math.min(216e5,3e5*2**(d-1));F.set(a.id,{failures:d,retryAt:b+e,refreshToken:a.refreshToken})}function p(a){F.delete(a.id)}function q(a){return a?.provider==="codex"&&!!a.providerSpecificData?.codexRefreshBlockedAt||a?.failureClass==="reauth_required"||!!a?.quarantinedAt}function r(a){return!!a?.accessToken&&!function(a,b=Date.now()){let c=(0,j.Dz)(a);return null!==c&&c<=b}(a)}function s(a){if("codex"===a)return"Codex";let b=String(a||"provider");return b.charAt(0).toUpperCase()+b.slice(1)}function t(a){return`${s(a)} refresh token rejected; reconnect this account.`}function u(a){return String(a?.code||"invalid_refresh_token").replace(/[^a-zA-Z0-9_.:-]/g,"_").slice(0,120)||"invalid_refresh_token"}async function v(a,b){let c=new Date().toISOString(),d=u(b),e={lastError:t(a.provider),lastErrorAt:c,lastErrorType:"auth",errorCode:d,failureClass:"reauth_required"};"codex"===a.provider&&(e.providerSpecificData={...a.providerSpecificData||{},codexRefreshBlockedAt:c,codexRefreshErrorCode:d});try{return await (0,f.updateProviderConnection)(a.id,e)||{...a,...e}}catch(b){return console.warn(`[Usage] ${s(a.provider)} refresh rejection state was not persisted: ${b.message}`),{...a,...e}}}async function w(a,b){let c=b?.permanent===!0?b:(0,i.R_)({code:u(b)}),d=await v(a,c);if(r(a))return{connection:d,refreshed:!1,refreshBlocked:!0,refreshError:c};throw c}function x(a){return!!(a?.quotas&&"object"==typeof a.quotas&&Object.keys(a.quotas).length>0)}function y(a,b){return!!(a?.quotaFetchFailed===!0&&!a.accountDead&&!x(a)&&x(b?.usage))}async function z(a,b=!1,c=null){let d,e=(0,h.SB)(a.provider);if(q(a)){if(r(a))return{connection:a,refreshed:!1,refreshBlocked:!0};throw(0,i.R_)({code:a.providerSpecificData?.codexRefreshErrorCode||a.errorCode||"invalid_refresh_token"})}let g={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||e.needsRefresh(g)))return{connection:a,refreshed:!1};if(!b&&function(a,b=Date.now()){let c=F.get(a.id);return!!c&&(c.refreshToken!==a.refreshToken?(F.delete(a.id),!1):c.retryAt>b)}(a))return{connection:a,refreshed:!1,refreshFailed:!0,refreshBackedOff:!0};try{d=await e.refreshCredentials(g,console,c)}catch(b){if(b?.permanent===!0)return p(a),w(a,b);throw b?.name!=="AbortError"&&o(a),b}if((0,i.jT)(d))return p(a),w(a,(0,i.R_)(d));if(!d){if(o(a),a.accessToken)return{connection:a,refreshed:!1,refreshFailed:!0};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}p(a);let j={updatedAt:new Date().toISOString()};d.accessToken&&(j.accessToken=d.accessToken),d.refreshToken&&(j.refreshToken=d.refreshToken),d.idToken&&(j.idToken=d.idToken),d.lastRefreshAt&&(j.lastRefreshAt=d.lastRefreshAt),d.expiresIn?(j.expiresAt=new Date(Date.now()+1e3*d.expiresIn).toISOString(),j.expiresIn=d.expiresIn):d.expiresAt&&(j.expiresAt=d.expiresAt);let k={...d.providerSpecificData||{},...d.copilotToken?{copilotToken:d.copilotToken}:{},...d.copilotTokenExpiresAt?{copilotTokenExpiresAt:d.copilotTokenExpiresAt}:{}};return Object.keys(k).length>0&&(j.providerSpecificData={...a.providerSpecificData||{},...k}),await (0,f.updateProviderConnection)(a.id,j),{connection:{...a,...j,providerSpecificData:j.providerSpecificData||a.providerSpecificData},refreshed:!0}}function A(a){var b;let c;if(!a)return!1;let d=(b=a.authType,c=String(b||"").toLowerCase().trim(),"api-key"===c||"api_key"===c||"api key"===c?"apikey":c);return"oauth"===d||"apikey"===d&&l.jO.includes(a.provider)}async function B(a,b,c){let d,{writeCache:e=!1,force:h=!1}=b,i=await (0,f.getProviderConnectionById)(a);if(!i)return{error:"Connection not found",notFound:!0};if(!A(i))return{message:"Usage not available for this connection"};let j=await (0,k.B)(i.providerSpecificData),l={connectionProxyEnabled:!0===j.connectionProxyEnabled,connectionProxyUrl:j.connectionProxyUrl||"",connectionNoProxy:j.connectionNoProxy||"",vercelRelayUrl:j.vercelRelayUrl||"",strictProxy:!1},n=i,o="oauth"===n.authType,p=!1;if(o){let a;try{a=await z(n,h,l)}catch(a){if(a?.permanent===!0)return{message:t(n.provider),reauthRequired:!0,quotas:{}};throw a}n=a.connection,p=!0===a.refreshFailed}if(o&&p&&!r(n))d={message:`${s(n.provider)} credential refresh is temporarily unavailable; will retry later.`,quotaFetchFailed:!0,quotas:{}};else if(d=await (0,g.my)(n,l),o&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return D.some(a=>b.includes(a))}(d)&&n.refreshToken&&!q(n)&&!p)try{n=(await z(n,!0,l)).connection,d=await (0,g.my)(n,l)}catch(a){console.warn(`[Usage] ${n.provider}: force refresh failed: ${a.message}`)}if((e||c.writeCache)&&d&&!d.error)try{if("codebuddy"===n.provider||"codebuddy-cn"===n.provider){let a=null,b=await (0,f.Iu)(n.id,(b,c)=>{if(y(d,c)){var e;return e=d,a={...(0,m.pX)(c.usage,b),stale:!0,refreshError:e.message},{}}return{quotaUsage:(0,m.pX)(d,b)}});d=a||b?.quotaUsage||d}else{let a=await (0,f.getQuotaSnapshot)(n.id);y(d,a)?d={...a.usage,stale:!0,refreshError:d.message}:await (0,f.KK)(n.id,n.provider,d)}}catch(a){console.warn(`[QuotaCache] save failed for ${n.id}: ${a.message}`)}else if("codebuddy"===n.provider||"codebuddy-cn"===n.provider){let a=await (0,f.getProviderConnectionById)(n.id)||n;d=(0,m.pX)(d,a)}return d}async function C(a,b={}){let c=E.get(a);if(c||(c={active:null,queuedForce:null},E.set(a,c)),c.queuedForce)return b.writeCache&&(c.queuedForce.writeCache=!0),c.queuedForce.promise;if(c.active&&(!b.force||c.active.force))return b.writeCache&&(c.active.writeCache=!0),c.active.promise;let d=b=>{c.active===b&&(c.active=null),c.active||c.queuedForce||E.get(a)!==c||E.delete(a)};if(c.active){let e=c.active.promise,f={force:!0,writeCache:!0===b.writeCache,promise:null},g=()=>(c.queuedForce===f&&(c.queuedForce=null),c.active=f,B(a,{...b,force:!0},f));return f.promise=e.then(g,g).finally(()=>d(f)),c.queuedForce=f,f.promise}let e={force:!0===b.force,writeCache:!0===b.writeCache,promise:null};return c.active=e,e.promise=B(a,b,e).finally(()=>d(e)),e.promise}d()}catch(a){d(a)}})},46714:(a,b,c)=>{"use strict";c.d(b,{dv:()=>j,fM:()=>i,vP:()=>h});let d=Object.freeze(["none","minimal","low","medium","high","xhigh","max","ultra"]),e=Object.freeze({xhigh:Object.freeze(d.slice(0,6)),max:Object.freeze(d.slice(0,7)),ultra:d}),f=Object.freeze({off:"none",on:"high",thinking:"high"}),g=Object.freeze(["minimal","xhigh","ultra","medium","none","high","max","low"]);function h(a){let b;return e["gpt-5.6"===(b="string"==typeof a?a.toLowerCase():"")||/^gpt-5\.6-(?:sol|terra)(?:$|[-(:/])/.test(b)?"ultra":/^gpt-5\.6-luna(?:$|[-(:/])/.test(b)?"max":"xhigh"]}function i(a,b){let c="string"==typeof b?b.trim().toLowerCase():"",e=f[c]||c,g=d.indexOf(e);if(-1===g)return"low";let i=h(a),j=i[i.length-1],k=d.indexOf(j);return d[Math.min(g,k)]}function j(a){if("string"!=typeof a)return{cleanModel:a,effort:null};let b=a.toLowerCase();for(let c of g)if(b.endsWith(`-${c}`))return{cleanModel:a.slice(0,-(c.length+1)),effort:c};return{cleanModel:a,effort:null}}},46777:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d={id:"trae",alias:"trae",aliases:["marscode"],uiAlias:"trae",category:"oauth",authType:"oauth",hasOAuth:!0,authModes:["oauth"],display:{name:"Trae",icon:"bolt",color:"#FF6A00",textIcon:"TR",website:"https://www.trae.ai",deprecated:!0,notice:{signupUrl:"https://www.trae.ai"}},transport:{baseUrl:"https://core-normal.trae.ai/api/remote/v1",format:"openai",headers:{"X-Trae-Client-Type":"web","X-Preferenced-Language":"en",Referer:"https://solo.trae.ai/"},auth:{combined:!0,header:"Authorization",scheme:"Cloud-IDE-JWT"},usage:{url:"https://api.marscode.com/cloudide/api/v3/trae/GetUserInfo"},regions:{cn:"https://api.marscode.com",sg:"https://api.trae.ai",us:"https://www.trae.ai"},defaultRegion:"cn"},models:[{id:"auto",name:"Auto (Server Picks)"},{id:"work",name:"Work (Fast)"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-flash-solo",name:"Gemini 3 Flash"},{id:"minimax-m3",name:"MiniMax M3"},{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.2",name:"GPT 5.2"}],features:{usage:!0}}},46956:(a,b,c)=>{"use strict";c.d(b,{proxyAwareFetch:()=>t});var d=c(3433),e=c(27910),f=c(8735);let g=globalThis.fetch,h=new Map,i=new Map,j=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],k=["8.8.8.8","8.8.4.4"];function l(){let a=Error("Request aborted");return a.name="AbortError",a}function m(a){return null==a?"":String(a).trim()}let n=new Map;async function o(a,b=null){let d,e=i.get(a);if(e&&Date.now()<e.expiry)return e.ip;if(b?.aborted)throw l();let g=n.get(a);if(g&&Date.now()<g)return null;let h=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:j}=await Promise.resolve().then(c.t.bind(c,28354,23));if(b?.aborted)throw l();let m=new h.Resolver;m.setServers(k);let p=j(m.resolve4.bind(m)),q=b?new Promise((a,c)=>{d=()=>{m.cancel?.(),c(l())},b.addEventListener("abort",d,{once:!0})}):null,r=a=>q?Promise.race([a,q]):a,s=a=>{if(b?.aborted||a?.name==="AbortError")throw l()};try{let b=null,c=null;try{let c=await r(p(a));b=c?.[0]||null}catch(a){s(a),c=a}if(!b)try{let c="function"==typeof h.promises?.lookup?a=>h.promises.lookup(a,{family:4}):"function"==typeof h.lookup?j(h.lookup):null,d=c?await r(c(a,{family:4})):null,e="string"==typeof d?d:d?.address;e&&!function(a){let b=String(a||"").split(".");if(4!==b.length)return!0;let c=b.map(a=>/^\d{1,3}$/.test(a)?Number(a):NaN);if(c.some(a=>!Number.isInteger(a)||a<0||a>255))return!0;let[d,e]=c;return 0===d||10===d||127===d||169===d&&254===e||172===d&&e>=16&&e<=31||192===d&&168===e}(e)&&(b=e)}catch(a){s(a)}if(!b)return n.set(a,Date.now()+3e4),console.warn(`[ProxyFetch] DNS resolve failed for ${a}: ${c?.message||"no public address from system resolver"} (using default transport for ${Math.round(30)}s)`),null;return n.delete(a),i.set(a,{ip:b,expiry:Date.now()+f.v1.dnsCacheTtlMs}),b}finally{d&&b?.removeEventListener?.("abort",d)}}function p(a,b){let c,d=m(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function q(a){let b=m(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function r(a){let b=q(a);if(!b)return null;if(!h.has(b)){h.size>=f.v1.proxyDispatchersMaxSize&&h.delete(h.keys().next().value);let{ProxyAgent:a}=await Promise.resolve().then(c.t.bind(c,3433,19));h.set(b,new a({uri:b}))}return h.get(b)}async function s(a,b,d){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket,j=d.signal,k=null,m=null,n=!1,o=()=>j?.removeEventListener?.("abort",q),p=a=>{n||(n=!0,o(),f(a))},q=()=>{!function({upstreamResponse:a,request:b,socket:c,rejectOnce:d}){let e=l();d?.(e),a?.destroy?.(),b?.destroy?.(),c?.destroy?.()}({upstreamResponse:m,request:k,socket:g,rejectOnce:p})};j?.aborted?q():(j?.addEventListener?.("abort",q,{once:!0}),g.connect(443,b,()=>{if(n||j?.aborted)return;let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:d.method||"POST",headers:{...d.headers,Host:a.hostname}};(k=h.request(b,a=>{m=a,n=!0,a.once("close",o);let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:e.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)})).on("error",a=>p(a)),d.body&&k.write("string"==typeof d.body?d.body:JSON.stringify(d.body)),k.end()}),g.on("error",a=>p(a)))})}async function t(a,b={},c=null){let e="string"==typeof a?a:a.toString(),f=m(c?.vercelRelayUrl);if(f){let a=new URL(e),c={...b.headers,"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return g(f,{...b,headers:c})}let h=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=m(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=m(b?.noProxy??b?.connectionNoProxy);return d&&p(a,d)?null:q(c)}(e,c),i=h?null:q(function(a){let b;if(p(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(e)),k=h||i;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(e)){if(k)try{let c=await r(k);return await (0,d.hd)(a,{...b,dispatcher:c})}catch(a){if(b.signal?.aborted||a?.name==="AbortError")throw a;if(c?.strictProxy===!0)throw Error("[ProxyFetch] Required proxy request failed");throw Error("[ProxyFetch] Proxy request failed for protected upstream")}let f=new URL(e),h=await o(f.hostname,b.signal);return h?s(f,h,b):g(a,b)}if(k)try{let c=await r(k);return await (0,d.hd)(a,{...b,dispatcher:c})}catch(a){if(b.signal?.aborted||a?.name==="AbortError")throw a;if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);if(c?.singleTransportAttempt===!0)throw Error("[ProxyFetch] Proxy request failed for single-attempt upstream");console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return g(a,b)}async function u(a,b={}){return t(a,b,null)}globalThis.fetch!==u&&(globalThis.fetch=u)},47703:(a,b,c)=>{"use strict";let{pipeline:d}=c(57075),{fetching:e}=c(76403),{webidl:f}=c(32984),{EventSourceStream:g}=c(97356),{parseMIMEType:h}=c(16537),{createFastMessageEvent:i}=c(51753),{isNetworkError:j}=c(55815),{kEnumerableProperty:k}=c(84285),{environmentSettingsObject:l}=c(42425),{createPotentialCORSRequest:m}=c(26376),n=!1;class o extends EventTarget{#aN={open:null,error:null,message:null};#ar;#aO=!1;#aP=0;#aQ=null;#G=null;#d;#a;constructor(a,b={}){let c;super(),f.util.markAsUncloneable(this);const d="EventSource constructor";f.argumentLengthCheck(arguments,1,d),n||(n=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),a=f.converters.USVString(a),b=f.converters.EventSourceInitDict(b,d,"eventSourceInitDict"),this.#d=b.node.dispatcher||b.dispatcher,this.#a={lastEventId:"",reconnectionTime:b.node.reconnectionTime};try{c=new URL(a,l.settingsObject.baseUrl),this.#a.origin=c.origin}catch(a){throw new DOMException(a,"SyntaxError")}this.#ar=c.href;let e="anonymous";!0===b.withCredentials&&(e="use-credentials",this.#aO=!0);const g=m(c,"",e);g.client=l.settingsObject,g.headersList.set("Accept","text/event-stream"),g.cache="no-store",g.initiator="other",this.#aQ=g,this.#aR()}get readyState(){return this.#aP}get url(){return this.#ar}get withCredentials(){return this.#aO}#aR(){if(2===this.#aP)return;this.#aP=0;let a={request:this.#aQ,dispatcher:this.#d};a.processResponseEndOfBody=a=>{if(!j(a))return this.#aS()},a.processResponse=a=>{if(j(a))if(!a.aborted)return void this.#aS();else{this.close(),this.dispatchEvent(new Event("error"));return}let b=a.headersList.get("content-type",!0),c=null!==b?h(b):"failure",e="failure"!==c&&"text/event-stream"===c.essence;if(200!==a.status||!1===e){this.close(),this.dispatchEvent(new Event("error"));return}this.#aP=1,this.dispatchEvent(new Event("open")),this.#a.origin=a.urlList[a.urlList.length-1].origin;let f=new g({eventSourceSettings:this.#a,push:a=>{this.dispatchEvent(i(a.type,a.options))}});d(a.body.stream,f,a=>{a?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#G=e(a)}#aS(){2!==this.#aP&&(this.#aP=0,this.dispatchEvent(new Event("error")),setTimeout(()=>{0===this.#aP&&(this.#a.lastEventId.length&&this.#aQ.headersList.set("last-event-id",this.#a.lastEventId,!0),this.#aR())},this.#a.reconnectionTime)?.unref())}close(){f.brandCheck(this,o),2!==this.#aP&&(this.#aP=2,this.#G.abort(),this.#aQ=null)}get onopen(){return this.#aN.open}set onopen(a){this.#aN.open&&this.removeEventListener("open",this.#aN.open);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("open",b),this.#aN.open=a):this.#aN.open=null}get onmessage(){return this.#aN.message}set onmessage(a){this.#aN.message&&this.removeEventListener("message",this.#aN.message);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("message",b),this.#aN.message=a):this.#aN.message=null}get onerror(){return this.#aN.error}set onerror(a){this.#aN.error&&this.removeEventListener("error",this.#aN.error);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("error",b),this.#aN.error=a):this.#aN.error=null}}let p={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:0,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:1,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:2,writable:!1}};Object.defineProperties(o,p),Object.defineProperties(o.prototype,p),Object.defineProperties(o.prototype,{close:k,onerror:k,onmessage:k,onopen:k,readyState:k,url:k,withCredentials:k}),f.converters.EventSourceInitDict=f.dictionaryConverter([{key:"withCredentials",converter:f.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:f.converters.any},{key:"node",converter:f.dictionaryConverter([{key:"reconnectionTime",converter:f.converters["unsigned long"],defaultValue:()=>3e3},{key:"dispatcher",converter:f.converters.any}]),defaultValue:()=>({})}]),a.exports={EventSource:o,defaultReconnectionTime:3e3}},47800:(a,b,c)=>{"use strict";let{InvalidArgumentError:d}=c(61448),{runtimeFeatures:e}=c(56758),f=e.has("crypto")?c(77598):null,g=f?.hash?a=>f.hash("sha256",a,"base64url"):a=>Buffer.from(a).toString("base64url");function h(a){return Array.isArray(a)&&(1&a.length)==0}let i=["record","playback","update"];a.exports={createHeaderFilters:function(a={}){let{ignoreHeaders:b=[],excludeHeaders:c=[],matchHeaders:d=[],caseSensitive:e=!1}=a;return{ignore:new Set(b.map(a=>e?a:a.toLowerCase())),exclude:new Set(c.map(a=>e?a:a.toLowerCase())),match:new Set(d.map(a=>e?a:a.toLowerCase()))}},hashId:g,isUndiciHeaders:h,normalizeHeaders:function(a){let b={};if(!a)return b;if(h(a)){for(let c=0;c<a.length;c+=2){let d=a[c],e=a[c+1];if(d&&void 0!==e){let a=Buffer.isBuffer(d)?d.toString():d,c=Buffer.isBuffer(e)?e.toString():e;b[a.toLowerCase()]=c}}return b}if(a&&"object"==typeof a)for(let[c,d]of Object.entries(a))c&&"string"==typeof c&&(b[c.toLowerCase()]=Array.isArray(d)?d.join(", "):String(d));return b},isUrlExcludedFactory:function(a=[]){return 0===a.length?()=>!1:function(b){let c;for(let d of a)if("string"==typeof d){if(c||(c=b.toLowerCase()),c.includes(d.toLowerCase()))return!0}else if(d instanceof RegExp&&d.test(b))return!0;return!1}},validateSnapshotMode:function(a){if(!i.includes(a))throw new d(`Invalid snapshot mode: ${a}. Must be one of: ${i.join(", ")}`)}}},48841:(a,b,c)=>{"use strict";let{kProxy:d,kClose:e,kDestroy:f,kDispatch:g}=c(49176),h=c(37417),i=c(35689),j=c(5318),{InvalidArgumentError:k,RequestAbortedError:l,SecureProxyConnectionError:m,ProxyConnectionError:n}=c(61448),o=c(55285),p=c(40106),{channels:q}=c(62571),r=c(64156),s=Symbol("proxy agent"),t=Symbol("proxy client"),u=Symbol("proxy headers"),v=Symbol("request tls settings"),w=Symbol("proxy tls settings"),x=Symbol("connect endpoint function"),y=Symbol("connect endpoint function (http/1.1 only)"),z=Symbol("tunnel proxy"),A="proxy-authorization";function B(a,b){return new i(a,b)}let C=()=>{};function D(a,b){return 1===b.connections?new p(a,b):new i(a,b)}class E extends j{#aT;#aU;constructor(a,{headers:b={},connect:c,factory:d,proxyServername:e}){if(!a)throw new k("Proxy URL is mandatory");super(),this[u]=b,this.#aU=e,d?this.#aT=d(a,{connect:c}):this.#aT=new p(a,{connect:c})}[g](a,b){let c=b.onResponseStart;b.onResponseStart=function(a,d,e,f){if(407===d){"function"==typeof b.onResponseError&&b.onResponseError(a,new k("Proxy Authentication Required (407)"));return}c&&c.call(this,a,d,e,f)};let{origin:d,path:e="/",headers:f={}}=a;if(a.path=d+e,!("host"in f)&&!("Host"in f)){let{host:a}=new URL(d);f.host=a}return a.headers={...this[u],...f},null!=this.#aU&&(a.servername=this.#aU),this.#aT[g](a,b)}[e](){return this.#aT.close()}[f](a){return this.#aT.destroy(a)}}class F extends j{constructor(a){if(!a||"object"==typeof a&&!(a instanceof URL)&&!a.uri)throw new k("Proxy uri is mandatory");const{clientFactory:b=B}=a;if("function"!=typeof b)throw new k("Proxy opts.clientFactory must be a function.");const{proxyTunnel:c,connectTimeout:e}=a;super();const f=this.#aV(a),{href:g,origin:i,port:j,protocol:p,username:A,password:F,hostname:G}=f;if(this[d]={uri:g,protocol:p},this[v]=a.requestTls,this[w]=a.proxyTls,this[u]=a.headers||{},this[z]=c,a.auth&&a.token)throw new k("opts.auth cannot be used in combination with opts.token");a.auth?this[u]["proxy-authorization"]=`Basic ${a.auth}`:a.token?this[u]["proxy-authorization"]=a.token:A&&F?this[u]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:${decodeURIComponent(F)}`).toString("base64")}`:A&&(this[u]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:`).toString("base64")}`);const H=o({timeout:e,...a.proxyTls}),I=o({timeout:e,...a.proxyTls,allowH2:!1});this[x]=o({timeout:e,...a.requestTls}),this[y]=o({timeout:e,...a.requestTls,allowH2:!1});const J=a.factory||D,K=(b,c)=>{let{protocol:e}=new URL(b);if("socks5:"===this[d].protocol||"socks:"===this[d].protocol)return new r(this[d].uri,{headers:this[u],connect:H,factory:J,username:a.username||A,password:a.password||F,proxyTls:a.proxyTls,requestTls:a.requestTls});if(!0!==this[z]&&"http:"===e){let a="https:"===this[d].protocol?(a,b)=>I(a,(a,c)=>{a&&"ERR_TLS_CERT_ALTNAME_INVALID"===a.code?b(new m(a)):b(a,c)}):I;return new E(this[d].uri,{headers:this[u],connect:a,factory:J,proxyServername:"https:"===this[d].protocol?this[w]?.servername||G:void 0})}return J(b,c)};"socks5:"===p||"socks:"===p?this[t]=null:this[t]=b(f,{connect:H}),this[s]=new h({...a,factory:K,connect:async(a,b)=>{if(!this[t])return void b(new k("Cannot establish tunnel connection without a proxy client"));let c=a.host;a.port||(c+=`:${"https:"===a.protocol?443:80}`);try{let d,e={origin:i,port:j,path:c,signal:a.signal,headers:{...this[u],host:a.host,...null==a.connections||a.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[w]?.servername||G},{socket:f,statusCode:g}=await this[t].connect(e);if(200!==g){f.on("error",C).destroy(),b(new l(`Proxy response (${g}) !== 200 when HTTP Tunneling`));return}if(q.proxyConnected.hasSubscribers&&q.proxyConnected.publish({socket:f,connectParams:e}),"https:"!==a.protocol)return void b(null,f);d=this[v]?this[v].servername:a.servername,(!1===a.allowH2?this[y]:this[x])({...a,servername:d,httpSocket:f},b)}catch(a){b("ERR_TLS_CERT_ALTNAME_INVALID"===a.code?new m(a):"UND_ERR_SOCKET"===a.code?new n(a):a)}}})}dispatch(a,b){let c=function(a){if(Array.isArray(a)){let b={};for(let c=0;c<a.length;c+=2)G(a[c])&&H(),b[a[c]]=a[c+1];return b}return a}(a.headers);if(function(a){for(let b in a)G(b)&&H()}(c),c&&!("host"in c)&&!("Host"in c)){let{host:b}=new URL(a.origin);c.host=b}return this[s].dispatch({...a,headers:c},b)}#aV(a){return"string"==typeof a?new URL(a):a instanceof URL?a:new URL(a.uri)}[e](){let a=[this[s].close()];return this[t]&&a.push(this[t].close()),Promise.all(a)}[f](){let a=[this[s].destroy()];return this[t]&&a.push(this[t].destroy()),Promise.all(a)}}function G(a){return a.length===A.length&&a.toLowerCase()===A}function H(){throw new k("Proxy-Authorization should be sent in ProxyAgent constructor")}a.exports=F},48991:(a,b,c)=>{"use strict";c.d(b,{A9:()=>k,Cn:()=>l,Co:()=>t,Hi:()=>g,Ic:()=>r,NA:()=>v,P0:()=>n,VK:()=>w,Wu:()=>u,cw:()=>h,go:()=>e,nZ:()=>q,p8:()=>o,rJ:()=>p,sX:()=>f,uR:()=>m,x0:()=>i,zv:()=>s});var d=c(21820);let e="google-genai-sdk/1.41.0 gl-node/v22.19.0";function f(a="unknown"){let b;return`GeminiCLI/0.34.0/${a||"unknown"} (${(0,d.platform)()}; ${"ia32"===(b=(0,d.arch)())?"x86":b}; terminal)`}let g="codex_cli_rs";function h(){return`${g}/0.136.0`}let i={VSCODE_VERSION:"1.110.0",COPILOT_CHAT_VERSION:"0.38.0",USER_AGENT:"GitHubCopilotChat/0.38.0",API_VERSION:"2025-04-01"};function j(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}function k(){return`Antigravity/1.125.0 (${function(){switch((0,d.platform)()){case"darwin":return"Macintosh; Intel Mac OS X 10_15_7";case"win32":return"Windows NT 10.0; Win64; x64";default:return"X11; Linux x86_64"}}()}) Chrome/142.0.7444.175 Electron/39.2.7`}let l={ideType:9,platform:j(),pluginType:2},m="_ide";function n(){return`antigravity/cli/1.1.13 (aidev_client; os_type=${"win32"===(0,d.platform)()?"windows":(0,d.platform)()}; arch=${"x64"===(0,d.arch)()?"amd64":"ia32"===(0,d.arch)()?"x86":(0,d.arch)()}; cl=964361259; auth_method=consumer)`}function o(){return"antigravity/ide/2.1.1 darwin/arm64"}function p(a){return"string"==typeof a&&/(?:^|\/)gemini-3\.(?:7|8)(?:-|$)/i.test(a)?n():o()}o();let q={loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},r={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:j(),pluginType:2})},s={ideType:9,platform:j(),pluginType:2},t="You are Claude Code, Anthropic's official CLI for Claude.",u={codex:432e6,claude:144e5,iflow:864e5,qwen:12e5,codebuddy:12e5,kimi:3e5,"kimi-coding":3e5,antigravity:3e5,"grok-cli":3e5,xai:3e5},v={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://api.anthropic.com/v1/oauth/token",auth:"https://api.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://qwen.ai/api/v1/oauth2/token",auth:"https://qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}};function w(){return{"X-Msh-Platform":"zevairouter","X-Msh-Version":"2.1.2","X-Msh-Device-Model":"u">typeof process?`${process.platform} ${process.arch}`:"unknown","X-Msh-Device-Id":`kimi-${Date.now()}`}}},49065:(a,b,c)=>{"use strict";c.r(b),c.d(b,{geminiToOpenAIRequest:()=>g});var d=c(70556),e=c(42541),f=c(58455);function g(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,f.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,g,null),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,g,null)},49166:(a,b,c)=>{"use strict";let{Cache:d}=c(50027),{webidl:e}=c(32984),{kEnumerableProperty:f}=c(84285),{kConstruct:g}=c(49176);class h{#aW=new Map;constructor(){arguments[0]!==g&&e.illegalConstructor(),e.util.markAsUncloneable(this)}async match(a,b={}){if(e.brandCheck(this,h),e.argumentLengthCheck(arguments,1,"CacheStorage.match"),a=e.converters.RequestInfo(a),null!=(b=e.converters.MultiCacheQueryOptions(b)).cacheName){if(this.#aW.has(b.cacheName)){let c=new d(g,this.#aW.get(b.cacheName));return await c.match(a,b)}}else for(let c of this.#aW.values()){let e=new d(g,c),f=await e.match(a,b);if(void 0!==f)return f}}async has(a){e.brandCheck(this,h);let b="CacheStorage.has";return e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#aW.has(a)}async open(a){e.brandCheck(this,h);let b="CacheStorage.open";if(e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#aW.has(a))return new d(g,this.#aW.get(a));let c=[];return this.#aW.set(a,c),new d(g,c)}async delete(a){e.brandCheck(this,h);let b="CacheStorage.delete";return e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#aW.delete(a)}async keys(){return e.brandCheck(this,h),[...this.#aW.keys()]}}Object.defineProperties(h.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:f,has:f,open:f,delete:f,keys:f}),a.exports={CacheStorage:h}},49176:a=>{"use strict";a.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2Options:Symbol("http2 options"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHostAuthority:Symbol("host authority"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}},50027:(a,b,c)=>{"use strict";let d=c(34589),{kConstruct:e}=c(49176),{urlEquals:f,getFieldValues:g}=c(68531),{kEnumerableProperty:h,isDisturbed:i}=c(84285),{webidl:j}=c(32984),{cloneResponse:k,fromInnerResponse:l,getResponseState:m}=c(55815),{Request:n,fromInnerRequest:o,getRequestState:p}=c(12600),{fetching:q}=c(76403),{urlIsHttpHttpsScheme:r,readAllBytes:s}=c(42425);class t{#aX;constructor(){arguments[0]!==e&&j.illegalConstructor(),j.util.markAsUncloneable(this),this.#aX=arguments[1]}async match(a,b={}){j.brandCheck(this,t);let c="Cache.match";j.argumentLengthCheck(arguments,1,c),a=j.converters.RequestInfo(a),b=j.converters.CacheQueryOptions(b,c,"options");let d=this.#aY(a,b,1);if(0!==d.length)return d[0]}async matchAll(a,b={}){return j.brandCheck(this,t),void 0!==a&&(a=j.converters.RequestInfo(a)),b=j.converters.CacheQueryOptions(b,"Cache.matchAll","options"),this.#aY(a,b)}async add(a){j.brandCheck(this,t),j.argumentLengthCheck(arguments,1,"Cache.add");let b=[a=j.converters.RequestInfo(a)],c=this.addAll(b);return await c}async addAll(a){j.brandCheck(this,t);let b="Cache.addAll";j.argumentLengthCheck(arguments,1,b);let c=[],d=[];for(let c of a){if(void 0===c)throw j.errors.conversionFailed({prefix:b,argument:"Argument 1",types:["undefined is not allowed"]});if("string"==typeof(c=j.converters.RequestInfo(c)))continue;let a=p(c);if(!r(a.url)||"GET"!==a.method)throw j.errors.exception({header:b,message:"Expected http/s scheme when method is not GET."})}let e=[];for(let f of a){let a=p(new n(f));if(!r(a.url))throw j.errors.exception({header:b,message:"Expected http/s scheme."});a.initiator="fetch",a.destination="subresource",d.push(a);let h=Promise.withResolvers();e.push(q({request:a,processResponse(a){if("error"===a.type||206===a.status||a.status<200||a.status>299)h.reject(j.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(a.headersList.contains("vary")){for(let b of g(a.headersList.get("vary")))if("*"===b){for(let a of(h.reject(j.errors.exception({header:"Cache.addAll",message:"invalid vary field value"})),e))a.abort();return}}},processResponseEndOfBody(a){a.aborted?h.reject(new DOMException("aborted","AbortError")):h.resolve(a)}})),c.push(h.promise)}let f=Promise.all(c),h=await f,i=[],k=0;for(let a of h){let b={type:"put",request:d[k],response:a};i.push(b),k++}let l=Promise.withResolvers(),m=null;try{this.#aZ(i)}catch(a){m=a}return queueMicrotask(()=>{null===m?l.resolve(void 0):l.reject(m)}),l.promise}async put(a,b){j.brandCheck(this,t);let c="Cache.put";j.argumentLengthCheck(arguments,2,c),a=j.converters.RequestInfo(a),b=j.converters.Response(b,c,"response");let d=null;if(!r((d=j.is.Request(a)?p(a):p(new n(a))).url)||"GET"!==d.method)throw j.errors.exception({header:c,message:"Expected an http/s scheme when method is not GET"});let e=m(b);if(206===e.status)throw j.errors.exception({header:c,message:"Got 206 status"});if(e.headersList.contains("vary")){for(let a of g(e.headersList.get("vary")))if("*"===a)throw j.errors.exception({header:c,message:"Got * vary field value"})}if(e.body&&(i(e.body.stream)||e.body.stream.locked))throw j.errors.exception({header:c,message:"Response body is locked or disturbed"});let f=k(e),h=Promise.withResolvers();null!=e.body?s(e.body.stream.getReader(),h.resolve,h.reject):h.resolve(void 0);let l=[],o={type:"put",request:d,response:f};l.push(o);let q=await h.promise;null!=f.body&&(f.body.source=q);let u=Promise.withResolvers(),v=null;try{this.#aZ(l)}catch(a){v=a}return queueMicrotask(()=>{null===v?u.resolve():u.reject(v)}),u.promise}async delete(a,b={}){let c;j.brandCheck(this,t);let e="Cache.delete";j.argumentLengthCheck(arguments,1,e),a=j.converters.RequestInfo(a),b=j.converters.CacheQueryOptions(b,e,"options");let f=null;if(j.is.Request(a)){if("GET"!==(f=p(a)).method&&!b.ignoreMethod)return!1}else d("string"==typeof a),f=p(new n(a));let g=[],h={type:"delete",request:f,options:b};g.push(h);let i=Promise.withResolvers(),k=null;try{c=this.#aZ(g)}catch(a){k=a}return queueMicrotask(()=>{null===k?i.resolve(!!c?.length):i.reject(k)}),i.promise}async keys(a,b={}){j.brandCheck(this,t),void 0!==a&&(a=j.converters.RequestInfo(a)),b=j.converters.CacheQueryOptions(b,"Cache.keys","options");let c=null;if(void 0!==a)if(j.is.Request(a)){if("GET"!==(c=p(a)).method&&!b.ignoreMethod)return[]}else"string"==typeof a&&(c=p(new n(a)));let d=Promise.withResolvers(),e=[];if(void 0===a)for(let a of this.#aX)e.push(a[0]);else for(let a of this.#a$(c,b))e.push(a[0]);return queueMicrotask(()=>{let a=[];for(let b of e){let c=o(b,void 0,new AbortController().signal,"immutable");a.push(c)}d.resolve(Object.freeze(a))}),d.promise}#aZ(a){let b=this.#aX,c=[...b],e=[],f=[];try{for(let c of a){let a;if("delete"!==c.type&&"put"!==c.type)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if("delete"===c.type&&null!=c.response)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#a$(c.request,c.options,e).length)throw new DOMException("???","InvalidStateError");if("delete"===c.type){if(a=this.#a$(c.request,c.options),0===a.length)return[];for(let c of a){let a=b.indexOf(c);d(-1!==a),b.splice(a,1)}}else if("put"===c.type){if(null==c.response)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let f=c.request;if(!r(f.url))throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if("GET"!==f.method)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(null!=c.options)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});for(let e of a=this.#a$(c.request)){let a=b.indexOf(e);d(-1!==a),b.splice(a,1)}b.push([c.request,c.response]),e.push([c.request,c.response])}f.push([c.request,c.response])}return f}catch(a){throw this.#aX.length=0,this.#aX=c,a}}#a$(a,b,c){let d=[];for(let e of c??this.#aX){let[c,f]=e;this.#a_(a,c,f,b)&&d.push(e)}return d}#a_(a,b,c=null,d){let e=new URL(a.url),h=new URL(b.url);if(d?.ignoreSearch&&(h.search="",e.search=""),!f(e,h,!0))return!1;if(null==c||d?.ignoreVary||!c.headersList.contains("vary"))return!0;for(let d of g(c.headersList.get("vary")))if("*"===d||b.headersList.get(d)!==a.headersList.get(d))return!1;return!0}#aY(a,b,c=1/0){let d=null;if(void 0!==a)if(j.is.Request(a)){if("GET"!==(d=p(a)).method&&!b.ignoreMethod)return[]}else"string"==typeof a&&(d=p(new n(a)));let e=[];if(void 0===a)for(let a of this.#aX)e.push(a[1]);else for(let a of this.#a$(d,b))e.push(a[1]);let f=[];for(let a of e){let b=l(k(a),"immutable");if(f.push(b),f.length>=c)break}return Object.freeze(f)}}Object.defineProperties(t.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:h,matchAll:h,add:h,addAll:h,put:h,delete:h,keys:h});let u=[{key:"ignoreSearch",converter:j.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:j.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:j.converters.boolean,defaultValue:()=>!1}];j.converters.CacheQueryOptions=j.dictionaryConverter(u),j.converters.MultiCacheQueryOptions=j.dictionaryConverter([...u,{key:"cacheName",converter:j.converters.DOMString}]),j.converters.Response=j.interfaceConverter(j.is.Response,"Response"),j.converters["sequence<RequestInfo>"]=j.sequenceConverter(j.converters.RequestInfo),a.exports={Cache:t}},50270:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToAntigravityResponse:()=>f});var d=c(70556),e=c(42541);function f(a,b){if(!a)return null;let c=a.choices?.[0];if(!c)return a.usage?(b._usage=a.usage,{response:{candidates:[],modelVersion:b._modelVersion||a.model||"",responseId:b._responseId||a.id||`resp_${Date.now()}`,usageMetadata:g(a.usage)}}):null;let d=c.delta||{},e=c.finish_reason;b._toolCallAccum||(b._toolCallAccum={}),b._responseId||(b._responseId=a.id||`resp_${Date.now()}`),b._modelVersion||(b._modelVersion=a.model||"");let f=[];if(d.reasoning_content&&f.push({thought:!0,text:d.reasoning_content}),d.content&&f.push({text:d.content}),d.tool_calls){for(let a of d.tool_calls){let c=a.index??0;b._toolCallAccum[c]||(b._toolCallAccum[c]={id:"",name:"",arguments:""});let d=b._toolCallAccum[c];a.id&&(d.id=a.id),a.function?.name&&(d.name+=a.function.name),a.function?.arguments&&(d.arguments+=a.function.arguments)}if(0===f.length&&!e)return null}if(e)for(let a of Object.keys(b._toolCallAccum)){let c=b._toolCallAccum[a],d={};try{d=JSON.parse(c.arguments)}catch{}let e=b.toolNameMap?.get(c.name)||c.name;f.push({functionCall:{name:e,args:d}})}if(0===f.length&&!e)return null;0===f.length&&e&&f.push({text:""});let h={content:{role:"model",parts:f}};e&&(h.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[e]||"STOP");let i={candidates:[h],modelVersion:b._modelVersion,responseId:b._responseId},j=a.usage||b._usage;return j&&(i.usageMetadata=g(j)),{response:i}}function g(a){let b={promptTokenCount:a.prompt_tokens||0,candidatesTokenCount:a.completion_tokens||0,totalTokenCount:a.total_tokens||0};return a.completion_tokens_details?.reasoning_tokens&&(b.thoughtsTokenCount=a.completion_tokens_details.reasoning_tokens),a.prompt_tokens_details?.cached_tokens&&(b.cachedContentTokenCount=a.prompt_tokens_details.cached_tokens),b}(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,null,f)},50294:(a,b,c)=>{"use strict";c.d(b,{R:()=>j});var d=c(66678),e=c(30395),f=c(48991),g=c(11484);let h="QwenCode/0.12.3 (linux; x64)",i={role:"system",content:[{type:"text",text:"",cache_control:{type:"ephemeral"}}]};class j extends d.L{constructor(){super("qwen")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.resourceUrl,f=e?e.replace(/^https?:\/\//,"").replace(/\/$/,""):"portal.qwen.ai";return`https://${f}/v1/chat/completions`}buildHeaders(a,b=!0){return function(a,b=!0){let c=a?.apiKey||a?.accessToken||"",d={"Content-Type":"application/json",Authorization:`Bearer ${c}`,"User-Agent":h,"X-DashScope-AuthType":"qwen-oauth","X-DashScope-CacheControl":"enable","X-DashScope-UserAgent":h,"X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"};return d.Accept=b?"text/event-stream":"application/json",d}(a,b)}transformRequest(a,b,c,d){let e=b&&"object"==typeof b?{...b}:b;c&&e?.messages&&!e.stream_options&&!e.thinking&&!e.enable_thinking&&!1!==e.stream&&(e.stream_options={include_usage:!0});var f=e=function(a){let b;if(!0!==(b=a?.thinking)&&a?.enable_thinking!==!0&&("object"!=typeof b||null===b||Array.isArray(b)||"enabled"!==b.type))return a;let c=a.tool_choice;return"required"!==c&&("object"!=typeof c||null===c)?a:{...a,tool_choice:"auto"}}(e);if(!f||"object"!=typeof f)return f;let g={...f};return Array.isArray(g.messages)?g.messages=[i,...g.messages]:g.messages=[i],g}async refreshCredentials(a,b){if(!a?.refreshToken)return null;try{let c=await fetch(f.NA.qwen.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.qwen.clientId})});if(!c.ok)return await (0,g.aI)(c),null;let d=await c.json();return b?.info?.("TOKEN","qwen refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,providerSpecificData:{...a.providerSpecificData||{},...d.resource_url?{resourceUrl:d.resource_url}:{}}}}catch(a){return b?.error?.("TOKEN",`qwen refresh error: ${a.message}`),null}}}},50329:a=>{"use strict";class b{bottom=0;top=0;list=Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(a){this.list[this.top]=a,this.top=this.top+1&2047}shift(){let a=this.list[this.bottom];return void 0===a?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,a)}}a.exports=class{constructor(){this.head=this.tail=new b}isEmpty(){return this.head.isEmpty()}push(a){this.head.isFull()&&(this.head=this.head.next=new b),this.head.push(a)}shift(){let a=this.tail,b=a.shift();return a.isEmpty()&&null!==a.next&&(this.tail=a.next,a.next=null),b}}},50570:(a,b,c)=>{"use strict";c(42541)},50743:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},51525:(a,b,c)=>{"use strict";c(76816)},51529:(a,b,c)=>{},51658:(a,b,c)=>{"use strict";c(42541),c(70556),c(43212),c(11484),c(64323),c(83651),c(72610),c(51525)},51705:(a,b,c)=>{"use strict";a.exports=c.p+"static/media/server.007a63c1.js"},51753:(a,b,c)=>{"use strict";let{webidl:d}=c(32984),{kEnumerableProperty:e}=c(84285),{kConstruct:f}=c(49176);class g extends Event{#a0;constructor(a,b={}){if(a===f){super(arguments[1],arguments[2]),d.util.markAsUncloneable(this);return}const c="MessageEvent constructor";d.argumentLengthCheck(arguments,1,c),super(a=d.converters.DOMString(a,c,"type"),b=d.converters.MessageEventInit(b,c,"eventInitDict")),this.#a0=b,d.util.markAsUncloneable(this)}get data(){return d.brandCheck(this,g),this.#a0.data}get origin(){return d.brandCheck(this,g),this.#a0.origin}get lastEventId(){return d.brandCheck(this,g),this.#a0.lastEventId}get source(){return d.brandCheck(this,g),this.#a0.source}get ports(){return d.brandCheck(this,g),Object.isFrozen(this.#a0.ports)||Object.freeze(this.#a0.ports),this.#a0.ports}initMessageEvent(a,b=!1,c=!1,e=null,f="",h="",i=null,j=[]){return d.brandCheck(this,g),d.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new g(a,{bubbles:b,cancelable:c,data:e,origin:f,lastEventId:h,source:i,ports:j})}static createFastMessageEvent(a,b){let c=new g(f,a,b);return c.#a0=b,c.#a0.data??=null,c.#a0.origin??="",c.#a0.lastEventId??="",c.#a0.source??=null,c.#a0.ports??=[],c}}let{createFastMessageEvent:h}=g;delete g.createFastMessageEvent;class i extends Event{#a0;constructor(a,b={}){const c="CloseEvent constructor";d.argumentLengthCheck(arguments,1,c),super(a=d.converters.DOMString(a,c,"type"),b=d.converters.CloseEventInit(b)),this.#a0=b,d.util.markAsUncloneable(this)}get wasClean(){return d.brandCheck(this,i),this.#a0.wasClean}get code(){return d.brandCheck(this,i),this.#a0.code}get reason(){return d.brandCheck(this,i),this.#a0.reason}}class j extends Event{#a0;constructor(a,b){const c="ErrorEvent constructor";d.argumentLengthCheck(arguments,1,c),super(a,b),d.util.markAsUncloneable(this),a=d.converters.DOMString(a,c,"type"),b=d.converters.ErrorEventInit(b??{}),this.#a0=b}get message(){return d.brandCheck(this,j),this.#a0.message}get filename(){return d.brandCheck(this,j),this.#a0.filename}get lineno(){return d.brandCheck(this,j),this.#a0.lineno}get colno(){return d.brandCheck(this,j),this.#a0.colno}get error(){return d.brandCheck(this,j),this.#a0.error}}Object.defineProperties(g.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:e,origin:e,lastEventId:e,source:e,ports:e,initMessageEvent:e}),Object.defineProperties(i.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:e,code:e,wasClean:e}),Object.defineProperties(j.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:e,filename:e,lineno:e,colno:e,error:e}),d.converters.MessagePort=d.interfaceConverter(d.is.MessagePort,"MessagePort"),d.converters["sequence<MessagePort>"]=d.sequenceConverter(d.converters.MessagePort);let k=[{key:"bubbles",converter:d.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:d.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:d.converters.boolean,defaultValue:()=>!1}];d.converters.MessageEventInit=d.dictionaryConverter([...k,{key:"data",converter:d.converters.any,defaultValue:()=>null},{key:"origin",converter:d.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:d.converters.DOMString,defaultValue:()=>""},{key:"source",converter:d.nullableConverter(d.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:d.converters["sequence<MessagePort>"],defaultValue:()=>[]}]),d.converters.CloseEventInit=d.dictionaryConverter([...k,{key:"wasClean",converter:d.converters.boolean,defaultValue:()=>!1},{key:"code",converter:d.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:d.converters.USVString,defaultValue:()=>""}]),d.converters.ErrorEventInit=d.dictionaryConverter([...k,{key:"message",converter:d.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:d.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:d.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:d.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:d.converters.any}]),a.exports={MessageEvent:g,CloseEvent:i,ErrorEvent:j,createFastMessageEvent:h}},52039:(a,b,c)=>{"use strict";let{isArrayBuffer:d}=c(73429),{webidl:e}=c(32984),{URLSerializer:f}=c(16537),{environmentSettingsObject:g}=c(42425),{staticPropertyDescriptors:h,states:i,sentCloseFrameState:j,sendHints:k,opcodes:l}=c(62026),{isConnecting:m,isEstablished:n,isClosing:o,isClosed:p,isValidSubprotocol:q,fireEvent:r,utf8Decode:s,toArrayBuffer:t,getURLRecord:u}=c(94050),{establishWebSocketConnection:v,closeWebSocketConnection:w,failWebsocketConnection:x}=c(4654),{ByteParser:y}=c(64821),{kEnumerableProperty:z}=c(84285),{getGlobalDispatcher:A}=c(59970),{ErrorEvent:B,CloseEvent:C,createFastMessageEvent:D}=c(51753),{SendQueue:E}=c(54849),{WebsocketFrameSend:F}=c(45221),{channels:G}=c(62571),H=Symbol.for("nodejs.ref"),I=Symbol.for("nodejs.unref");class J extends EventTarget{#aN={open:null,error:null,close:null,message:null};#a1=0;#a2="";#a3="";#a4=!0;#a5;#ay={onConnectionEstablished:(a,b)=>this.#az(a,b),onMessage:(a,b)=>this.#aA(a,b),onParserError:a=>x(this.#ay,null,a.message),onParserDrain:()=>this.#a6(),onSocketData:a=>{this.#aB.write(a)||this.#ay.socket.pause()},onSocketError:a=>{this.#ay.readyState=i.CLOSING,G.socketError.hasSubscribers&&G.socketError.publish(a),this.#ay.socket.destroy()},onSocketClose:()=>this.#aC(),onPing:a=>{G.ping.hasSubscribers&&G.ping.publish({payload:a,websocket:this})},onPong:a=>{G.pong.hasSubscribers&&G.pong.publish({payload:a,websocket:this})},readyState:i.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#ar;#a7;#aB;constructor(a,b=[]){super(),e.util.markAsUncloneable(this);const c="WebSocket constructor";e.argumentLengthCheck(arguments,1,c);const d=e.converters["DOMString or sequence<DOMString> or WebSocketInit"](b,c,"options");a=e.converters.USVString(a),b=d.protocols;const f=u(a,g.settingsObject.baseUrl);if("string"==typeof b&&(b=[b]),b.length!==new Set(b.map(a=>a.toLowerCase())).size||b.length>0&&!b.every(a=>q(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#ar=new URL(f.href);const h=g.settingsObject;this.#ay.controller=v(f,b,h,this.#ay,d),this.#ay.readyState=J.CONNECTING,this.#a7="blob"}[H](){e.brandCheck(this,J),this.#a4=!0,this.#ay.socket?.ref?.()}[I](){e.brandCheck(this,J),this.#a4=!1,this.#ay.socket?.unref?.()}close(a,b){e.brandCheck(this,J),void 0!==a&&(a=e.converters["unsigned short"](a,"WebSocket.close","code",e.attributes.Clamp)),void 0!==b&&(b=e.converters.USVString(b)),a??=null,b??="",w(this.#ay,a,b,!0)}send(a){e.brandCheck(this,J);let b="WebSocket.send";if(e.argumentLengthCheck(arguments,1,b),a=e.converters.WebSocketSendData(a,b,"data"),m(this.#ay.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!n(this.#ay.readyState)||o(this.#ay.readyState)))if("string"==typeof a){let b=Buffer.from(a);this.#a1+=b.byteLength,this.#a5.add(b,()=>{this.#a1-=b.byteLength},k.text)}else d(a)?(this.#a1+=a.byteLength,this.#a5.add(a,()=>{this.#a1-=a.byteLength},k.arrayBuffer)):ArrayBuffer.isView(a)?(this.#a1+=a.byteLength,this.#a5.add(a,()=>{this.#a1-=a.byteLength},k.typedArray)):e.is.Blob(a)&&(this.#a1+=a.size,this.#a5.add(a,()=>{this.#a1-=a.size},k.blob))}get readyState(){return e.brandCheck(this,J),this.#ay.readyState}get bufferedAmount(){return e.brandCheck(this,J),this.#a1}get url(){return e.brandCheck(this,J),f(this.#ar)}get extensions(){return e.brandCheck(this,J),this.#a3}get protocol(){return e.brandCheck(this,J),this.#a2}get onopen(){return e.brandCheck(this,J),this.#aN.open}set onopen(a){e.brandCheck(this,J),this.#aN.open&&this.removeEventListener("open",this.#aN.open);let b=e.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("open",b),this.#aN.open=a):this.#aN.open=null}get onerror(){return e.brandCheck(this,J),this.#aN.error}set onerror(a){e.brandCheck(this,J),this.#aN.error&&this.removeEventListener("error",this.#aN.error);let b=e.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("error",b),this.#aN.error=a):this.#aN.error=null}get onclose(){return e.brandCheck(this,J),this.#aN.close}set onclose(a){e.brandCheck(this,J),this.#aN.close&&this.removeEventListener("close",this.#aN.close);let b=e.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("close",b),this.#aN.close=a):this.#aN.close=null}get onmessage(){return e.brandCheck(this,J),this.#aN.message}set onmessage(a){e.brandCheck(this,J),this.#aN.message&&this.removeEventListener("message",this.#aN.message);let b=e.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("message",b),this.#aN.message=a):this.#aN.message=null}get binaryType(){return e.brandCheck(this,J),this.#a7}set binaryType(a){e.brandCheck(this,J),"blob"!==a&&"arraybuffer"!==a?this.#a7="blob":this.#a7=a}#az(a,b){this.#ay.socket=a.socket,this.#a4||this.#ay.socket.unref?.();let c=this.#ay.controller.dispatcher?.webSocketOptions?.maxFragments,d=this.#ay.controller.dispatcher?.webSocketOptions?.maxPayloadSize,e=new y(this.#ay,b,{maxFragments:c,maxPayloadSize:d});e.on("drain",()=>this.#ay.onParserDrain()),e.on("error",a=>this.#ay.onParserError(a)),this.#aB=e,this.#a5=new E(a.socket),this.#ay.readyState=i.OPEN;let f=a.headersList.get("sec-websocket-extensions");null!==f&&(this.#a3=f);let g=a.headersList.get("sec-websocket-protocol");if(null!==g&&(this.#a2=g),r("open",this),G.open.hasSubscribers){var h;let b=a.headersList.entries;G.open.publish({address:(h=a.socket,"function"==typeof h?.address?h.address():"function"==typeof h?.session?.socket?.address?h.session.socket.address():null),protocol:this.#a2,extensions:this.#a3,websocket:this,handshakeResponse:{status:a.status,statusText:a.statusText,headers:b}})}}#aA(a,b){let c;if(this.#ay.readyState===i.OPEN){if(a===l.TEXT)try{c=s(b)}catch{x(this.#ay,1007,"Received invalid UTF-8 in text frame.");return}else a===l.BINARY&&(c="blob"===this.#a7?new Blob([b]):t(b));r("message",this,D,{origin:this.#ar.origin,data:c})}}#a6(){this.#ay.socket.resume()}#aC(){let a=this.#ay.closeState.has(j.SENT)&&this.#ay.closeState.has(j.RECEIVED),b=1005,c="",d=this.#aB?.closingInfo;d&&!d.error&&(b=d.code??1005,c=d.reason),this.#ay.readyState=i.CLOSED,this.#ay.closeState.has(j.RECEIVED)||(b=1006,r("error",this,(a,b)=>new B(a,b),{error:TypeError(c)})),r("close",this,(a,b)=>new C(a,b),{wasClean:a,code:b,reason:c}),G.close.hasSubscribers&&G.close.publish({websocket:this,code:b,reason:c})}static ping(a,b){if(Buffer.isBuffer(b)){if(b.length>125)throw TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(void 0!==b)throw TypeError("Expected buffer payload");let c=a.#ay.readyState;if(n(c)&&!o(c)&&!p(c)){let c=new F(b);a.#ay.socket.write(c.createFrame(l.PING))}}}let{ping:K}=J;Reflect.deleteProperty(J,"ping"),J.CONNECTING=J.prototype.CONNECTING=i.CONNECTING,J.OPEN=J.prototype.OPEN=i.OPEN,J.CLOSING=J.prototype.CLOSING=i.CLOSING,J.CLOSED=J.prototype.CLOSED=i.CLOSED,Object.defineProperties(J.prototype,{CONNECTING:h,OPEN:h,CLOSING:h,CLOSED:h,url:z,readyState:z,bufferedAmount:z,onopen:z,onerror:z,onclose:z,close:z,onmessage:z,binaryType:z,send:z,extensions:z,protocol:z,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}}),Object.defineProperties(J,{CONNECTING:h,OPEN:h,CLOSING:h,CLOSED:h}),e.converters["sequence<DOMString>"]=e.sequenceConverter(e.converters.DOMString),e.converters["DOMString or sequence<DOMString>"]=function(a,b,c){return e.util.Type(a)===e.util.Types.OBJECT&&Symbol.iterator in a?e.converters["sequence<DOMString>"](a):e.converters.DOMString(a,b,c)},e.converters.WebSocketInit=e.dictionaryConverter([{key:"protocols",converter:e.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:e.converters.any,defaultValue:()=>A()},{key:"headers",converter:e.nullableConverter(e.converters.HeadersInit)}]),e.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(a){return e.util.Type(a)!==e.util.Types.OBJECT||Symbol.iterator in a?{protocols:e.converters["DOMString or sequence<DOMString>"](a)}:e.converters.WebSocketInit(a)},e.converters.WebSocketSendData=function(a){return e.util.Type(a)===e.util.Types.OBJECT&&(e.is.Blob(a)||e.is.BufferSource(a))?a:e.converters.USVString(a)},a.exports={WebSocket:J,ping:K}},53552:(a,b,c)=>{"use strict";let{InvalidArgumentError:d}=c(61448),e=c(40106);class f extends e{constructor(a,b){if("string"==typeof a&&(a=new URL(a)),"http:"!==a.protocol)throw new d("h2c-client: Only h2c protocol is supported");const{maxConcurrentStreams:c,pipelining:e,...f}=b??{},g=c??100;let h=100;if(null!=c&&(!Number.isInteger(c)||c<1))throw new d("maxConcurrentStreams must be a positive integer, greater than 0");if(null!=e&&Number.isInteger(e)&&e>0&&(h=e),h>g)throw new d("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(a,{...f,maxConcurrentStreams:g,pipelining:h,allowH2:!0,useH2c:!0})}}a.exports=f},53859:(a,b,c)=>{"use strict";c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="zevai";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},54838:(a,b,c)=>{"use strict";c.d(b,{$D:()=>s,Oj:()=>g,P9:()=>n,We:()=>i,ZF:()=>p,Zm:()=>f,aZ:()=>x,cr:()=>v,gI:()=>o,h3:()=>h,rG:()=>m,yh:()=>w});let d="-agentic",e="-thinking",f=64,g=10237,h=64;function i(a){return"google"===a||"github"===a?"arn:aws:codewhisperer:us-east-1:699475941385:profile/EHGA3GRVQMUK":"arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX"}let j={minimal:512,low:1024,medium:8192,high:24576,xhigh:32768,max:128e3},k=new Set(["1","true","yes","on"]),l=new Set(["0","false","no","off"]),m=`
194
194
  # CRITICAL: CHUNKED WRITE PROTOCOL (MANDATORY)
195
195
 
196
196
  You MUST follow these rules for ALL file operations. Violation causes server timeouts and task failure.
@@ -240,7 +240,7 @@ WRONG: Generating massive code blocks without chunking -> TIMEOUT
240
240
 
241
241
  REMEMBER: When in doubt, write LESS per operation. Multiple small operations > one large operation.
242
242
  `.trim();function n(a,b,c){if(function(a){if(!a||"object"!=typeof a)return!1;let b=a.thinking;if(b&&"object"==typeof b&&"disabled"===b.type)return!0;let c=a.reasoning_effort??a.output_config?.effort??(a.reasoning&&"object"==typeof a.reasoning?a.reasoning.effort:null);return"string"==typeof c&&["none","off","disabled"].includes(c.toLowerCase())}(a))return null;let d=a?.output_config?.effort;if("string"==typeof d){let a=j[d.toLowerCase()];if(a)return a}let e=a?.thinking;if(e&&"object"==typeof e&&"enabled"===e.type){let a=Number(e.budget_tokens);return Number.isFinite(a)&&a>0?a:16e3}let f=a?.reasoning_effort??(a?.reasoning&&"object"==typeof a.reasoning?a.reasoning.effort:null);if("string"==typeof f){let a=f.toLowerCase();if("auto"===a)return 16e3;let b=j[a];if(b)return b}if(b){let a=function(a,b){if(!a)return;if("function"==typeof a.get)return a.get(b);let c=b.toLowerCase();for(let b of Object.keys(a))if(b.toLowerCase()===c)return a[b]}(b,"anthropic-beta");if("string"==typeof a&&a.toLowerCase().includes("interleaved-thinking"))return 16e3}if(function(a){for(let b of Array.isArray(a?.messages)?a.messages:[]){if(!b||"system"!==b.role&&"user"!==b.role)continue;let a=b.content;if("string"==typeof a){if(y(a))return!0}else if(Array.isArray(a))for(let b of a){let a=b?.text;if("string"==typeof a&&y(a))return!0}}return!!("string"==typeof a?.system&&y(a.system))}(a))return 16e3;if("string"==typeof c&&c){let a=c.toLowerCase();if(a.includes("thinking")||a.includes("-reason"))return 16e3}return null}function o(a,b,c){return null!==n(a,b,c)}function p(a,b=!1){let c=A(z(a?.kiro_expose_reasoning,a?.kiroExposeReasoning,a?.metadata?.kiro_expose_reasoning,a?.metadata?.kiroExposeReasoning,a?.extra_body?.kiro_expose_reasoning,a?.extra_body?.kiroExposeReasoning));if(null!==c)return c;let d="u">typeof process?process.env:{},e=A(z(d.KIRO_EXPOSE_REASONING,d.ZEVAI_EXPOSE_REASONING));return null!==e?e:!0===b}function q(a){return"string"==typeof a&&a.endsWith(d)}function r(a){return"string"==typeof a&&a.endsWith(e)}function s(a){var b,c;let f=a,g=!1,h=!1;return q(f)&&(g=!0,f=q(b=f)?b.slice(0,-d.length):b),r(f)&&(h=!0,f=r(c=f)?c.slice(0,-e.length):c),{upstream:f,agentic:g,thinking:h}}function t(a){let b=a?.output_config?.effort??a?.reasoning_effort??("object"==typeof a?.reasoning?a.reasoning.effort:null);if("string"!=typeof b)return null;let c=b.toLowerCase();return"max"===c?"xhigh":["low","medium","high","xhigh"].includes(c)?c:null}function u(a){if("string"!=typeof a)return null;let b=a.toLowerCase().replace(/-/g,".");if(/(?:^|[/.])gpt[/.]5[/.]6(?:[/.]|$)/.test(b))return"reasoning";if(!b.includes("claude"))return null;let c=b.match(/(?:^|[/.])claude(?:[/.][a-z]+)*[/.](\d+)(?:[/.](\d+))?(?:[/.]|$)/);if(!c)return null;let d=Number(c[1]),e=void 0===c[2]?null:Number(c[2]);return d<4||4===d&&(null===e||e<=5||null!==e&&e>=1e3)?null:"output_config"}function v(a,b){return"reasoning"===u(b)&&null!==t(a)}function w(a,b){let c=u(b);if(!c)return;if("reasoning"===c){let b=t(a);return b?{reasoning:{effort:b}}:void 0}let d=function(a){let b=a?.output_config?.effort??a?.reasoning_effort??("object"==typeof a?.reasoning?a.reasoning.effort:null);if("string"!=typeof b)return null;let c=b.toLowerCase();return"none"===c||"off"===c||"disabled"===c?null:"xhigh"===c||"max"===c?"high":["low","medium","high"].includes(c)?c:null}(a);return d?{thinking:{type:"adaptive",display:"summarized"},output_config:{effort:d}}:void 0}function x(a=16e3){let b=Math.max(1,Math.min(32e3,Number(a)||16e3));return`<thinking_mode>enabled</thinking_mode>
243
- <max_thinking_length>${b}</max_thinking_length>`}function y(a){return!!a&&!!a.includes("<thinking_mode>")&&(a.includes("<thinking_mode>enabled</thinking_mode>")||a.includes("<thinking_mode>interleaved</thinking_mode>"))}function z(...a){return a.find(a=>null!=a)}function A(a){if("boolean"==typeof a)return a;if("number"==typeof a)return 1===a||0!==a&&null;if("string"!=typeof a)return null;let b=a.trim().toLowerCase();return!!k.has(b)||!l.has(b)&&null}},54849:(a,b,c)=>{"use strict";let{WebsocketFrameSend:d}=c(45221),{opcodes:e,sendHints:f}=c(62026),g=c(50329);class h{#bc=new g;#bd=!1;#be;constructor(a){this.#be=a}add(a,b,c){if(c!==f.blob){if(this.#bd){let d={promise:null,callback:b,frame:i(a,c)};this.#bc.push(d)}else if(c===f.text){let{0:c,1:e}=d.createFastTextFrame(a);this.#be.cork(),this.#be.write(c),this.#be.write(e,b),this.#be.uncork()}else this.#be.write(i(a,c),b);return}let e={promise:a.arrayBuffer().then(a=>{e.promise=null,e.frame=i(a,c)}),callback:b,frame:null};this.#bc.push(e),this.#bd||this.#bf()}async #bf(){this.#bd=!0;let a=this.#bc;for(;!a.isEmpty();){let b=a.shift();null!==b.promise&&await b.promise,this.#be.write(b.frame,b.callback),b.callback=b.frame=null}this.#bd=!1}}function i(a,b){return new d(function(a,b){switch(b){case f.text:case f.typedArray:return new Uint8Array(a.buffer,a.byteOffset,a.byteLength);case f.arrayBuffer:case f.blob:return new Uint8Array(a)}}(a,b)).createFrame(b===f.text?e.TEXT:e.BINARY)}a.exports={SendQueue:h}},54940:(a,b,c)=>{"use strict";c.d(b,{A:()=>p});var d=c(31421),e=c(76760),f=c.n(e),g=c(48161),h=c.n(g),i=c(73024),j=c.n(i),k=c(69384);let l=`
243
+ <max_thinking_length>${b}</max_thinking_length>`}function y(a){return!!a&&!!a.includes("<thinking_mode>")&&(a.includes("<thinking_mode>enabled</thinking_mode>")||a.includes("<thinking_mode>interleaved</thinking_mode>"))}function z(...a){return a.find(a=>null!=a)}function A(a){if("boolean"==typeof a)return a;if("number"==typeof a)return 1===a||0!==a&&null;if("string"!=typeof a)return null;let b=a.trim().toLowerCase();return!!k.has(b)||!l.has(b)&&null}},54849:(a,b,c)=>{"use strict";let{WebsocketFrameSend:d}=c(45221),{opcodes:e,sendHints:f}=c(62026),g=c(50329);class h{#a8=new g;#a9=!1;#ba;constructor(a){this.#ba=a}add(a,b,c){if(c!==f.blob){if(this.#a9){let d={promise:null,callback:b,frame:i(a,c)};this.#a8.push(d)}else if(c===f.text){let{0:c,1:e}=d.createFastTextFrame(a);this.#ba.cork(),this.#ba.write(c),this.#ba.write(e,b),this.#ba.uncork()}else this.#ba.write(i(a,c),b);return}let e={promise:a.arrayBuffer().then(a=>{e.promise=null,e.frame=i(a,c)}),callback:b,frame:null};this.#a8.push(e),this.#a9||this.#bb()}async #bb(){this.#a9=!0;let a=this.#a8;for(;!a.isEmpty();){let b=a.shift();null!==b.promise&&await b.promise,this.#ba.write(b.frame,b.callback),b.callback=b.frame=null}this.#a9=!1}}function i(a,b){return new d(function(a,b){switch(b){case f.text:case f.typedArray:return new Uint8Array(a.buffer,a.byteOffset,a.byteLength);case f.arrayBuffer:case f.blob:return new Uint8Array(a)}}(a,b)).createFrame(b===f.text?e.TEXT:e.BINARY)}a.exports={SendQueue:h}},54940:(a,b,c)=>{"use strict";c.d(b,{A:()=>p});var d=c(31421),e=c(76760),f=c.n(e),g=c(48161),h=c.n(g),i=c(73024),j=c.n(i),k=c(69384);let l=`
244
244
  import readline from "node:readline";
245
245
  const TOOLS = JSON.parse(process.env.DEVIN_MCP_TOOLS || "[]");
246
246
  const RESULTS = JSON.parse(process.env.DEVIN_MCP_RESULTS || "{}");
@@ -288,7 +288,7 @@ ${d}`))}return b.join("\n\n")||"(empty)"}(k),p=function(a){let b=[],c=a=>{"strin
288
288
 
289
289
  `):f(`data: ${JSON.stringify({id:z,object:"chat.completion.chunk",created:A,model:a,choices:[{index:0,delta:{},finish_reason:d}],usage:{prompt_tokens:Math.ceil(o.length/4),completion_tokens:Math.ceil(C.length/4),total_tokens:Math.ceil((o.length+C.length)/4),estimated:!0}})}
290
290
 
291
- `),f("data: [DONE]\n\n");try{n||(n=!0,k.stdin.end())}catch{}let e=setTimeout(()=>{k.killed||k.kill("SIGKILL")},2e3);e.unref?.(),b.close(),y()},K="";k.stdout.on("data",b=>{let c;for(K+=b.toString("utf8");-1!==(c=K.indexOf("\n"));){let b,e=K.slice(0,c).trim();if(K=K.slice(c+1),e){try{b=JSON.parse(e)}catch{continue}if(!u&&void 0!==b.result&&!b.method){u=!0,E("session/new",{cwd:p,mcpServers:[],model:a||void 0});continue}if(u&&!v&&void 0!==b.result&&!b.method){if(!(t=(b.result||{}).sessionId||null))return void J("Devin ACP: session/new returned no sessionId");v=!0,w=!0,E("session/prompt",{sessionId:t,prompt:[{type:"text",text:o}]});continue}if(v&&w&&void 0!==b.result&&!b.method){if(!B){let a=b.result||void 0,c=function(a){if("string"==typeof a.content)return a.content;if("string"==typeof a.text)return a.text;let b=a.message;if(b&&"string"==typeof b.content)return b.content;let c=a.messages;return Array.isArray(c)?c.filter(a=>"assistant"===a.role).map(a=>String(a.content||"")).join("\n"):""}(a);c&&(C=c,F(c));let d=a&&a.stopReason||"";if(d&&"cancelled"!==d)return void J()}continue}if("session/request_permission"===b.method&&void 0!==b.id){let a=b.params?.options||[],c=a.find(a=>/allow/i.test(String(a.kind||"")))||a[0];c&&k.stdin.write(JSON.stringify({jsonrpc:"2.0",id:b.id,result:{outcome:{outcome:"selected",optionId:c.optionId}}})+"\n");continue}if("_cognition.ai/agent_stopped"===b.method||"$/agent_stopped"===b.method)return void("error"===b.params?.cause?J(String(b.params?.errorMessage||b.params?.message||b.params?.error||"Devin agent error")):J());if("session/update"===b.method||"$/update"===b.method){let a=b.params;if(!a)continue;let c=a.update||{},e=c.sessionUpdate||a.type,f=void 0!==c.content?c.content:a.content,g="string"==typeof f?f:f?.text??a.delta??a.text??"";if(x&&!G&&("tool_call"===e||"tool_call_update"===e)){let a=c.toolCallId;if("string"==typeof c.title&&c.title.startsWith("Calling mcp_")&&/from clientTools\b/.test(c.title)){var d;let b=c.title.match(/^Calling (mcp_\S+)\b/),e=(d=b?b[1]:"").startsWith(m)?d.slice(m.length):d;a&&e&&H.set(a,e)}let b=a?H.get(a):null;if(b&&c.rawInput){G=!0,H.delete(a),I(b,c.rawInput,a||`call_${Date.now()}`),J(null,"tool_calls");return}continue}if("agent_message_chunk"===e||"message_delta"===e||"text_delta"===e||"content_delta"===e)g&&F(g);else if("agent_thought_chunk"===e);else if("message_stop"===e||"stop"===e||"done"===e)return void J();else if("error"===e)return void J(String(a.message||a.error||"Devin ACP error"));continue}if(b.error)return void J(`Devin ACP error ${b.error.code}: ${b.error.message}`)}}}),k.stderr.on("data",a=>{g?.debug?.("DEVIN",`stderr: ${a.toString("utf8").slice(0,200)}`)}),k.on("close",a=>{D?y():0===a||l?J():J(B?void 0:`Devin CLI exited with code ${a}`)}),E("initialize",{protocolVersion:"0.3",clientInfo:{name:"zevairouter",version:"1.0"},capabilities:{}})}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}),url:"devin://acp/stdio",headers:{},transformedBody:{model:a,cwd:p,clientTools:u.map(a=>a?.function?.name||a?.name).filter(Boolean),clientToolResults:Object.keys(v),mcpServers:Object.keys(s),promptLength:Array.isArray(b?.messages)?b.messages.length:Array.isArray(b?.input)?b.input.length:0}}}}let p=o},55285:(a,b,c)=>{"use strict";let d,e=c(77030),f=c(34589),g=c(84285),{InvalidArgumentError:h,ConnectTimeoutError:i}=c(61448),j=class{constructor(a){this._maxCachedSessions=a,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(a=>{if(this._sessionCache.size<this._maxCachedSessions)return;let b=this._sessionCache.get(a);void 0!==b&&void 0===b.deref()&&this._sessionCache.delete(a)})}get(a){let b=this._sessionCache.get(a);return b?b.deref():null}set(a,b){if(0!==this._maxCachedSessions){if(this._sessionCache.has(a))this._sessionCache.delete(a);else if(this._sessionCache.size>=this._maxCachedSessions){for(let[a,b]of this._sessionCache)if(void 0===b.deref())return void this._sessionCache.delete(a);let a=this._sessionCache.keys().next();a.done||this._sessionCache.delete(a.value)}this._sessionCache.set(a,new WeakRef(b)),this._sessionRegistry.register(b,a)}}};a.exports=function({allowH2:a,preferH2:b,useH2c:k,maxCachedSessions:l,socketPath:m,timeout:n,session:o,...p}){if(null!=l&&(!Number.isInteger(l)||l<0))throw new h("maxCachedSessions must be a positive integer or zero");let q={path:m,...p},r=new j(null==l?100:l);return n=null==n?1e4:n,a=null==a||a,function({hostname:h,host:j,protocol:l,port:m,servername:p,localAddress:s,httpSocket:t},u){let v;if("https:"===l){d||(d=c(41692));let e=(p=p||q.servername||g.getServerName(j)||null)||h;f(e);let i=o||r.get(e)||null;m=m||443,(v=d.connect({highWaterMark:16384,...q,servername:p,session:i,localAddress:s,ALPNProtocols:a?b?["h2","http/1.1"]:["http/1.1","h2"]:["http/1.1"],socket:t,port:m,host:h})).on("session",function(a){r.set(e,a)})}else{f(!t,"httpSocket can only be sent on TLS update"),m=m||80;let a={highWaterMark:65536,...q,localAddress:s,port:m,host:h},b=e.isIP(h);0!==b&&p&&p!==h&&(a.host=p,a.lookup=(a,c,d)=>{c.all?d(null,[{address:h,family:b}]):d(null,h,b)}),v=e.connect(a),!0===k&&(v.alpnProtocol="h2")}if(null==q.keepAlive||q.keepAlive){let a=void 0===q.keepAliveInitialDelay?6e4:q.keepAliveInitialDelay;v.setKeepAlive(!0,a)}let w=g.setupConnectTimeout(new WeakRef(v),{timeout:n,hostname:h,port:m});return v.setNoDelay(!0).once("https:"===l?"secureConnect":"connect",function(){if(queueMicrotask(w),u){let a=u;u=null,a(null,this)}}).on("error",function(a){if(queueMicrotask(w),u){let b=u;u=null,b(function(a,b,c){if(a instanceof AggregateError&&("ETIMEDOUT"===a.code||a.errors.some(a=>null!=a&&"ETIMEDOUT"===a.code))){let d="Connect Timeout Error";Array.isArray(b.autoSelectFamilyAttemptedAddresses)?d+=` (attempted addresses: ${b.autoSelectFamilyAttemptedAddresses.join(", ")},`:d+=` (attempted address: ${c.hostname}:${c.port},`;let e=new i(d+=` timeout: ${c.timeout}ms)`);return e.cause=a,e}return a}(a,this,{timeout:n,hostname:h,port:m}))}}),v}}},55599:(a,b,c)=>{"use strict";c(1758),c(8735),c(42541),c(90943),c(72610),c(51525),c(43212),Symbol("streamFailure")},55720:(a,b,c)=>{"use strict";let{getResponseData:d,buildKey:e,addMockDispatch:f}=c(70634),{kDispatches:g,kDispatchKey:h,kDefaultHeaders:i,kDefaultTrailers:j,kContentLength:k,kMockDispatch:l,kIgnoreTrailingSlash:m}=c(80830),{InvalidArgumentError:n}=c(61448),{serializePathWithQuery:o}=c(84285),{types:{isPromise:p}}=c(57975);class q{constructor(a){this[l]=a}delay(a){if("number"!=typeof a||!Number.isInteger(a)||a<=0)throw new n("waitInMs must be a valid integer > 0");return this[l].delay=a,this}persist(){return this[l].persist=!0,this}times(a){if("number"!=typeof a||!Number.isInteger(a)||a<=0)throw new n("repeatTimes must be a valid integer > 0");return this[l].times=a,this}}class r{constructor(a,b){if("object"!=typeof a)throw new n("opts must be an object");if(void 0===a.path)throw new n("opts.path must be defined");if(void 0===a.method&&(a.method="GET"),"string"==typeof a.path)if(a.query)a.path=o(a.path,a.query);else{const b=new URL(a.path,"data://");a.path=b.pathname+b.search}"string"==typeof a.method&&(a.method=a.method.toUpperCase()),this[h]=e(a),this[g]=b,this[m]=a.ignoreTrailingSlash??!1,this[i]={},this[j]={},this[k]=!1}createMockScopeDispatchData({statusCode:a,data:b,responseOptions:c}){let e=d(b),f=this[k]?{"content-length":e.length}:{};return{statusCode:a,data:b,headers:{...this[i],...f,...c.headers},trailers:{...this[j],...c.trailers}}}validateReplyParameters(a){if(void 0===a.statusCode)throw new n("statusCode must be defined");if("object"!=typeof a.responseOptions||null===a.responseOptions)throw new n("responseOptions must be an object")}reply(a){if("function"==typeof a){let b=a=>{if("object"!=typeof a||null===a)throw new n("reply options callback must return an object");let b={data:"",responseOptions:{},...a};return this.validateReplyParameters(b),{...this.createMockScopeDispatchData(b)}};return new q(f(this[g],this[h],c=>{let d=a(c);return p(d)?d.then(b):b(d)},{ignoreTrailingSlash:this[m]}))}let b={statusCode:a,data:void 0===arguments[1]?"":arguments[1],responseOptions:void 0===arguments[2]?{}:arguments[2]};this.validateReplyParameters(b);let c=this.createMockScopeDispatchData(b);return new q(f(this[g],this[h],c,{ignoreTrailingSlash:this[m]}))}replyWithError(a){if(void 0===a)throw new n("error must be defined");return new q(f(this[g],this[h],{error:a},{ignoreTrailingSlash:this[m]}))}defaultReplyHeaders(a){if(void 0===a)throw new n("headers must be defined");return this[i]=a,this}defaultReplyTrailers(a){if(void 0===a)throw new n("trailers must be defined");return this[j]=a,this}replyContentLength(){return this[k]=!0,this}}a.exports.MockInterceptor=r,a.exports.MockScope=q},55815:(a,b,c)=>{"use strict";let{Headers:d,HeadersList:e,fill:f,getHeadersGuard:g,setHeadersGuard:h,setHeadersList:i}=c(28665),{extractBody:j,cloneBody:k,mixinBody:l,streamRegistry:m,bodyUnusable:n}=c(35381),o=c(84285),p=c(57975),{kEnumerableProperty:q}=o,{isValidReasonPhrase:r,isCancelled:s,isAborted:t,isErrorLike:u,environmentSettingsObject:v}=c(42425),{redirectStatusSet:w,nullBodyStatus:x}=c(19608),{webidl:y}=c(32984),{URLSerializer:z}=c(16537),{kConstruct:A}=c(49176),B=c(34589),{isomorphicEncode:C,serializeJavascriptValueToJSONString:D}=c(70745),E=new TextEncoder("utf-8");class F{#e;#a;static error(){return Q(M(),"immutable")}static json(a,b){y.argumentLengthCheck(arguments,1,"Response.json"),b=y.converters.ResponseInit(b);let c=j(E.encode(D(a))),d=Q(L({}),"response");return P(d,b,{body:c[0],type:"application/json"}),d}static redirect(a,b=302){let c;y.argumentLengthCheck(arguments,1,"Response.redirect"),a=y.converters.USVString(a),b=y.converters["unsigned short"](b);try{c=new URL(a,v.settingsObject.baseUrl)}catch(b){throw TypeError(`Failed to parse URL from ${a}`,{cause:b})}if(!w.has(b))throw RangeError(`Invalid status code ${b}`);let d=Q(L({}),"immutable");d.#a.status=b;let e=C(z(c));return d.#a.headersList.append("location",e,!0),d}constructor(a=null,b){if(y.util.markAsUncloneable(this),a===A)return;null!==a&&(a=y.converters.BodyInit(a,"Response","body")),b=y.converters.ResponseInit(b),this.#a=L({}),this.#e=new d(A),h(this.#e,"response"),i(this.#e,this.#a.headersList);let c=null;if(null!=a){const[b,d]=j(a);c={body:b,type:d}}P(this,b,c)}get type(){return y.brandCheck(this,F),this.#a.type}get url(){y.brandCheck(this,F);let a=this.#a.urlList,b=a[a.length-1]??null;return null===b?"":z(b,!0)}get redirected(){return y.brandCheck(this,F),this.#a.urlList.length>1}get status(){return y.brandCheck(this,F),this.#a.status}get ok(){return y.brandCheck(this,F),this.#a.status>=200&&this.#a.status<=299}get statusText(){return y.brandCheck(this,F),this.#a.statusText}get headers(){return y.brandCheck(this,F),this.#e}get body(){return y.brandCheck(this,F),this.#a.body?this.#a.body.stream:null}get bodyUsed(){return y.brandCheck(this,F),!!this.#a.body&&o.isDisturbed(this.#a.body.stream)}clone(){if(y.brandCheck(this,F),n(this.#a))throw y.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let a=K(this.#a);return 0!==this.#a.urlList.length&&this.#a.body?.stream&&m.register(this,new WeakRef(this.#a.body.stream)),Q(a,g(this.#e))}[p.inspect.custom](a,b){null===b.depth&&(b.depth=2),b.colors??=!0;let c={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${p.formatWithOptions(b,c)}`}static getResponseHeaders(a){return a.#e}static setResponseHeaders(a,b){a.#e=b}static getResponseState(a){return a.#a}static setResponseState(a,b){a.#a=b}}let{getResponseHeaders:G,setResponseHeaders:H,getResponseState:I,setResponseState:J}=F;function K(a){if(a.internalResponse)return O(K(a.internalResponse),a.type);let b=L({...a,body:null});return null!=a.body&&(b.body=k(a.body)),b}function L(a){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...a,headersList:a?.headersList?new e(a?.headersList):new e,urlList:a?.urlList?[...a.urlList]:[]}}function M(a){return L({type:"error",status:0,error:u(a)?a:Error(a?String(a):a),aborted:a&&"AbortError"===a.name})}function N(a,b){return b={internalResponse:a,...b},new Proxy(a,{get:(a,c)=>c in b?b[c]:a[c],set:(a,c,d)=>(B(!(c in b)),a[c]=d,!0)})}function O(a,b){return"basic"===b?N(a,{type:"basic",headersList:a.headersList}):"cors"===b?N(a,{type:"cors",headersList:a.headersList}):"opaque"===b?N(a,{type:"opaque",urlList:[],status:0,statusText:"",body:null}):"opaqueredirect"===b?N(a,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null}):void B(!1)}function P(a,b,c){if(null!==b.status&&(b.status<200||b.status>599))throw RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in b&&null!=b.statusText&&!r(String(b.statusText)))throw TypeError("Invalid statusText");if("status"in b&&null!=b.status&&(I(a).status=b.status),"statusText"in b&&null!=b.statusText&&(I(a).statusText=b.statusText),"headers"in b&&null!=b.headers&&f(G(a),b.headers),c){if(x.includes(a.status))throw y.errors.exception({header:"Response constructor",message:`Invalid response status code ${a.status}`});I(a).body=c.body,null==c.type||I(a).headersList.contains("content-type",!0)||I(a).headersList.append("content-type",c.type,!0)}}function Q(a,b){let c=new F(A);J(c,a);let e=new d(A);return H(c,e),i(e,a.headersList),h(e,b),0!==a.urlList.length&&a.body?.stream&&m.register(c,new WeakRef(a.body.stream)),c}Reflect.deleteProperty(F,"getResponseHeaders"),Reflect.deleteProperty(F,"setResponseHeaders"),Reflect.deleteProperty(F,"getResponseState"),Reflect.deleteProperty(F,"setResponseState"),l(F,I),Object.defineProperties(F.prototype,{type:q,url:q,status:q,ok:q,redirected:q,statusText:q,headers:q,clone:q,body:q,bodyUsed:q,[Symbol.toStringTag]:{value:"Response",configurable:!0}}),Object.defineProperties(F,{json:q,redirect:q,error:q}),y.converters.XMLHttpRequestBodyInit=function(a,b,c){return"string"==typeof a?y.converters.USVString(a,b,c):y.is.Blob(a)||y.is.BufferSource(a)||y.is.FormData(a)||y.is.URLSearchParams(a)?a:y.converters.DOMString(a,b,c)},y.converters.BodyInit=function(a,b,c){return y.is.ReadableStream(a)||a?.[Symbol.asyncIterator]?a:y.converters.XMLHttpRequestBodyInit(a,b,c)},y.converters.ResponseInit=y.dictionaryConverter([{key:"status",converter:y.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:y.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:y.converters.HeadersInit}]),y.is.Response=y.util.MakeTypeAssertion(F),a.exports={isNetworkError:function(a){return"error"===a.type&&0===a.status},makeNetworkError:M,makeResponse:L,makeAppropriateNetworkError:function(a,b=null){return B(s(a)),t(a)?M(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:b})):M(Object.assign(new DOMException("Request was cancelled."),{cause:b}))},filterResponse:O,Response:F,cloneResponse:K,fromInnerResponse:Q,getResponseState:I}},56248:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiResponsesToOpenAIResponse:()=>p,openaiToOpenAIResponsesResponse:()=>f});var d=c(70556),e=c(42541);function f(a,b){if(!a){var c=b;if(c.completedSent)return[];let a=[],d=(b,d)=>{d.sequence_number=++c.seq,a.push({event:b,data:d})};for(let a in c.msgItemAdded)k(c,d,a);for(let a in j(c,d),c.funcCallIds)m(c,d,a);return n(c,d),a}if(!a.choices?.length)return[];let d=[],e=(a,c)=>{c.sequence_number=++b.seq,d.push({event:a,data:c})},f=a.choices[0],o=f.index||0,p=f.delta||{};if(b.started||(b.started=!0,b.responseId=a.id?`resp_${a.id}`:b.responseId,e("response.created",{type:"response.created",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress",background:!1,error:null,output:[]}}),e("response.in_progress",{type:"response.in_progress",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress"}})),p.reasoning_content&&(h(b,e,o),i(b,e,p.reasoning_content)),p.content){let a=p.content;if(a.includes("<think>")&&(b.inThinking=!0,a=a.replace("<think>",""),h(b,e,o)),a.includes("</think>")){let c=a.split("</think>"),d=c[0],f=c.slice(1).join("</think>");d&&i(b,e,d),j(b,e),b.inThinking=!1,a=f}if(b.inThinking&&a)return i(b,e,a),d;a&&function(a,b,c,d){if(!a.msgItemAdded[c]){a.msgItemAdded[c]=!0,a.msgOutputIndices[c]=g(a);let d=`msg_${a.responseId}_${c}`;b("response.output_item.added",{type:"response.output_item.added",output_index:a.msgOutputIndices[c],item:{id:d,type:"message",content:[],role:"assistant"}})}a.msgContentAdded[c]||(a.msgContentAdded[c]=!0,b("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${a.responseId}_${c}`,output_index:a.msgOutputIndices[c],content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:""}})),b("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${a.responseId}_${c}`,output_index:a.msgOutputIndices[c],content_index:0,delta:d,logprobs:[]}),a.msgTextBuf[c]||(a.msgTextBuf[c]=""),a.msgTextBuf[c]+=d}(b,e,o,a)}if(p.tool_calls)for(let a of(k(b,e,o),p.tool_calls))!function(a,b,c){let d=c.index??0,e=c.id,f=c.function?.name;if(void 0===a.funcOutputIndices[d]&&(a.funcOutputIndices[d]=g(a)),f){let b=a.toolNameMap?.get(f)||f;a.funcNames[d]=b,a.toolNameMap?.customToolNames?.has(b)&&(a.funcTypes[d]="custom")}let h="custom"===a.funcTypes[d];if(!a.funcCallIds[d]&&e){a.funcCallIds[d]=e;let c=l(e,h);b("response.output_item.added",{type:"response.output_item.added",output_index:a.funcOutputIndices[d],item:h?{id:c,type:"custom_tool_call",call_id:e,name:a.funcNames[d]||"",input:""}:{id:c,type:"function_call",arguments:"",call_id:e,name:a.funcNames[d]||""}})}if(a.funcArgsBuf[d]||(a.funcArgsBuf[d]=""),c.function?.arguments){let f=a.funcCallIds[d]||e;h||f&&b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:l(f,!1),output_index:a.funcOutputIndices[d],delta:c.function.arguments}),a.funcArgsBuf[d]+=c.function.arguments}}(b,e,a);if(a.usage&&"object"==typeof a.usage&&!b.usage&&(b.usage=a.usage),f.finish_reason){for(let a in b.msgItemAdded)k(b,e,a);for(let a in j(b,e),b.funcCallIds)m(b,e,a);n(b,e)}return d}function g(a){let b=Number.isInteger(a.nextOutputIndex)?a.nextOutputIndex:0;return a.nextOutputIndex=b+1,b}function h(a,b,c){a.reasoningId||(a.reasoningId=`rs_${a.responseId}_${c}`,a.reasoningIndex=g(a),b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:a.reasoningId,type:"reasoning",summary:[]}}),b("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:a.reasoningId,output_index:c,summary_index:0,part:{type:"summary_text",text:""}}),a.reasoningPartAdded=!0)}function i(a,b,c){c&&(a.reasoningBuf+=c,b("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,delta:c}))}function j(a,b){a.reasoningId&&!a.reasoningDone&&(a.reasoningDone=!0,b("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,text:a.reasoningBuf}),b("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,part:{type:"summary_text",text:a.reasoningBuf}}),b("response.output_item.done",{type:"response.output_item.done",output_index:a.reasoningIndex,item:{id:a.reasoningId,type:"reasoning",summary:[{type:"summary_text",text:a.reasoningBuf}]}}))}function k(a,b,c){if(a.msgItemAdded[c]&&!a.msgItemDone[c]){a.msgItemDone[c]=!0;let d=a.msgTextBuf[c]||"",e=`msg_${a.responseId}_${c}`,f=a.msgOutputIndices[c];b("response.output_text.done",{type:"response.output_text.done",item_id:e,output_index:f,content_index:0,text:d,logprobs:[]}),b("response.content_part.done",{type:"response.content_part.done",item_id:e,output_index:f,content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:d}}),b("response.output_item.done",{type:"response.output_item.done",output_index:f,item:{id:e,type:"message",content:[{type:"output_text",annotations:[],logprobs:[],text:d}],role:"assistant"}})}}function l(a,b){return`${b?"ctc":"fc"}_${a}`}function m(a,b,c){let d=a.funcCallIds[c];if(d&&!a.funcItemDone[c]){let e="custom"===a.funcTypes[c],f=a.funcArgsBuf[c]||(e?"":"{}"),g=e?function(a){if("string"!=typeof a)return"";try{let b=JSON.parse(a);if(b&&"object"==typeof b&&"string"==typeof b.input)return b.input}catch{}return a}(f):f,h=a.funcOutputIndices[c],i=l(d,e);e&&g&&b("response.custom_tool_call_input.delta",{type:"response.custom_tool_call_input.delta",item_id:i,output_index:h,delta:g}),b(e?"response.custom_tool_call_input.done":"response.function_call_arguments.done",{type:e?"response.custom_tool_call_input.done":"response.function_call_arguments.done",item_id:i,output_index:h,...e?{input:g}:{arguments:g}}),b("response.output_item.done",{type:"response.output_item.done",output_index:h,item:e?{id:i,type:"custom_tool_call",input:g,call_id:d,name:a.funcNames[c]||""}:{id:i,type:"function_call",arguments:g,call_id:d,name:a.funcNames[c]||""}}),a.funcArgsBuf[c]=g,a.funcItemDone[c]=!0,a.funcArgsDone[c]=!0}}function n(a,b){if(!a.completedSent){a.completedSent=!0;let c={id:a.responseId,object:"response",created_at:a.created,status:"completed",background:!1,error:null,output:function(a){let b=[];for(let c in a.reasoningId&&b.push({index:a.reasoningIndex,item:{id:a.reasoningId,type:"reasoning",summary:a.reasoningBuf?[{type:"summary_text",text:a.reasoningBuf}]:[]}}),a.msgItemAdded)a.msgItemAdded[c]&&b.push({index:a.msgOutputIndices[c]??0,item:{id:`msg_${a.responseId}_${c}`,type:"message",status:"completed",role:"assistant",content:[{type:"output_text",annotations:[],logprobs:[],text:a.msgTextBuf[c]||""}]}});for(let c in a.funcCallIds){let d=a.funcCallIds[c];if(!d)continue;let e="custom"===a.funcTypes[c],f=l(d,e);b.push({index:a.funcOutputIndices[c]??0,item:e?{id:f,type:"custom_tool_call",input:a.funcArgsBuf[c]||"",call_id:d,name:a.funcNames[c]||""}:{id:f,type:"function_call",arguments:a.funcArgsBuf[c]||"{}",call_id:d,name:a.funcNames[c]||""}})}return b.sort((a,b)=>a.index-b.index),b.map(a=>a.item)}(a)};if(a.model&&(c.model=a.model),a.usage&&"object"==typeof a.usage){let b=a.usage.input_tokens??a.usage.prompt_tokens??0,d=a.usage.output_tokens??a.usage.completion_tokens??0,e=a.usage.input_tokens_details?.cached_tokens??a.usage.prompt_tokens_details?.cached_tokens??0,f=a.usage.output_tokens_details?.reasoning_tokens??a.usage.completion_tokens_details?.reasoning_tokens??0,g={input_tokens:b,output_tokens:d,total_tokens:a.usage.total_tokens??b+d};e>0&&(g.input_tokens_details={cached_tokens:e}),f>0&&(g.output_tokens_details={reasoning_tokens:f}),c.usage=g}b("response.completed",{type:"response.completed",response:c})}}function o(a){return a.toolCallIndex>0||a.currentToolCallId?"tool_calls":"stop"}function p(a,b){if(!a){if(b.finishReasonSent||!b.started)return null;let a=o(b);b.finishReasonSent=!0,b.finishReason=a;let c={id:b.chatId||`chatcmpl-${Date.now()}`,object:"chat.completion.chunk",created:b.created||Math.floor(Date.now()/1e3),model:b.model||"unknown",choices:[{index:0,delta:{},finish_reason:a}]};return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}let c=a.type||a.event,d=a.data||a;if(b.started||(b.started=!0,b.chatId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.toolCallIndex=0,b.currentToolCallId=null),"error"===c||"response.failed"===c||d?.response?.status==="failed"||!c&&d?.error){let a,e,f,g,h,i,j,k,l;if(b.finishReasonSent||b.errorSent)return null;let m=(g=(f=(e=(a=d&&"object"==typeof d?d:{}).error??a.response?.error)&&"object"==typeof e&&!Array.isArray(e)?e:{}).code??a.code??("response.failed"===c?"response_failed":"stream_error"),h=f.message||("string"==typeof e?e:null)||a.message||("response.failed"===c?"Responses API request failed":"Responses API stream error"),i=a.type&&a.type!==c&&"error"!==a.type?a.type:null,j="string"==typeof g&&(g.endsWith("_error")||"server_error"===g)?g:null,k=f.type||a.error_type||i||j||"server_error",!("param"in(l={...f,message:h,type:k}))&&"param"in a&&(l.param=a.param),l.code=g,l);return b.error=m,b.errorSent=!0,b.finishReasonSent=!0,{error:m}}if(b.errorSent)return null;if("response.output_text.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{content:a},finish_reason:null}]}:null}if("response.output_text.done"===c)return null;if("response.output_item.added"===c&&(d.item?.type==="function_call"||d.item?.type==="custom_tool_call")){let a=d.item;return b.currentToolCallId=a.call_id||`call_${Date.now()}`,{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{tool_calls:[{index:b.toolCallIndex,id:b.currentToolCallId,type:"function",function:{name:a.name||"",arguments:""}}]},finish_reason:null}]}}if("response.function_call_arguments.delta"===c||"response.custom_tool_call_input.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{tool_calls:[{index:b.toolCallIndex,function:{arguments:a}}]},finish_reason:null}]}:null}if("response.output_item.done"===c&&(d.item?.type==="function_call"||d.item?.type==="custom_tool_call"))return b.toolCallIndex++,null;if("response.completed"===c||"response.done"===c){let a=d.response?.usage;if(a&&"object"==typeof a){let c=a.input_tokens||a.prompt_tokens||0,d=a.output_tokens||a.completion_tokens||0,e=a.input_tokens_details?.cached_tokens||a.cache_read_input_tokens||0;b.usage={prompt_tokens:c,completion_tokens:d,total_tokens:c+d},e>0&&(b.usage.prompt_tokens_details={cached_tokens:e})}if(!b.finishReasonSent){let a=o(b);b.finishReasonSent=!0,b.finishReason=a;let c={id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{},finish_reason:a}]};return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}return null}if("response.reasoning_summary_text.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{reasoning_content:a},finish_reason:null}]}:null}return null}(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,null,f),(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,null,p)},56698:(a,b,c)=>{"use strict";let d=c(34589);class e{#bg=!1;#bh;#ay;#bi;#bj;constructor(a,b,c){if("function"!=typeof a)throw TypeError("callback must be a function");this.#bh=a,this.#ay=b,this.#bj=c}onRequestStart(a,b){this.#bg=!1,this.#bi=b}onRequestUpgrade(a,b,c,d){this.#ay.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,e){if(d(null!=this.#bh),this.#bg=304===b||this.#bj&&b>=500&&b<=504,this.#bh(this.#bg,this.#bi,b,c),this.#bh=null,this.#bg)return!0;this.#ay.onRequestStart?.(a,this.#bi),this.#ay.onResponseStart?.(a,b,c,e)}onResponseData(a,b){if(!this.#bg)return this.#ay.onResponseData?.(a,b)}onResponseEnd(a,b){this.#bg||this.#ay.onResponseEnd?.(a,b)}onResponseError(a,b){if(!this.#bg){if(this.#bh){if(this.#bj){this.#bg=!0,this.#bh(!0,this.#bi),this.#bh=null;return}this.#bh(!1),this.#bh=null}if("function"==typeof this.#ay.onResponseError)this.#ay.onResponseError(a,b);else throw b}}}a.exports=e},56758:(a,b,c)=>{"use strict";let d={__proto__:null,"node:crypto":()=>c(77598),"node:sqlite":()=>c(79868)},e=["crypto","sqlite"];class f{#bk=new Map;clear(){this.#bk.clear()}has(a){return this.#bk.get(a)??this.#bl(a)}set(a,b){if(!1===e.includes(a))throw TypeError(`unknown feature: ${a}`);this.#bk.set(a,b)}#bl(a){let b=function(a){if(e.includes(a)){var b=`node:${a}`;try{return d[b](),!0}catch(a){if("ERR_UNKNOWN_BUILTIN_MODULE"!==a.code&&"ERR_NO_CRYPTO"!==a.code)throw a;return!1}}throw TypeError(`unknown feature: ${a}`)}(a);return this.#bk.set(a,b),b}}let g=new f;a.exports.runtimeFeatures=g,a.exports.default=g},57431:(a,b,c)=>{"use strict";c.r(b),c.d(b,{admitApiKeyRequest:()=>p,checkApiKeyBudget:()=>u,createApiKey:()=>m,deleteApiKey:()=>q,getApiKeyById:()=>l,getApiKeyConnectionPolicy:()=>t,getApiKeyPolicy:()=>s,getApiKeys:()=>k,maskApiKey:()=>i,rotateApiKey:()=>o,updateApiKey:()=>n,validateApiKey:()=>r});var d=c(27137),e=c(24081);let f=new Map,g=new Map;function h(a){let b=a;if(!Array.isArray(b)){if(!b)return[];try{b=JSON.parse(b)}catch{return[]}}return Array.isArray(b)?[...new Set(b.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean))]:[]}function i(a){return a?a.length<=12?`${a.slice(0,4)}…`:`${a.slice(0,8)}…${a.slice(-4)}`:null}function j(a,b=!1){return a?{id:a.id,key:b?a.key:void 0,maskedKey:i(a.key),name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,budgetDaily:a.budgetDaily||0,budgetMonthly:a.budgetMonthly||0,requestsPerMinute:a.requestsPerMinute||0,allowedModels:function(a){if(Array.isArray(a))return a;if(!a)return[];try{return JSON.parse(a)}catch{return[]}}(a.allowedModels),allowedConnectionIds:h(a.allowedConnectionIds)}:null}async function k(a=!1){return(await (0,e.cK)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(b=>j(b,a))}async function l(a,b=!1){return j((await (0,e.cK)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]),b)}async function m(a,b){if(!b)throw Error("machineId is required");let f=await (0,e.cK)(),{generateApiKeyWithMachine:g}=await c.e(6103).then(c.bind(c,86103)),h=g(b),i={id:(0,d.A)(),name:a,key:h.key,machineId:b,isActive:!0,createdAt:new Date().toISOString()};return f.run("INSERT INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[i.id,i.key,i.name,i.machineId,1,i.createdAt]),i}async function n(a,b){let c=await (0,e.cK)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let f={...j(e,!0),...b};c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, isActive = ?, budgetDaily = ?, budgetMonthly = ?, requestsPerMinute = ?, allowedModels = ?, allowedConnectionIds = ? WHERE id = ?",[f.key,f.name,f.machineId,+!!f.isActive,Number(f.budgetDaily)||0,Number(f.budgetMonthly)||0,Number(f.requestsPerMinute)||0,JSON.stringify(f.allowedModels||[]),JSON.stringify(h(f.allowedConnectionIds)),a]),d=f}),d}async function o(a){let b=await (0,e.cK)(),d=b.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!d)return null;let{generateApiKeyWithMachine:f}=await c.e(6103).then(c.bind(c,86103)),g=f(d.machineId).key;return b.run("UPDATE apiKeys SET key = ? WHERE id = ?",[g,a]),{...j({...d,key:g}),key:g}}async function p(a){let b=(await (0,e.cK)()).get("SELECT budgetDaily, budgetMonthly, requestsPerMinute FROM apiKeys WHERE key = ?",[a]);if(!b)return{allowed:!0,touch(){},release(){}};let c=Number(b.requestsPerMinute)||0;if(c>0){let b=Date.now(),d=(g.get(a)||[]).filter(a=>b-a<6e4);if(d.length>=c){let c=Math.max(1,Math.ceil((6e4-(b-d[0]))/1e3));return g.set(a,d),{allowed:!1,status:429,retryAfter:c,reason:"API key rate limit exceeded"}}d.push(b),!g.has(a)&&g.size>=1e4&&function(a){for(let[b,c]of g)(0===c.length||a-c[c.length-1]>=6e4)&&g.delete(b)}(b),g.set(a,d)}if(!(Number(b.budgetDaily)>0||Number(b.budgetMonthly)>0))return{allowed:!0,touch(){},release(){}};let d=Date.now(),h=f.get(a);if(h&&d-h.activeAt<6e4)return{allowed:!1,status:429,retryAfter:1,reason:"A budgeted request is already in progress"};let i={token:Symbol("budget-slot"),activeAt:d};return f.set(a,i),{allowed:!0,touch:()=>{let b=f.get(a);b?.token===i.token&&(b.activeAt=Date.now())},release:()=>{f.get(a)?.token===i.token&&f.delete(a)}}}async function q(a){let b=(await (0,e.cK)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function r(a){let b=(await (0,e.cK)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}async function s(a){if(!a)return null;let b=(await (0,e.cK)()).get("SELECT isActive, allowedModels, allowedConnectionIds FROM apiKeys WHERE key = ?",[a]);return b?Object.freeze({active:1===b.isActive||!0===b.isActive,allowedModels:Object.freeze(h(b.allowedModels)),allowedConnectionIds:Object.freeze(h(b.allowedConnectionIds))}):null}async function t(a){if(!a)return null;let b=(await (0,e.cK)()).get("SELECT allowedConnectionIds FROM apiKeys WHERE key = ?",[a]);return b?h(b.allowedConnectionIds):null}async function u(a){let b=await (0,e.cK)(),c=b.get("SELECT budgetDaily, budgetMonthly FROM apiKeys WHERE key = ?",[a]);if(!c)return{allowed:!0};let d=c.budgetDaily||0,f=c.budgetMonthly||0;if(d<=0&&f<=0)return{allowed:!0,budgetDaily:d,budgetMonthly:f};let g=0,h=0;try{if(d>0){let c=new Date;c.setHours(0,0,0,0);let d=b.get("SELECT COALESCE(SUM(cost), 0) AS total FROM usageHistory WHERE apiKey = ? AND timestamp >= ?",[a,c.toISOString()]);g=d?.total||0}if(f>0){let c=new Date;c.setDate(1),c.setHours(0,0,0,0);let d=b.get("SELECT COALESCE(SUM(cost), 0) AS total FROM usageHistory WHERE apiKey = ? AND timestamp >= ?",[a,c.toISOString()]);h=d?.total||0}}catch(a){return{allowed:!1,error:!0,reason:"Budget accounting unavailable"}}return d>0&&g>=d?{allowed:!1,reason:`Daily budget exceeded ($${g.toFixed(4)} / $${d})`,spentDaily:g,spentMonthly:h,budgetDaily:d,budgetMonthly:f}:f>0&&h>=f?{allowed:!1,reason:`Monthly budget exceeded ($${h.toFixed(4)} / $${f})`,spentDaily:g,spentMonthly:h,budgetDaily:d,budgetMonthly:f}:{allowed:!0,spentDaily:g,spentMonthly:h,budgetDaily:d,budgetMonthly:f}}},57435:(a,b,c)=>{"use strict";let{Readable:d,Duplex:e,PassThrough:f}=c(57075),g=c(34589),{AsyncResource:h}=c(16698),{InvalidArgumentError:i,InvalidReturnValueError:j,RequestAbortedError:k}=c(61448),l=c(84285),{kBodyUsed:m}=c(49176),{addSignal:n,removeSignal:o}=c(73135);function p(){}let q=Symbol("resume");class r extends d{constructor(){super({autoDestroy:!0}),this[q]=null,this[m]=!0}_read(){let{[q]:a}=this;a&&(this[q]=null,a())}_destroy(a,b){this._read(),b(a)}}class s extends d{constructor(a){super({autoDestroy:!0}),this[q]=a}_read(){this[q]()}_destroy(a,b){a||this._readableState.endEmitted||(a=new k),b(a)}}class t extends h{constructor(a,b){if(!a||"object"!=typeof a)throw new i("invalid opts");if("function"!=typeof b)throw new i("invalid handler");const{signal:c,method:d,opaque:f,onInfo:g,responseHeaders:h}=a;if(c&&"function"!=typeof c.on&&"function"!=typeof c.addEventListener)throw new i("signal must be an EventEmitter or EventTarget");if("CONNECT"===d)throw new i("invalid method");if(g&&"function"!=typeof g)throw new i("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=f||null,this.responseHeaders=h||null,this.handler=b,this.abort=null,this.context=null,this.onInfo=g||null,this.req=new r().on("error",p),this.ret=new e({readableObjectMode:a.objectMode,autoDestroy:!0,read:()=>{let{body:a}=this;a?.resume&&a.resume()},write:(a,b,c)=>{let{req:d}=this;d.push(a,b)||d._readableState.destroyed?c():d[q]=c},destroy:(a,b)=>{let{body:c,req:d,res:e,ret:f,abort:g}=this;a||f._readableState.endEmitted||(a=new k),g&&a&&g(),l.destroy(c,a),l.destroy(d,a),l.destroy(e,a),o(this),b(a)}}).on("prefinish",()=>{let{req:a}=this;a.push(null)}),this.res=null,n(this,c)}onRequestStart(a,b){let{res:c}=this;this.reason?a.abort(this.reason):(g(!c,"pipeline cannot be retried"),this.abort=b=>a.abort(b),this.context=b)}onResponseStart(a,b,c,d){let e,{opaque:f,handler:g,context:h}=this;if(b<200){if(this.onInfo){let d=a?.rawHeaders,e="raw"===this.responseHeaders?l.parseRawHeaders(d):c;this.onInfo({statusCode:b,headers:e})}return}this.res=new s(()=>a.resume());try{this.handler=null;let d=a?.rawHeaders,i="raw"===this.responseHeaders?l.parseRawHeaders(d):c;e=this.runInAsyncScope(g,null,{statusCode:b,headers:i,opaque:f,body:this.res,context:h})}catch(a){throw this.res.on("error",p),a}if(!e||"function"!=typeof e.on)throw new j("expected Readable");e.on("data",a=>{let{ret:b,body:c}=this;!b.push(a)&&c.pause&&c.pause()}).on("error",a=>{let{ret:b}=this;l.destroy(b,a)}).on("end",()=>{let{ret:a}=this;a.push(null)}).on("close",()=>{let{ret:a}=this;a._readableState.ended||l.destroy(a,new k)}),this.body=e}onResponseData(a,b){let{res:c}=this;!1===c.push(b)&&a.pause()}onResponseEnd(a,b){let{res:c}=this;c.push(null)}onResponseError(a,b){let{ret:c}=this;this.handler=null,l.destroy(c,b)}}a.exports=function(a,b){try{let c=new t(a,b);return this.dispatch({...a,body:c.req},c),c.ret}catch(a){return new f().destroy(a)}}},57472:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d={id:"tencent",alias:"hunyuan",aliases:["tencent-hunyuan"],category:"apikey",authModes:["apikey"],display:{name:"Tencent Hunyuan",icon:"cloud",color:"#0052D9",textIcon:"HY",website:"https://cloud.tencent.com/product/hunyuan",notice:{apiKeyUrl:"https://console.cloud.tencent.com/hunyuan/api-key"}},transport:{baseUrl:"https://api.hunyuan.cloud.tencent.com/v1/chat/completions",validateUrl:"https://api.hunyuan.cloud.tencent.com/v1/models",format:"openai"},models:[{id:"hunyuan-turbos-latest",name:"Hunyuan TurboS Latest",contextLength:2e5},{id:"hunyuan-t1-latest",name:"Hunyuan T1 Latest",contextLength:256e3}],serviceKinds:["llm"]}},58455:(a,b,c)=>{"use strict";c.d(b,{M:()=>e});var d=c(8735);function e(a){let b=a.max_tokens||d.Uc;return a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&b<d.eo&&(b=d.eo),a.thinking?.budget_tokens&&b<=a.thinking.budget_tokens&&(b=a.thinking.budget_tokens+1024),b}},58609:(a,b,c)=>{"use strict";c.d(b,{U:()=>f});var d=c(24081),e=c(50743);function f(a){return{async get(b,c=null){let f=(await (0,d.cK)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.cK)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.cK)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.cK)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.cK)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.cK)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},59011:(a,b,c)=>{"use strict";c.d(b,{T:()=>D});var d=c(55511),e=c(69384);let f=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
291
+ `),f("data: [DONE]\n\n");try{n||(n=!0,k.stdin.end())}catch{}let e=setTimeout(()=>{k.killed||k.kill("SIGKILL")},2e3);e.unref?.(),b.close(),y()},K="";k.stdout.on("data",b=>{let c;for(K+=b.toString("utf8");-1!==(c=K.indexOf("\n"));){let b,e=K.slice(0,c).trim();if(K=K.slice(c+1),e){try{b=JSON.parse(e)}catch{continue}if(!u&&void 0!==b.result&&!b.method){u=!0,E("session/new",{cwd:p,mcpServers:[],model:a||void 0});continue}if(u&&!v&&void 0!==b.result&&!b.method){if(!(t=(b.result||{}).sessionId||null))return void J("Devin ACP: session/new returned no sessionId");v=!0,w=!0,E("session/prompt",{sessionId:t,prompt:[{type:"text",text:o}]});continue}if(v&&w&&void 0!==b.result&&!b.method){if(!B){let a=b.result||void 0,c=function(a){if("string"==typeof a.content)return a.content;if("string"==typeof a.text)return a.text;let b=a.message;if(b&&"string"==typeof b.content)return b.content;let c=a.messages;return Array.isArray(c)?c.filter(a=>"assistant"===a.role).map(a=>String(a.content||"")).join("\n"):""}(a);c&&(C=c,F(c));let d=a&&a.stopReason||"";if(d&&"cancelled"!==d)return void J()}continue}if("session/request_permission"===b.method&&void 0!==b.id){let a=b.params?.options||[],c=a.find(a=>/allow/i.test(String(a.kind||"")))||a[0];c&&k.stdin.write(JSON.stringify({jsonrpc:"2.0",id:b.id,result:{outcome:{outcome:"selected",optionId:c.optionId}}})+"\n");continue}if("_cognition.ai/agent_stopped"===b.method||"$/agent_stopped"===b.method)return void("error"===b.params?.cause?J(String(b.params?.errorMessage||b.params?.message||b.params?.error||"Devin agent error")):J());if("session/update"===b.method||"$/update"===b.method){let a=b.params;if(!a)continue;let c=a.update||{},e=c.sessionUpdate||a.type,f=void 0!==c.content?c.content:a.content,g="string"==typeof f?f:f?.text??a.delta??a.text??"";if(x&&!G&&("tool_call"===e||"tool_call_update"===e)){let a=c.toolCallId;if("string"==typeof c.title&&c.title.startsWith("Calling mcp_")&&/from clientTools\b/.test(c.title)){var d;let b=c.title.match(/^Calling (mcp_\S+)\b/),e=(d=b?b[1]:"").startsWith(m)?d.slice(m.length):d;a&&e&&H.set(a,e)}let b=a?H.get(a):null;if(b&&c.rawInput){G=!0,H.delete(a),I(b,c.rawInput,a||`call_${Date.now()}`),J(null,"tool_calls");return}continue}if("agent_message_chunk"===e||"message_delta"===e||"text_delta"===e||"content_delta"===e)g&&F(g);else if("agent_thought_chunk"===e);else if("message_stop"===e||"stop"===e||"done"===e)return void J();else if("error"===e)return void J(String(a.message||a.error||"Devin ACP error"));continue}if(b.error)return void J(`Devin ACP error ${b.error.code}: ${b.error.message}`)}}}),k.stderr.on("data",a=>{g?.debug?.("DEVIN",`stderr: ${a.toString("utf8").slice(0,200)}`)}),k.on("close",a=>{D?y():0===a||l?J():J(B?void 0:`Devin CLI exited with code ${a}`)}),E("initialize",{protocolVersion:"0.3",clientInfo:{name:"zevairouter",version:"1.0"},capabilities:{}})}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}}),url:"devin://acp/stdio",headers:{},transformedBody:{model:a,cwd:p,clientTools:u.map(a=>a?.function?.name||a?.name).filter(Boolean),clientToolResults:Object.keys(v),mcpServers:Object.keys(s),promptLength:Array.isArray(b?.messages)?b.messages.length:Array.isArray(b?.input)?b.input.length:0}}}}let p=o},55285:(a,b,c)=>{"use strict";let d,e=c(77030),f=c(34589),g=c(84285),{InvalidArgumentError:h,ConnectTimeoutError:i}=c(61448),j=class{constructor(a){this._maxCachedSessions=a,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(a=>{if(this._sessionCache.size<this._maxCachedSessions)return;let b=this._sessionCache.get(a);void 0!==b&&void 0===b.deref()&&this._sessionCache.delete(a)})}get(a){let b=this._sessionCache.get(a);return b?b.deref():null}set(a,b){if(0!==this._maxCachedSessions){if(this._sessionCache.has(a))this._sessionCache.delete(a);else if(this._sessionCache.size>=this._maxCachedSessions){for(let[a,b]of this._sessionCache)if(void 0===b.deref())return void this._sessionCache.delete(a);let a=this._sessionCache.keys().next();a.done||this._sessionCache.delete(a.value)}this._sessionCache.set(a,new WeakRef(b)),this._sessionRegistry.register(b,a)}}};a.exports=function({allowH2:a,preferH2:b,useH2c:k,maxCachedSessions:l,socketPath:m,timeout:n,session:o,...p}){if(null!=l&&(!Number.isInteger(l)||l<0))throw new h("maxCachedSessions must be a positive integer or zero");let q={path:m,...p},r=new j(null==l?100:l);return n=null==n?1e4:n,a=null==a||a,function({hostname:h,host:j,protocol:l,port:m,servername:p,localAddress:s,httpSocket:t},u){let v;if("https:"===l){d||(d=c(41692));let e=(p=p||q.servername||g.getServerName(j)||null)||h;f(e);let i=o||r.get(e)||null;m=m||443,(v=d.connect({highWaterMark:16384,...q,servername:p,session:i,localAddress:s,ALPNProtocols:a?b?["h2","http/1.1"]:["http/1.1","h2"]:["http/1.1"],socket:t,port:m,host:h})).on("session",function(a){r.set(e,a)})}else{f(!t,"httpSocket can only be sent on TLS update"),m=m||80;let a={highWaterMark:65536,...q,localAddress:s,port:m,host:h},b=e.isIP(h);0!==b&&p&&p!==h&&(a.host=p,a.lookup=(a,c,d)=>{c.all?d(null,[{address:h,family:b}]):d(null,h,b)}),v=e.connect(a),!0===k&&(v.alpnProtocol="h2")}if(null==q.keepAlive||q.keepAlive){let a=void 0===q.keepAliveInitialDelay?6e4:q.keepAliveInitialDelay;v.setKeepAlive(!0,a)}let w=g.setupConnectTimeout(new WeakRef(v),{timeout:n,hostname:h,port:m});return v.setNoDelay(!0).once("https:"===l?"secureConnect":"connect",function(){if(queueMicrotask(w),u){let a=u;u=null,a(null,this)}}).on("error",function(a){if(queueMicrotask(w),u){let b=u;u=null,b(function(a,b,c){if(a instanceof AggregateError&&("ETIMEDOUT"===a.code||a.errors.some(a=>null!=a&&"ETIMEDOUT"===a.code))){let d="Connect Timeout Error";Array.isArray(b.autoSelectFamilyAttemptedAddresses)?d+=` (attempted addresses: ${b.autoSelectFamilyAttemptedAddresses.join(", ")},`:d+=` (attempted address: ${c.hostname}:${c.port},`;let e=new i(d+=` timeout: ${c.timeout}ms)`);return e.cause=a,e}return a}(a,this,{timeout:n,hostname:h,port:m}))}}),v}}},55599:(a,b,c)=>{"use strict";c(1758),c(8735),c(42541),c(90943),c(72610),c(51525),c(43212),Symbol("streamFailure")},55720:(a,b,c)=>{"use strict";let{getResponseData:d,buildKey:e,addMockDispatch:f}=c(70634),{kDispatches:g,kDispatchKey:h,kDefaultHeaders:i,kDefaultTrailers:j,kContentLength:k,kMockDispatch:l,kIgnoreTrailingSlash:m}=c(80830),{InvalidArgumentError:n}=c(61448),{serializePathWithQuery:o}=c(84285),{types:{isPromise:p}}=c(57975);class q{constructor(a){this[l]=a}delay(a){if("number"!=typeof a||!Number.isInteger(a)||a<=0)throw new n("waitInMs must be a valid integer > 0");return this[l].delay=a,this}persist(){return this[l].persist=!0,this}times(a){if("number"!=typeof a||!Number.isInteger(a)||a<=0)throw new n("repeatTimes must be a valid integer > 0");return this[l].times=a,this}}class r{constructor(a,b){if("object"!=typeof a)throw new n("opts must be an object");if(void 0===a.path)throw new n("opts.path must be defined");if(void 0===a.method&&(a.method="GET"),"string"==typeof a.path)if(a.query)a.path=o(a.path,a.query);else{const b=new URL(a.path,"data://");a.path=b.pathname+b.search}"string"==typeof a.method&&(a.method=a.method.toUpperCase()),this[h]=e(a),this[g]=b,this[m]=a.ignoreTrailingSlash??!1,this[i]={},this[j]={},this[k]=!1}createMockScopeDispatchData({statusCode:a,data:b,responseOptions:c}){let e=d(b),f=this[k]?{"content-length":e.length}:{};return{statusCode:a,data:b,headers:{...this[i],...f,...c.headers},trailers:{...this[j],...c.trailers}}}validateReplyParameters(a){if(void 0===a.statusCode)throw new n("statusCode must be defined");if("object"!=typeof a.responseOptions||null===a.responseOptions)throw new n("responseOptions must be an object")}reply(a){if("function"==typeof a){let b=a=>{if("object"!=typeof a||null===a)throw new n("reply options callback must return an object");let b={data:"",responseOptions:{},...a};return this.validateReplyParameters(b),{...this.createMockScopeDispatchData(b)}};return new q(f(this[g],this[h],c=>{let d=a(c);return p(d)?d.then(b):b(d)},{ignoreTrailingSlash:this[m]}))}let b={statusCode:a,data:void 0===arguments[1]?"":arguments[1],responseOptions:void 0===arguments[2]?{}:arguments[2]};this.validateReplyParameters(b);let c=this.createMockScopeDispatchData(b);return new q(f(this[g],this[h],c,{ignoreTrailingSlash:this[m]}))}replyWithError(a){if(void 0===a)throw new n("error must be defined");return new q(f(this[g],this[h],{error:a},{ignoreTrailingSlash:this[m]}))}defaultReplyHeaders(a){if(void 0===a)throw new n("headers must be defined");return this[i]=a,this}defaultReplyTrailers(a){if(void 0===a)throw new n("trailers must be defined");return this[j]=a,this}replyContentLength(){return this[k]=!0,this}}a.exports.MockInterceptor=r,a.exports.MockScope=q},55815:(a,b,c)=>{"use strict";let{Headers:d,HeadersList:e,fill:f,getHeadersGuard:g,setHeadersGuard:h,setHeadersList:i}=c(28665),{extractBody:j,cloneBody:k,mixinBody:l,streamRegistry:m,bodyUnusable:n}=c(35381),o=c(84285),p=c(57975),{kEnumerableProperty:q}=o,{isValidReasonPhrase:r,isCancelled:s,isAborted:t,isErrorLike:u,environmentSettingsObject:v}=c(42425),{redirectStatusSet:w,nullBodyStatus:x}=c(19608),{webidl:y}=c(32984),{URLSerializer:z}=c(16537),{kConstruct:A}=c(49176),B=c(34589),{isomorphicEncode:C,serializeJavascriptValueToJSONString:D}=c(70745),E=new TextEncoder("utf-8");class F{#e;#a;static error(){return Q(M(),"immutable")}static json(a,b){y.argumentLengthCheck(arguments,1,"Response.json"),b=y.converters.ResponseInit(b);let c=j(E.encode(D(a))),d=Q(L({}),"response");return P(d,b,{body:c[0],type:"application/json"}),d}static redirect(a,b=302){let c;y.argumentLengthCheck(arguments,1,"Response.redirect"),a=y.converters.USVString(a),b=y.converters["unsigned short"](b);try{c=new URL(a,v.settingsObject.baseUrl)}catch(b){throw TypeError(`Failed to parse URL from ${a}`,{cause:b})}if(!w.has(b))throw RangeError(`Invalid status code ${b}`);let d=Q(L({}),"immutable");d.#a.status=b;let e=C(z(c));return d.#a.headersList.append("location",e,!0),d}constructor(a=null,b){if(y.util.markAsUncloneable(this),a===A)return;null!==a&&(a=y.converters.BodyInit(a,"Response","body")),b=y.converters.ResponseInit(b),this.#a=L({}),this.#e=new d(A),h(this.#e,"response"),i(this.#e,this.#a.headersList);let c=null;if(null!=a){const[b,d]=j(a);c={body:b,type:d}}P(this,b,c)}get type(){return y.brandCheck(this,F),this.#a.type}get url(){y.brandCheck(this,F);let a=this.#a.urlList,b=a[a.length-1]??null;return null===b?"":z(b,!0)}get redirected(){return y.brandCheck(this,F),this.#a.urlList.length>1}get status(){return y.brandCheck(this,F),this.#a.status}get ok(){return y.brandCheck(this,F),this.#a.status>=200&&this.#a.status<=299}get statusText(){return y.brandCheck(this,F),this.#a.statusText}get headers(){return y.brandCheck(this,F),this.#e}get body(){return y.brandCheck(this,F),this.#a.body?this.#a.body.stream:null}get bodyUsed(){return y.brandCheck(this,F),!!this.#a.body&&o.isDisturbed(this.#a.body.stream)}clone(){if(y.brandCheck(this,F),n(this.#a))throw y.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let a=K(this.#a);return 0!==this.#a.urlList.length&&this.#a.body?.stream&&m.register(this,new WeakRef(this.#a.body.stream)),Q(a,g(this.#e))}[p.inspect.custom](a,b){null===b.depth&&(b.depth=2),b.colors??=!0;let c={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${p.formatWithOptions(b,c)}`}static getResponseHeaders(a){return a.#e}static setResponseHeaders(a,b){a.#e=b}static getResponseState(a){return a.#a}static setResponseState(a,b){a.#a=b}}let{getResponseHeaders:G,setResponseHeaders:H,getResponseState:I,setResponseState:J}=F;function K(a){if(a.internalResponse)return O(K(a.internalResponse),a.type);let b=L({...a,body:null});return null!=a.body&&(b.body=k(a.body)),b}function L(a){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...a,headersList:a?.headersList?new e(a?.headersList):new e,urlList:a?.urlList?[...a.urlList]:[]}}function M(a){return L({type:"error",status:0,error:u(a)?a:Error(a?String(a):a),aborted:a&&"AbortError"===a.name})}function N(a,b){return b={internalResponse:a,...b},new Proxy(a,{get:(a,c)=>c in b?b[c]:a[c],set:(a,c,d)=>(B(!(c in b)),a[c]=d,!0)})}function O(a,b){return"basic"===b?N(a,{type:"basic",headersList:a.headersList}):"cors"===b?N(a,{type:"cors",headersList:a.headersList}):"opaque"===b?N(a,{type:"opaque",urlList:[],status:0,statusText:"",body:null}):"opaqueredirect"===b?N(a,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null}):void B(!1)}function P(a,b,c){if(null!==b.status&&(b.status<200||b.status>599))throw RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in b&&null!=b.statusText&&!r(String(b.statusText)))throw TypeError("Invalid statusText");if("status"in b&&null!=b.status&&(I(a).status=b.status),"statusText"in b&&null!=b.statusText&&(I(a).statusText=b.statusText),"headers"in b&&null!=b.headers&&f(G(a),b.headers),c){if(x.includes(a.status))throw y.errors.exception({header:"Response constructor",message:`Invalid response status code ${a.status}`});I(a).body=c.body,null==c.type||I(a).headersList.contains("content-type",!0)||I(a).headersList.append("content-type",c.type,!0)}}function Q(a,b){let c=new F(A);J(c,a);let e=new d(A);return H(c,e),i(e,a.headersList),h(e,b),0!==a.urlList.length&&a.body?.stream&&m.register(c,new WeakRef(a.body.stream)),c}Reflect.deleteProperty(F,"getResponseHeaders"),Reflect.deleteProperty(F,"setResponseHeaders"),Reflect.deleteProperty(F,"getResponseState"),Reflect.deleteProperty(F,"setResponseState"),l(F,I),Object.defineProperties(F.prototype,{type:q,url:q,status:q,ok:q,redirected:q,statusText:q,headers:q,clone:q,body:q,bodyUsed:q,[Symbol.toStringTag]:{value:"Response",configurable:!0}}),Object.defineProperties(F,{json:q,redirect:q,error:q}),y.converters.XMLHttpRequestBodyInit=function(a,b,c){return"string"==typeof a?y.converters.USVString(a,b,c):y.is.Blob(a)||y.is.BufferSource(a)||y.is.FormData(a)||y.is.URLSearchParams(a)?a:y.converters.DOMString(a,b,c)},y.converters.BodyInit=function(a,b,c){return y.is.ReadableStream(a)||a?.[Symbol.asyncIterator]?a:y.converters.XMLHttpRequestBodyInit(a,b,c)},y.converters.ResponseInit=y.dictionaryConverter([{key:"status",converter:y.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:y.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:y.converters.HeadersInit}]),y.is.Response=y.util.MakeTypeAssertion(F),a.exports={isNetworkError:function(a){return"error"===a.type&&0===a.status},makeNetworkError:M,makeResponse:L,makeAppropriateNetworkError:function(a,b=null){return B(s(a)),t(a)?M(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:b})):M(Object.assign(new DOMException("Request was cancelled."),{cause:b}))},filterResponse:O,Response:F,cloneResponse:K,fromInnerResponse:Q,getResponseState:I}},56248:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiResponsesToOpenAIResponse:()=>p,openaiToOpenAIResponsesResponse:()=>f});var d=c(70556),e=c(42541);function f(a,b){if(!a){var c=b;if(c.completedSent)return[];let a=[],d=(b,d)=>{d.sequence_number=++c.seq,a.push({event:b,data:d})};for(let a in c.msgItemAdded)k(c,d,a);for(let a in j(c,d),c.funcCallIds)m(c,d,a);return n(c,d),a}if(!a.choices?.length)return[];let d=[],e=(a,c)=>{c.sequence_number=++b.seq,d.push({event:a,data:c})},f=a.choices[0],o=f.index||0,p=f.delta||{};if(b.started||(b.started=!0,b.responseId=a.id?`resp_${a.id}`:b.responseId,e("response.created",{type:"response.created",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress",background:!1,error:null,output:[]}}),e("response.in_progress",{type:"response.in_progress",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress"}})),p.reasoning_content&&(h(b,e,o),i(b,e,p.reasoning_content)),p.content){let a=p.content;if(a.includes("<think>")&&(b.inThinking=!0,a=a.replace("<think>",""),h(b,e,o)),a.includes("</think>")){let c=a.split("</think>"),d=c[0],f=c.slice(1).join("</think>");d&&i(b,e,d),j(b,e),b.inThinking=!1,a=f}if(b.inThinking&&a)return i(b,e,a),d;a&&function(a,b,c,d){if(!a.msgItemAdded[c]){a.msgItemAdded[c]=!0,a.msgOutputIndices[c]=g(a);let d=`msg_${a.responseId}_${c}`;b("response.output_item.added",{type:"response.output_item.added",output_index:a.msgOutputIndices[c],item:{id:d,type:"message",content:[],role:"assistant"}})}a.msgContentAdded[c]||(a.msgContentAdded[c]=!0,b("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${a.responseId}_${c}`,output_index:a.msgOutputIndices[c],content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:""}})),b("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${a.responseId}_${c}`,output_index:a.msgOutputIndices[c],content_index:0,delta:d,logprobs:[]}),a.msgTextBuf[c]||(a.msgTextBuf[c]=""),a.msgTextBuf[c]+=d}(b,e,o,a)}if(p.tool_calls)for(let a of(k(b,e,o),p.tool_calls))!function(a,b,c){let d=c.index??0,e=c.id,f=c.function?.name;if(void 0===a.funcOutputIndices[d]&&(a.funcOutputIndices[d]=g(a)),f){let b=a.toolNameMap?.get(f)||f;a.funcNames[d]=b,a.toolNameMap?.customToolNames?.has(b)&&(a.funcTypes[d]="custom")}let h="custom"===a.funcTypes[d];if(!a.funcCallIds[d]&&e){a.funcCallIds[d]=e;let c=l(e,h);b("response.output_item.added",{type:"response.output_item.added",output_index:a.funcOutputIndices[d],item:h?{id:c,type:"custom_tool_call",call_id:e,name:a.funcNames[d]||"",input:""}:{id:c,type:"function_call",arguments:"",call_id:e,name:a.funcNames[d]||""}})}if(a.funcArgsBuf[d]||(a.funcArgsBuf[d]=""),c.function?.arguments){let f=a.funcCallIds[d]||e;h||f&&b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:l(f,!1),output_index:a.funcOutputIndices[d],delta:c.function.arguments}),a.funcArgsBuf[d]+=c.function.arguments}}(b,e,a);if(a.usage&&"object"==typeof a.usage&&!b.usage&&(b.usage=a.usage),f.finish_reason){for(let a in b.msgItemAdded)k(b,e,a);for(let a in j(b,e),b.funcCallIds)m(b,e,a);n(b,e)}return d}function g(a){let b=Number.isInteger(a.nextOutputIndex)?a.nextOutputIndex:0;return a.nextOutputIndex=b+1,b}function h(a,b,c){a.reasoningId||(a.reasoningId=`rs_${a.responseId}_${c}`,a.reasoningIndex=g(a),b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:a.reasoningId,type:"reasoning",summary:[]}}),b("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:a.reasoningId,output_index:c,summary_index:0,part:{type:"summary_text",text:""}}),a.reasoningPartAdded=!0)}function i(a,b,c){c&&(a.reasoningBuf+=c,b("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,delta:c}))}function j(a,b){a.reasoningId&&!a.reasoningDone&&(a.reasoningDone=!0,b("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,text:a.reasoningBuf}),b("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,part:{type:"summary_text",text:a.reasoningBuf}}),b("response.output_item.done",{type:"response.output_item.done",output_index:a.reasoningIndex,item:{id:a.reasoningId,type:"reasoning",summary:[{type:"summary_text",text:a.reasoningBuf}]}}))}function k(a,b,c){if(a.msgItemAdded[c]&&!a.msgItemDone[c]){a.msgItemDone[c]=!0;let d=a.msgTextBuf[c]||"",e=`msg_${a.responseId}_${c}`,f=a.msgOutputIndices[c];b("response.output_text.done",{type:"response.output_text.done",item_id:e,output_index:f,content_index:0,text:d,logprobs:[]}),b("response.content_part.done",{type:"response.content_part.done",item_id:e,output_index:f,content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:d}}),b("response.output_item.done",{type:"response.output_item.done",output_index:f,item:{id:e,type:"message",content:[{type:"output_text",annotations:[],logprobs:[],text:d}],role:"assistant"}})}}function l(a,b){return`${b?"ctc":"fc"}_${a}`}function m(a,b,c){let d=a.funcCallIds[c];if(d&&!a.funcItemDone[c]){let e="custom"===a.funcTypes[c],f=a.funcArgsBuf[c]||(e?"":"{}"),g=e?function(a){if("string"!=typeof a)return"";try{let b=JSON.parse(a);if(b&&"object"==typeof b&&"string"==typeof b.input)return b.input}catch{}return a}(f):f,h=a.funcOutputIndices[c],i=l(d,e);e&&g&&b("response.custom_tool_call_input.delta",{type:"response.custom_tool_call_input.delta",item_id:i,output_index:h,delta:g}),b(e?"response.custom_tool_call_input.done":"response.function_call_arguments.done",{type:e?"response.custom_tool_call_input.done":"response.function_call_arguments.done",item_id:i,output_index:h,...e?{input:g}:{arguments:g}}),b("response.output_item.done",{type:"response.output_item.done",output_index:h,item:e?{id:i,type:"custom_tool_call",input:g,call_id:d,name:a.funcNames[c]||""}:{id:i,type:"function_call",arguments:g,call_id:d,name:a.funcNames[c]||""}}),a.funcArgsBuf[c]=g,a.funcItemDone[c]=!0,a.funcArgsDone[c]=!0}}function n(a,b){if(!a.completedSent){a.completedSent=!0;let c={id:a.responseId,object:"response",created_at:a.created,status:"completed",background:!1,error:null,output:function(a){let b=[];for(let c in a.reasoningId&&b.push({index:a.reasoningIndex,item:{id:a.reasoningId,type:"reasoning",summary:a.reasoningBuf?[{type:"summary_text",text:a.reasoningBuf}]:[]}}),a.msgItemAdded)a.msgItemAdded[c]&&b.push({index:a.msgOutputIndices[c]??0,item:{id:`msg_${a.responseId}_${c}`,type:"message",status:"completed",role:"assistant",content:[{type:"output_text",annotations:[],logprobs:[],text:a.msgTextBuf[c]||""}]}});for(let c in a.funcCallIds){let d=a.funcCallIds[c];if(!d)continue;let e="custom"===a.funcTypes[c],f=l(d,e);b.push({index:a.funcOutputIndices[c]??0,item:e?{id:f,type:"custom_tool_call",input:a.funcArgsBuf[c]||"",call_id:d,name:a.funcNames[c]||""}:{id:f,type:"function_call",arguments:a.funcArgsBuf[c]||"{}",call_id:d,name:a.funcNames[c]||""}})}return b.sort((a,b)=>a.index-b.index),b.map(a=>a.item)}(a)};if(a.model&&(c.model=a.model),a.usage&&"object"==typeof a.usage){let b=a.usage.input_tokens??a.usage.prompt_tokens??0,d=a.usage.output_tokens??a.usage.completion_tokens??0,e=a.usage.input_tokens_details?.cached_tokens??a.usage.prompt_tokens_details?.cached_tokens??0,f=a.usage.output_tokens_details?.reasoning_tokens??a.usage.completion_tokens_details?.reasoning_tokens??0,g={input_tokens:b,output_tokens:d,total_tokens:a.usage.total_tokens??b+d};e>0&&(g.input_tokens_details={cached_tokens:e}),f>0&&(g.output_tokens_details={reasoning_tokens:f}),c.usage=g}b("response.completed",{type:"response.completed",response:c})}}function o(a){return a.toolCallIndex>0||a.currentToolCallId?"tool_calls":"stop"}function p(a,b){if(!a){if(b.finishReasonSent||!b.started)return null;let a=o(b);b.finishReasonSent=!0,b.finishReason=a;let c={id:b.chatId||`chatcmpl-${Date.now()}`,object:"chat.completion.chunk",created:b.created||Math.floor(Date.now()/1e3),model:b.model||"unknown",choices:[{index:0,delta:{},finish_reason:a}]};return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}let c=a.type||a.event,d=a.data||a;if(b.started||(b.started=!0,b.chatId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.toolCallIndex=0,b.currentToolCallId=null),"error"===c||"response.failed"===c||d?.response?.status==="failed"||!c&&d?.error){let a,e,f,g,h,i,j,k,l;if(b.finishReasonSent||b.errorSent)return null;let m=(g=(f=(e=(a=d&&"object"==typeof d?d:{}).error??a.response?.error)&&"object"==typeof e&&!Array.isArray(e)?e:{}).code??a.code??("response.failed"===c?"response_failed":"stream_error"),h=f.message||("string"==typeof e?e:null)||a.message||("response.failed"===c?"Responses API request failed":"Responses API stream error"),i=a.type&&a.type!==c&&"error"!==a.type?a.type:null,j="string"==typeof g&&(g.endsWith("_error")||"server_error"===g)?g:null,k=f.type||a.error_type||i||j||"server_error",!("param"in(l={...f,message:h,type:k}))&&"param"in a&&(l.param=a.param),l.code=g,l);return b.error=m,b.errorSent=!0,b.finishReasonSent=!0,{error:m}}if(b.errorSent)return null;if("response.output_text.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{content:a},finish_reason:null}]}:null}if("response.output_text.done"===c)return null;if("response.output_item.added"===c&&(d.item?.type==="function_call"||d.item?.type==="custom_tool_call")){let a=d.item;return b.currentToolCallId=a.call_id||`call_${Date.now()}`,{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{tool_calls:[{index:b.toolCallIndex,id:b.currentToolCallId,type:"function",function:{name:a.name||"",arguments:""}}]},finish_reason:null}]}}if("response.function_call_arguments.delta"===c||"response.custom_tool_call_input.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{tool_calls:[{index:b.toolCallIndex,function:{arguments:a}}]},finish_reason:null}]}:null}if("response.output_item.done"===c&&(d.item?.type==="function_call"||d.item?.type==="custom_tool_call"))return b.toolCallIndex++,null;if("response.completed"===c||"response.done"===c){let a=d.response?.usage;if(a&&"object"==typeof a){let c=a.input_tokens||a.prompt_tokens||0,d=a.output_tokens||a.completion_tokens||0,e=a.input_tokens_details?.cached_tokens||a.cache_read_input_tokens||0;b.usage={prompt_tokens:c,completion_tokens:d,total_tokens:c+d},e>0&&(b.usage.prompt_tokens_details={cached_tokens:e})}if(!b.finishReasonSent){let a=o(b);b.finishReasonSent=!0,b.finishReason=a;let c={id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{},finish_reason:a}]};return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}return null}if("response.reasoning_summary_text.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{reasoning_content:a},finish_reason:null}]}:null}return null}(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,null,f),(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,null,p)},56698:(a,b,c)=>{"use strict";let d=c(34589);class e{#bc=!1;#bd;#ay;#be;#bf;constructor(a,b,c){if("function"!=typeof a)throw TypeError("callback must be a function");this.#bd=a,this.#ay=b,this.#bf=c}onRequestStart(a,b){this.#bc=!1,this.#be=b}onRequestUpgrade(a,b,c,d){this.#ay.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,e){if(d(null!=this.#bd),this.#bc=304===b||this.#bf&&b>=500&&b<=504,this.#bd(this.#bc,this.#be,b,c),this.#bd=null,this.#bc)return!0;this.#ay.onRequestStart?.(a,this.#be),this.#ay.onResponseStart?.(a,b,c,e)}onResponseData(a,b){if(!this.#bc)return this.#ay.onResponseData?.(a,b)}onResponseEnd(a,b){this.#bc||this.#ay.onResponseEnd?.(a,b)}onResponseError(a,b){if(!this.#bc){if(this.#bd){if(this.#bf){this.#bc=!0,this.#bd(!0,this.#be),this.#bd=null;return}this.#bd(!1),this.#bd=null}if("function"==typeof this.#ay.onResponseError)this.#ay.onResponseError(a,b);else throw b}}}a.exports=e},56758:(a,b,c)=>{"use strict";let d={__proto__:null,"node:crypto":()=>c(77598),"node:sqlite":()=>c(79868)},e=["crypto","sqlite"];class f{#bg=new Map;clear(){this.#bg.clear()}has(a){return this.#bg.get(a)??this.#bh(a)}set(a,b){if(!1===e.includes(a))throw TypeError(`unknown feature: ${a}`);this.#bg.set(a,b)}#bh(a){let b=function(a){if(e.includes(a)){var b=`node:${a}`;try{return d[b](),!0}catch(a){if("ERR_UNKNOWN_BUILTIN_MODULE"!==a.code&&"ERR_NO_CRYPTO"!==a.code)throw a;return!1}}throw TypeError(`unknown feature: ${a}`)}(a);return this.#bg.set(a,b),b}}let g=new f;a.exports.runtimeFeatures=g,a.exports.default=g},57431:(a,b,c)=>{"use strict";c.r(b),c.d(b,{admitApiKeyRequest:()=>p,checkApiKeyBudget:()=>u,createApiKey:()=>m,deleteApiKey:()=>q,getApiKeyById:()=>l,getApiKeyConnectionPolicy:()=>t,getApiKeyPolicy:()=>s,getApiKeys:()=>k,maskApiKey:()=>i,rotateApiKey:()=>o,updateApiKey:()=>n,validateApiKey:()=>r});var d=c(27137),e=c(24081);let f=new Map,g=new Map;function h(a){let b=a;if(!Array.isArray(b)){if(!b)return[];try{b=JSON.parse(b)}catch{return[]}}return Array.isArray(b)?[...new Set(b.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean))]:[]}function i(a){return a?a.length<=12?`${a.slice(0,4)}…`:`${a.slice(0,8)}…${a.slice(-4)}`:null}function j(a,b=!1){return a?{id:a.id,key:b?a.key:void 0,maskedKey:i(a.key),name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,budgetDaily:a.budgetDaily||0,budgetMonthly:a.budgetMonthly||0,requestsPerMinute:a.requestsPerMinute||0,allowedModels:function(a){if(Array.isArray(a))return a;if(!a)return[];try{return JSON.parse(a)}catch{return[]}}(a.allowedModels),allowedConnectionIds:h(a.allowedConnectionIds)}:null}async function k(a=!1){return(await (0,e.cK)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(b=>j(b,a))}async function l(a,b=!1){return j((await (0,e.cK)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]),b)}async function m(a,b){if(!b)throw Error("machineId is required");let f=await (0,e.cK)(),{generateApiKeyWithMachine:g}=await c.e(6103).then(c.bind(c,86103)),h=g(b),i={id:(0,d.A)(),name:a,key:h.key,machineId:b,isActive:!0,createdAt:new Date().toISOString()};return f.run("INSERT INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[i.id,i.key,i.name,i.machineId,1,i.createdAt]),i}async function n(a,b){let c=await (0,e.cK)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let f={...j(e,!0),...b};c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, isActive = ?, budgetDaily = ?, budgetMonthly = ?, requestsPerMinute = ?, allowedModels = ?, allowedConnectionIds = ? WHERE id = ?",[f.key,f.name,f.machineId,+!!f.isActive,Number(f.budgetDaily)||0,Number(f.budgetMonthly)||0,Number(f.requestsPerMinute)||0,JSON.stringify(f.allowedModels||[]),JSON.stringify(h(f.allowedConnectionIds)),a]),d=f}),d}async function o(a){let b=await (0,e.cK)(),d=b.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!d)return null;let{generateApiKeyWithMachine:f}=await c.e(6103).then(c.bind(c,86103)),g=f(d.machineId).key;return b.run("UPDATE apiKeys SET key = ? WHERE id = ?",[g,a]),{...j({...d,key:g}),key:g}}async function p(a){let b=(await (0,e.cK)()).get("SELECT budgetDaily, budgetMonthly, requestsPerMinute FROM apiKeys WHERE key = ?",[a]);if(!b)return{allowed:!0,touch(){},release(){}};let c=Number(b.requestsPerMinute)||0;if(c>0){let b=Date.now(),d=(g.get(a)||[]).filter(a=>b-a<6e4);if(d.length>=c){let c=Math.max(1,Math.ceil((6e4-(b-d[0]))/1e3));return g.set(a,d),{allowed:!1,status:429,retryAfter:c,reason:"API key rate limit exceeded"}}d.push(b),!g.has(a)&&g.size>=1e4&&function(a){for(let[b,c]of g)(0===c.length||a-c[c.length-1]>=6e4)&&g.delete(b)}(b),g.set(a,d)}if(!(Number(b.budgetDaily)>0||Number(b.budgetMonthly)>0))return{allowed:!0,touch(){},release(){}};let d=Date.now(),h=f.get(a);if(h&&d-h.activeAt<6e4)return{allowed:!1,status:429,retryAfter:1,reason:"A budgeted request is already in progress"};let i={token:Symbol("budget-slot"),activeAt:d};return f.set(a,i),{allowed:!0,touch:()=>{let b=f.get(a);b?.token===i.token&&(b.activeAt=Date.now())},release:()=>{f.get(a)?.token===i.token&&f.delete(a)}}}async function q(a){let b=(await (0,e.cK)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function r(a){let b=(await (0,e.cK)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}async function s(a){if(!a)return null;let b=(await (0,e.cK)()).get("SELECT isActive, allowedModels, allowedConnectionIds FROM apiKeys WHERE key = ?",[a]);return b?Object.freeze({active:1===b.isActive||!0===b.isActive,allowedModels:Object.freeze(h(b.allowedModels)),allowedConnectionIds:Object.freeze(h(b.allowedConnectionIds))}):null}async function t(a){if(!a)return null;let b=(await (0,e.cK)()).get("SELECT allowedConnectionIds FROM apiKeys WHERE key = ?",[a]);return b?h(b.allowedConnectionIds):null}async function u(a){let b=await (0,e.cK)(),c=b.get("SELECT budgetDaily, budgetMonthly FROM apiKeys WHERE key = ?",[a]);if(!c)return{allowed:!0};let d=c.budgetDaily||0,f=c.budgetMonthly||0;if(d<=0&&f<=0)return{allowed:!0,budgetDaily:d,budgetMonthly:f};let g=0,h=0;try{if(d>0){let c=new Date;c.setHours(0,0,0,0);let d=b.get("SELECT COALESCE(SUM(cost), 0) AS total FROM usageHistory WHERE apiKey = ? AND timestamp >= ?",[a,c.toISOString()]);g=d?.total||0}if(f>0){let c=new Date;c.setDate(1),c.setHours(0,0,0,0);let d=b.get("SELECT COALESCE(SUM(cost), 0) AS total FROM usageHistory WHERE apiKey = ? AND timestamp >= ?",[a,c.toISOString()]);h=d?.total||0}}catch(a){return{allowed:!1,error:!0,reason:"Budget accounting unavailable"}}return d>0&&g>=d?{allowed:!1,reason:`Daily budget exceeded ($${g.toFixed(4)} / $${d})`,spentDaily:g,spentMonthly:h,budgetDaily:d,budgetMonthly:f}:f>0&&h>=f?{allowed:!1,reason:`Monthly budget exceeded ($${h.toFixed(4)} / $${f})`,spentDaily:g,spentMonthly:h,budgetDaily:d,budgetMonthly:f}:{allowed:!0,spentDaily:g,spentMonthly:h,budgetDaily:d,budgetMonthly:f}}},57435:(a,b,c)=>{"use strict";let{Readable:d,Duplex:e,PassThrough:f}=c(57075),g=c(34589),{AsyncResource:h}=c(16698),{InvalidArgumentError:i,InvalidReturnValueError:j,RequestAbortedError:k}=c(61448),l=c(84285),{kBodyUsed:m}=c(49176),{addSignal:n,removeSignal:o}=c(73135);function p(){}let q=Symbol("resume");class r extends d{constructor(){super({autoDestroy:!0}),this[q]=null,this[m]=!0}_read(){let{[q]:a}=this;a&&(this[q]=null,a())}_destroy(a,b){this._read(),b(a)}}class s extends d{constructor(a){super({autoDestroy:!0}),this[q]=a}_read(){this[q]()}_destroy(a,b){a||this._readableState.endEmitted||(a=new k),b(a)}}class t extends h{constructor(a,b){if(!a||"object"!=typeof a)throw new i("invalid opts");if("function"!=typeof b)throw new i("invalid handler");const{signal:c,method:d,opaque:f,onInfo:g,responseHeaders:h}=a;if(c&&"function"!=typeof c.on&&"function"!=typeof c.addEventListener)throw new i("signal must be an EventEmitter or EventTarget");if("CONNECT"===d)throw new i("invalid method");if(g&&"function"!=typeof g)throw new i("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=f||null,this.responseHeaders=h||null,this.handler=b,this.abort=null,this.context=null,this.onInfo=g||null,this.req=new r().on("error",p),this.ret=new e({readableObjectMode:a.objectMode,autoDestroy:!0,read:()=>{let{body:a}=this;a?.resume&&a.resume()},write:(a,b,c)=>{let{req:d}=this;d.push(a,b)||d._readableState.destroyed?c():d[q]=c},destroy:(a,b)=>{let{body:c,req:d,res:e,ret:f,abort:g}=this;a||f._readableState.endEmitted||(a=new k),g&&a&&g(),l.destroy(c,a),l.destroy(d,a),l.destroy(e,a),o(this),b(a)}}).on("prefinish",()=>{let{req:a}=this;a.push(null)}),this.res=null,n(this,c)}onRequestStart(a,b){let{res:c}=this;this.reason?a.abort(this.reason):(g(!c,"pipeline cannot be retried"),this.abort=b=>a.abort(b),this.context=b)}onResponseStart(a,b,c,d){let e,{opaque:f,handler:g,context:h}=this;if(b<200){if(this.onInfo){let d=a?.rawHeaders,e="raw"===this.responseHeaders?l.parseRawHeaders(d):c;this.onInfo({statusCode:b,headers:e})}return}this.res=new s(()=>a.resume());try{this.handler=null;let d=a?.rawHeaders,i="raw"===this.responseHeaders?l.parseRawHeaders(d):c;e=this.runInAsyncScope(g,null,{statusCode:b,headers:i,opaque:f,body:this.res,context:h})}catch(a){throw this.res.on("error",p),a}if(!e||"function"!=typeof e.on)throw new j("expected Readable");e.on("data",a=>{let{ret:b,body:c}=this;!b.push(a)&&c.pause&&c.pause()}).on("error",a=>{let{ret:b}=this;l.destroy(b,a)}).on("end",()=>{let{ret:a}=this;a.push(null)}).on("close",()=>{let{ret:a}=this;a._readableState.ended||l.destroy(a,new k)}),this.body=e}onResponseData(a,b){let{res:c}=this;!1===c.push(b)&&a.pause()}onResponseEnd(a,b){let{res:c}=this;c.push(null)}onResponseError(a,b){let{ret:c}=this;this.handler=null,l.destroy(c,b)}}a.exports=function(a,b){try{let c=new t(a,b);return this.dispatch({...a,body:c.req},c),c.ret}catch(a){return new f().destroy(a)}}},57472:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d={id:"tencent",alias:"hunyuan",aliases:["tencent-hunyuan"],category:"apikey",authModes:["apikey"],display:{name:"Tencent Hunyuan",icon:"cloud",color:"#0052D9",textIcon:"HY",website:"https://cloud.tencent.com/product/hunyuan",notice:{apiKeyUrl:"https://console.cloud.tencent.com/hunyuan/api-key"}},transport:{baseUrl:"https://api.hunyuan.cloud.tencent.com/v1/chat/completions",validateUrl:"https://api.hunyuan.cloud.tencent.com/v1/models",format:"openai"},models:[{id:"hunyuan-turbos-latest",name:"Hunyuan TurboS Latest",contextLength:2e5},{id:"hunyuan-t1-latest",name:"Hunyuan T1 Latest",contextLength:256e3}],serviceKinds:["llm"]}},58455:(a,b,c)=>{"use strict";c.d(b,{M:()=>e});var d=c(8735);function e(a){let b=a.max_tokens||d.Uc;return a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&b<d.eo&&(b=d.eo),a.thinking?.budget_tokens&&b<=a.thinking.budget_tokens&&(b=a.thinking.budget_tokens+1024),b}},58609:(a,b,c)=>{"use strict";c.d(b,{U:()=>f});var d=c(24081),e=c(50743);function f(a){return{async get(b,c=null){let f=(await (0,d.cK)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.cK)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.cK)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.cK)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.cK)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.cK)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},59011:(a,b,c)=>{"use strict";c.d(b,{T:()=>D});var d=c(55511),e=c(69384);let f=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
292
292
 
293
293
  ## General
294
294
 
@@ -407,7 +407,7 @@ You are producing plain text that will later be styled by the CLI. Follow these
407
407
  * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var g=c(30395),h=c(79154),i=c(80993),j=c(21904);let k=["properties","$defs","definitions","patternProperties","dependentSchemas"],l=["prefixItems","allOf","anyOf","oneOf"],m=["additionalProperties","unevaluatedProperties","propertyNames","items","contains","not","if","then","else"];function n(a){if(!Array.isArray(a))return a;let b=a;for(let c=0;c<a.length;c++){let d=o(a[c]);d!==a[c]&&(b===a&&(b=a.slice()),b[c]=d)}return b}function o(a){if(!a||"object"!=typeof a||Array.isArray(a))return a;let b=a;for(let c of("string"==typeof a.pattern&&function(a){for(let b=0;b<a.length;b++){if("\\"!==a[b])continue;let c=b;for(;"\\"===a[b];)b++;let d=b-c,e=a.indexOf("}",b+2);if(d%2==1&&("p"===a[b]||"P"===a[b])&&"{"===a[b+1]&&e>b+2)return!0}return!1}(a.pattern)&&(b={...a},delete b.pattern),k)){let d=a[c],e=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return a;let b=a;for(let c of Object.keys(a)){let d=o(a[c]);d!==a[c]&&(b===a&&(b={...a}),b[c]=d)}return b}(d);e!==d&&(b===a&&(b={...a}),b[c]=e)}for(let c of l){let d=a[c],e=n(d);e!==d&&(b===a&&(b={...a}),b[c]=e)}for(let c of m){let d=a[c],e=o(d);e!==d&&(b===a&&(b={...a}),b[c]=e)}return b}var p=c(32210),q=c(41310),r=c(8735),s=c(32557),t=c(46714);let u=["server_is_overloaded","service_unavailable_error"],v=new Map,w=/^(rs|fc|resp|msg)_/,x=new Set(["image_generation","web_search","web_search_preview","file_search","computer","computer_use_preview","code_interpreter","mcp","local_shell","custom"]),y=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","service_tier","include","prompt_cache_key","client_metadata"]),z=null;function A(a){return(0,d.createHash)("sha256").update(a).digest("hex").slice(0,16)}function B(){return`sess_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`}function C(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}(0,q.Xj)().then(a=>{z=a}),setInterval(()=>{let a=Date.now();for(let[b,c]of v)a-c.lastUsed>36e5&&v.delete(b)},6e5);class D extends e.Hv{constructor(){super("codex",g.xq.codex),this._currentSessionId=null}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);c.session_id=this._currentSessionId||a?.connectionId||"default",c.originator||(c.originator="codex_cli_rs");let d=a?.providerSpecificData?.workspaceId;return"string"==typeof d&&d&&!c["chatgpt-account-id"]&&(c["chatgpt-account-id"]=d),c}buildUrl(a,b,c=0,d=null){let e=super.buildUrl(a,b,c,d);return this._isCompact?`${e}/compact`:e}async refreshCredentials(a,b){return a?.refreshToken?(0,h.Vq)("codex",a,b):null}needsRefresh(a){return(0,h.fp)("codex",a)}async prefetchImages(a){if(Array.isArray(a?.input))for(let b of a.input){if(!Array.isArray(b.content))continue;let a=b.content.map(async a=>{if("image_url"!==a.type)return a;let b="string"==typeof a.image_url?a.image_url:a.image_url?.url,c=a.image_url?.detail||"auto";if(!b)return a;if(b.startsWith("data:"))return{type:"input_image",image_url:b,detail:c};let d=await (0,j.n)(b,{timeoutMs:15e3});return{type:"input_image",image_url:d?.url||b,detail:c}});b.content=await Promise.all(a)}}async execute(a){let b=Array.isArray(a.body?.input)?a.body.input.reduce((a,b)=>a+(Array.isArray(b.content)?b.content.filter(a=>"image_url"===a.type).length:0),0):0,c=Array.isArray(a.body?.input)?a.body.input.length:0;if((0,s.s)("CODEX",`execute start | inputItems=${c} | images=${b} | sessionId=${this._currentSessionId||"pending"}`),b>0){let b=Date.now();await this.prefetchImages(a.body),(0,s.s)("CODEX",`prefetchImages done | ${Date.now()-b}ms`)}else await this.prefetchImages(a.body);let d={...r.cI,...this.config.retry},{attempts:e,delayMs:f}=(0,r.DR)(d[503]),g=0;for(;;){let b=await super.execute(a),c=await this._peekSseOverloaded(b.response);if(!c.matched)return c.replacementBody&&(b.response=new Response(c.replacementBody,{status:b.response.status,statusText:b.response.statusText,headers:b.response.headers})),b;if(g>=e)return a.log?.warn?.("RETRY",`CODEX | SSE overloaded "${c.matched}" — retries exhausted (${g}/${e})`),c.replacementBody&&(b.response=new Response(c.replacementBody,{status:b.response.status,statusText:b.response.statusText,headers:b.response.headers})),b;g++,a.log?.debug?.("RETRY",`CODEX | SSE "${c.matched}" retry ${g}/${e} after ${f/1e3}s`),(0,s.s)("CODEX",`SSE overloaded "${c.matched}" → retry ${g}/${e} in ${f}ms`);try{await c.replacementBody?.cancel?.(`retry ${g}`)}catch{}await new Promise(a=>setTimeout(a,f))}}async _peekSseOverloaded(a){if(!a||!a.ok||!a.body)return{matched:null,replacementBody:null};let b=a.body.getReader(),c=new TextDecoder,d=[],e="",f=null;try{for(;e.length<4096;){let{done:a,value:g}=await b.read();if(a)break;d.push(g),e+=c.decode(g,{stream:!0});let h=u.find(a=>e.includes(a));if(h){f=h;break}}}catch(a){(0,s.s)("CODEX",`peek read error: ${a.message}`)}b.releaseLock();let g=a.body,h=null;return{matched:f,replacementBody:new ReadableStream({start(a){for(let b of d)a.enqueue(b);h=g.getReader()},async pull(a){try{let{done:b,value:c}=await h.read();if(b)return void a.close();a.enqueue(c)}catch(b){a.error(b)}},cancel(a){try{h?.cancel(a)}catch{}}})}}parseError(a,b){if(429===a.status&&b)try{let a=JSON.parse(b),c=a?.error;if(c?.type==="usage_limit_reached"){let a=Date.now(),d=null;if("number"==typeof c.resets_at&&c.resets_at>0){let b=1e3*c.resets_at;b>a&&(d=b)}if(!d&&"number"==typeof c.resets_in_seconds&&c.resets_in_seconds>0&&(d=a+1e3*c.resets_in_seconds),d)return{status:429,message:c.message||b,resetsAtMs:d}}}catch{}return super.parseError(a,b)}transformRequest(a,b,c,d){var e;this._isCompact=!!b._compact,delete b._compact,this._currentSessionId=function(a,b,c){let d=C(a?.prompt_cache_key)||C(a?.session_id)||C(a?.conversation_id);if(d)return d;if(Array.isArray(a?.input)&&a.input.length>0){let b="";for(let c of a.input){if(c?.role!=="assistant")continue;let a=c?"string"==typeof c.content?c.content:Array.isArray(c.content)?c.content.map(a=>a.text||a.output||"").filter(Boolean).join(""):"":"";if(a&&(b+=a).length>=200)break}if(b.length>=50){let a=A((c||"")+b.slice(0,200)),d=v.get(a);if(d)return d.lastUsed=Date.now(),d.sessionId;let e=B();return v.set(a,{sessionId:e,lastUsed:Date.now()}),e}}let e=C(b?.providerSpecificData?.workspaceId);return e||(c?`sess_${A(c)}`:B())}(b,d,z);let g=(0,i.m)(b.input);if(g&&(b.input=g),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),function(a){if(!Array.isArray(a.input))return;let b=[];a.input=a.input.filter(a=>a?.type!=="additional_tools"||(Array.isArray(a.tools)&&b.push(...a.tools),!1)),b.length&&(a.tools=[...Array.isArray(a.tools)?a.tools:[],...b])}(b),Array.isArray(b.input))for(let a of b.input)!(!a||"object"!=typeof a||Array.isArray(a))&&("system"!==a.role||a.type&&"message"!==a.type||(a.role="developer"));if(Array.isArray(b.input)&&(b.input=b.input.filter(a=>{if("string"==typeof a&&w.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&w.test(a.id)&&delete a.id}return!0})),!function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c="string"==typeof a.type?a.type:"";if("namespace"===c){if(Array.isArray(a.tools))for(let c of a.tools){let a="string"==typeof c?.name?c.name.trim().slice(0,128):"";a&&b.add(a)}return!0}if("function"!==c)return!!c&&!("function"in a)&&!!x.has(c)&&("custom"===c?"string"==typeof a.name&&""!==a.name.trim():!("name"in a));let d=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,e=("string"==typeof a.name?a.name:"string"==typeof d?.name?d.name:"").trim();if(!e)return!1;let f="string"==typeof a.description?a.description:"string"==typeof d?.description?d.description:"",g=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:d?.parameters&&"object"==typeof d.parameters&&!Array.isArray(d.parameters)?d.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=e.slice(0,128),f&&(a.description=f),a.parameters=g,b.add(e),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(b),Array.isArray(b.tools))for(let a of b.tools)a?.type==="function"&&(a.parameters=Array.isArray(e=a.parameters)?n(e):o(e));b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=f),b.store=!1,!b.prompt_cache_key&&this._currentSessionId&&(b.prompt_cache_key=this._currentSessionId);let h=(0,p.kt)("cx",a||b.model),{cleanModel:j,effort:k}=(0,t.dv)(h);b.model=(0,p.kt)("cx",j);let l=b.reasoning&&"object"==typeof b.reasoning?b.reasoning:{},m=l.effort??b.reasoning_effort??k??"low";for(let a of(b.reasoning={...l,effort:(0,t.fM)(b.model,m),summary:l.summary||"auto"},delete b.reasoning_effort,b.reasoning&&b.reasoning.effort&&"none"!==b.reasoning.effort&&(b.include=["reasoning.encrypted_content"]),delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.max_completion_tokens,delete b.max_output_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,delete b.previous_response_id,Object.keys(b)))y.has(a)||delete b[a];return b}}},59039:(a,b,c)=>{"use strict";c.a(a,async(a,b)=>{try{c(58500),c(19458),c(70556),c(42541),c(11484),c(87164),c(91083),c(32210),c(1758),c(8735),c(27696),c(51525),c(70321);var d=c(65333);c(72610),c(55599),c(5275),c(51658),c(1447),c(15783),c(4818),c(63299),c(50570),c(77745),c(44089),c(70474),c(6699),c(93745),c(60856),c(83651);var e=a([d]);d=(e.then?(await e)():e)[0],b()}catch(a){b(a)}})},59067:(a,b,c)=>{"use strict";c.d(b,{hG:()=>r});var d=c(77598),e=c.n(d),f=c(69384),g=c(30395),h=c(79154),i=c(80993),j=c(32210),k=c(93745),l=c(41310);let m=/^(rs|fc|resp|msg)_/,n=new Set(["web_search","x_search","web_search_preview","file_search","image_generation","code_interpreter","mcp","local_shell"]),o=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","include","temperature","top_p","max_output_tokens","parallel_tool_calls","text","metadata","prompt_cache_key"]),p=["low","medium","high"],q=new Map;class r extends f.Hv{constructor(){super("grok-cli",g.xq["grok-cli"]),this._currentSessionId=null,this._currentReqId=null,this._currentTurnIdx=1,this._agentId=null}buildUrl(){return this.config.baseUrl}async refreshCredentials(a,b){return a?.refreshToken?(0,h.Vq)("grok-cli",a,b):null}needsRefresh(a){return(0,h.fp)("grok-cli",a)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);for(let[a,b]of Object.entries(this.config.headers||{}))null!=b&&void 0===c[a]&&(c[a]=b);c["x-xai-token-auth"]=this.config.tokenAuth||"xai-grok-cli",c["x-grok-client-identifier"]=this.config.clientIdentifier||c["x-grok-client-identifier"]||"grok-pager",c["x-grok-client-version"]=this.config.clientVersion||c["x-grok-client-version"]||"0.2.93",c["x-authenticateresponse"]="authenticate-response";let d=this._currentSessionId||a?.connectionId||e().randomUUID(),f=this._currentReqId||e().randomUUID();c["x-grok-session-id"]=d,c["x-grok-conv-id"]=d,c["x-grok-req-id"]=f,c["x-grok-turn-idx"]=String(this._currentTurnIdx||1),this._agentId&&(c["x-grok-agent-id"]=this._agentId),this._currentModel&&(c["x-grok-model-override"]=this._currentModel),this.config.compactionAt&&(c["x-compaction-at"]=String(this.config.compactionAt));let g=a?.providerSpecificData||{},h=g.email||a?.email,i=g.userId||a?.userId||a?.providerUserId;return h&&(c["x-email"]=h),i&&(c["x-userid"]=i),c}parseError(a,b){if(402===a.status&&b)try{let a=JSON.parse(b),c=a?.code||"",d=a?.error||a?.message||b;return{status:402,message:"string"==typeof d?d:b,code:"string"==typeof c?c:void 0}}catch{}return super.parseError(a,b)}transformRequest(a,b,c,d){this._currentSessionId=(0,k.oV)({headers:d?.rawHeaders,body:b,connectionId:d?.connectionId||d?.id,workspaceId:d?.providerSpecificData?.workspaceId,scope:"grok-cli"}),this._currentReqId=e().randomUUID(),this._agentId=d?.providerSpecificData?.deviceId||d?.providerSpecificData?.agentId||null;let f=(0,i.m)(b.input);f&&(b.input=f),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(Array.isArray(b.messages)&&b.messages.length>0?(b.input=b.messages.map(a=>({type:"message",role:a.role||"user",content:"string"==typeof a.content?a.content:JSON.stringify(a.content??"")})),delete b.messages):b.input=[{type:"message",role:"user",content:"..."}]),Array.isArray(b.input)&&(b.input=b.input.filter(a=>{if("string"==typeof a&&m.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&m.test(a.id)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c="string"==typeof a.type?a.type:"";if("function"!==c){if(n.has(c))return!0;if(!c&&a.function);else if(c&&"string"!=typeof a.name)return!1}if(!("function"===c||""===c||a.function||"string"==typeof a.name)||n.has(c))return n.has(c);let d=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,e=("string"==typeof a.name?a.name:"string"==typeof d?.name?d.name:"").trim();if(!e)return!1;let f="string"==typeof a.description?a.description:"string"==typeof d?.description?d.description:"",g=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:d?.parameters&&"object"==typeof d.parameters&&!Array.isArray(d.parameters)?d.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=e.slice(0,128),f&&(a.description=f),a.parameters=g,b.add(e),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(b),this._currentTurnIdx=function(a,b){let c=function(a){if(!Array.isArray(a))return 1;let b=0;for(let c of a){if(!c||"object"!=typeof c||Array.isArray(c))continue;let a="string"==typeof c.type?c.type:"";"user"!==c.role||a&&"message"!==a||(b+=1)}return Math.max(1,b)}(b);if(!a)return c;let d=Date.now(),e=q.get(a),f=Math.max(c,e&&d-e.ts<=36e5?e.turn:0);return!e&&q.size>=5e3&&function(a){for(let[b,c]of q)a-c.ts>36e5&&q.delete(b);if(q.size<5e3)return;let b=null,c=1/0;for(let[a,d]of q)d.ts<c&&(c=d.ts,b=a);null!==b&&q.delete(b)}(d),q.set(a,{turn:f,ts:d}),f}(this._currentSessionId,b.input),b.stream=!0,b.store=!1;let g=function(a){if(!a||"string"!=typeof a)return null;for(let b of p)if(a.endsWith(`-${b}`))return b;return null}(b.model||a),h=b.model||a;if(g&&(h=h.replace(RegExp(`-${g}$`),"")),(h=(0,j.kt)("gcli",h)||h)===(b.model||a)&&(h=(0,j.kt)("grok-cli",h)||h),b.model=h,this._currentModel=h,b.reasoning&&"object"==typeof b.reasoning)b.reasoning.effort||(b.reasoning.effort=b.reasoning_effort||g||"high"),b.reasoning.summary||(b.reasoning.summary="concise");else{let a=b.reasoning_effort||g||"high";b.reasoning={effort:a,summary:"concise"}}if(delete b.reasoning_effort,b.reasoning?.effort&&"none"!==b.reasoning.effort){let a=Array.isArray(b.include)?b.include:[];a.includes("reasoning.encrypted_content")||a.push("reasoning.encrypted_content"),b.include=a}for(let a of(delete b.messages,delete b.max_tokens,delete b.max_completion_tokens,delete b.n,delete b.seed,delete b.logprobs,delete b.top_logprobs,delete b.frequency_penalty,delete b.presence_penalty,delete b.logit_bias,delete b.user,delete b.stream_options,delete b.prompt_cache_retention,delete b.safety_identifier,delete b.previous_response_id,Object.keys(b)))o.has(a)||delete b[a];return b}async execute(a){if(this._agentId||a.credentials?.providerSpecificData?.deviceId)a.credentials?.providerSpecificData?.deviceId&&(this._agentId=a.credentials.providerSpecificData.deviceId);else try{let a=await (0,l.Xj)("grok-cli-agent");this._agentId=[a.slice(0,8),a.slice(8,12),"5"+a.slice(13,16),"a"+a.slice(17,20),a.slice(0,12).padEnd(12,"0")].join("-")}catch{this._agentId=e().randomUUID()}return super.execute(a)}}},59970:(a,b,c)=>{"use strict";let d,e=Symbol.for("undici.globalDispatcher.2"),f=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:g}=c(61448),h=c(37417),i=c(74399);function j(a){if(!a||"function"!=typeof a.dispatch)throw new g("Argument agent must implement Agent");try{Object.defineProperty(globalThis,e,{value:a,writable:!0,enumerable:!1,configurable:!1})}catch(b){if(b instanceof TypeError){d=a;return}throw b}try{let b=a instanceof i?a:new i(a);Object.defineProperty(globalThis,f,{value:b,writable:!0,enumerable:!1,configurable:!1})}catch(a){if(!(a instanceof TypeError))throw a}}function k(){return globalThis[e]??d}void 0===k()&&j(new h),a.exports={setGlobalDispatcher:j,getGlobalDispatcher:k,installedExports:["fetch","Headers","Response","Request","FormData","WebSocket","CloseEvent","ErrorEvent","MessageEvent","EventSource"]}},60083:(a,b,c)=>{"use strict";c.d(b,{H:()=>l});var d=c(69384),e=c(30395),f=c(32210),g=c(94026),h=c(70884),i=c(80015);let j=new Map((0,f.SM)("opencode-go").map(a=>[a.id,a]));function k(a,b={}){let c=j.get(a);if(!c)throw Error(`Unsupported OpenCode Go model: ${a}`);let d=b.sourceFormat||b.requestFormat||b.targetFormat||"openai";if(!("openai-responses"===c.targetFormat?["openai","claude","openai-responses"]:c.supportedFormats).includes(d))throw Error(`Unsupported source format ${d} for OpenCode Go model ${a}`);let f=c.targetFormat||b.requestFormat||b.targetFormat||d;if(!c.supportedFormats.includes(f))throw Error(`Unsupported format ${f} for OpenCode Go model ${a}`);let g=e.xq["opencode-go"].transports.find(({format:a})=>a===f);if(!g)throw Error(`Unsupported OpenCode Go transport format: ${f}`);return{metadata:c,sourceFormat:d,requestFormat:f,transport:g}}class l extends d.Hv{constructor(){super("opencode-go",e.xq["opencode-go"])}buildUrl(a,b,c,d,e){return k(a,e).transport.baseUrl}buildHeaders(a,b=!0,c){let{transport:d}=k(c?.model||c?.requestModel,c),e=a?.apiKey||a?.accessToken,f={"Content-Type":"application/json",...d.headers};return"x-api-key"===d.authHeader?f["x-api-key"]=e:f.Authorization=`Bearer ${e}`,b&&(f.Accept="text/event-stream"),f}transformRequest(a,b,c,d,e){let f=k(a,e),j=!!e?.requestFormat||Array.isArray(b?.input),l=b;if(!j&&"openai-responses"===f.requestFormat){let e="claude"===f.sourceFormat?(0,g.claudeToOpenAIRequest)(a,b,c,d):b;l=(0,h.openaiToOpenAIResponsesRequest)(a,e,c,d)}return(0,i.Z)({provider:this.provider,model:a,body:l})}}},60856:(a,b,c)=>{"use strict";c.d(b,{Nm:()=>h});var d=c(91824);let e=new Set(["connect","first_event","progress_idle","total"]),f=/\((?:none|minimal|low|medium|high|xhigh|max|thinking)\)$/i;function g(a,b,c=120){return String(a||"").trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,c)||b}function h(a){return g((String(a||"").trim().split("/").at(-1)||"").replace(f,""),"unknown-model")}function i(a={}){let b,c=g(a.phase,"unknown-phase",40);return{provider:(b=g(a.provider,"unknown-provider",80),g((0,d.g2)(b),"unknown-provider",80)),modelFamily:h(a.modelFamily||a.model),operation:g(a.operation,"chat",40),phase:c}}function j(a){return[a.provider,a.modelFamily,a.operation,a.phase].join("\x1f")}function k(a,b){if(0===a.length)return null;let c=Math.max(1,Math.ceil(b*a.length));return a[c-1]}!function(a={}){let b=Number(a.maxSamples),c=Number(a.alpha),d=Number.isInteger(b)&&b>0?Math.min(b,256):256,f=Number.isFinite(c)&&c>0&&c<=1?c:.2,g="function"==typeof a.now?a.now:Date.now,h=new Map;Object.freeze({record:function(a={}){if(!Number.isFinite(a.durationMs)||a.durationMs<=0)return!1;let b=i(a);if(!e.has(b.phase))return!1;let c=j(b),k=h.get(c);return k||(k={dimensions:b,samples:[],ewmaMs:null,updatedAtMs:null},h.set(c,k)),k.samples.push(a.durationMs),k.samples.length>d&&k.samples.shift(),k.ewmaMs=null===k.ewmaMs?a.durationMs:f*a.durationMs+(1-f)*k.ewmaMs,k.updatedAtMs=g(),!0},snapshot:function(a={}){let b=i(a),c=h.get(j(b));if(!c)return Object.freeze({...b,count:0,learned:!1,minMs:null,maxMs:null,p50Ms:null,p95Ms:null,p99Ms:null,ewmaMs:null,updatedAtMs:null});let d=[...c.samples].sort((a,b)=>a-b);return Object.freeze({...c.dimensions,count:d.length,learned:d.length>=20,minMs:d[0],maxMs:d.at(-1),p50Ms:k(d,.5),p95Ms:k(d,.95),p99Ms:k(d,.99),ewmaMs:c.ewmaMs,updatedAtMs:c.updatedAtMs})}})}()},61330:(a,b,c)=>{"use strict";let{BalancedPoolMissingUpstreamError:d,InvalidArgumentError:e}=c(61448),{PoolBase:f,kClients:g,kNeedDrain:h,kAddClient:i,kRemoveClient:j,kGetDispatcher:k}=c(39065),l=c(35689),{kUrl:m}=c(49176),n=c(84285),o=Symbol("factory"),p=Symbol("options"),q=Symbol("kGreatestCommonDivisor"),r=Symbol("kCurrentWeight"),s=Symbol("kIndex"),t=Symbol("kWeight"),u=Symbol("kMaxWeightPerServer"),v=Symbol("kErrorPenalty");function w(a,b){return new l(a,b)}class x extends f{constructor(a=[],{factory:b=w,...c}={}){if("function"!=typeof b)throw new e("factory must be a function.");for(const d of(super(),this[p]={...n.deepClone(c)},this[s]=-1,this[r]=0,this[u]=this[p].maxWeightPerServer||100,this[v]=this[p].errorPenalty||15,Array.isArray(a)||(a=[a]),this[o]=b,a))this.addUpstream(d);this._updateBalancedPoolStats()}addUpstream(a){let b=n.parseOrigin(a).origin;if(this[g].find(a=>a[m].origin===b&&!0!==a.closed&&!0!==a.destroyed))return this;let c=this[o](b,this[p]);for(let a of(this[i](c),c.on("connect",()=>{c[t]=Math.min(this[u],c[t]+this[v])}),c.on("connectionError",()=>{c[t]=Math.max(1,c[t]-this[v]),this._updateBalancedPoolStats()}),c.on("disconnect",(...a)=>{let b=a[2];b&&"UND_ERR_SOCKET"===b.code&&(c[t]=Math.max(1,c[t]-this[v]),this._updateBalancedPoolStats())}),this[g]))a[t]=this[u];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let a=0;for(let b=0;b<this[g].length;b++)a=function(a,b){if(0===a)return b;for(;0!==b;){let c=b;b=a%b,a=c}return a}(this[g][b][t],a);this[q]=a}removeUpstream(a){let b=n.parseOrigin(a).origin,c=this[g].find(a=>a[m].origin===b&&!0!==a.closed&&!0!==a.destroyed);return c&&this[j](c),this}getUpstream(a){let b=n.parseOrigin(a).origin;return this[g].find(a=>a[m].origin===b&&!0!==a.closed&&!0!==a.destroyed)}get upstreams(){return this[g].filter(a=>!0!==a.closed&&!0!==a.destroyed).map(a=>a[m].origin)}[k](){if(0===this[g].length)throw new d;let a=0,b=-1;for(;a++<this[g].length;){this[s]=(this[s]+1)%this[g].length;let a=this[g][this[s]];if((0===this[s]&&(this[r]=this[r]-this[q],this[r]<=0&&(this[r]=this[u])),!a[h]&&!0!==a.closed&&!0!==a.destroyed)&&((-1===b||a[t]>this[g][b][t])&&(b=this[s]),a[t]>=this[r]))return a}if(-1!==b)return this[r]=this[g][b][t],this[s]=b,this[g][b]}}a.exports=x},61448:a=>{"use strict";let b=Symbol.for("undici.error.UND_ERR");class c extends Error{constructor(a,b){super(a,b),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](a){return a&&!0===a[b]}get[b](){return!0}}let d=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");class e extends c{constructor(a){super(a),this.name="ConnectTimeoutError",this.message=a||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](a){return a&&!0===a[d]}get[d](){return!0}}let f=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");class g extends c{constructor(a){super(a),this.name="HeadersTimeoutError",this.message=a||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](a){return a&&!0===a[f]}get[f](){return!0}}let h=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");class i extends c{constructor(a){super(a),this.name="HeadersOverflowError",this.message=a||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](a){return a&&!0===a[h]}get[h](){return!0}}let j=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");class k extends c{constructor(a){super(a),this.name="BodyTimeoutError",this.message=a||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](a){return a&&!0===a[j]}get[j](){return!0}}let l=Symbol.for("undici.error.UND_ERR_INVALID_ARG");class m extends c{constructor(a){super(a),this.name="InvalidArgumentError",this.message=a||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](a){return a&&!0===a[l]}get[l](){return!0}}let n=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");class o extends c{constructor(a){super(a),this.name="InvalidReturnValueError",this.message=a||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](a){return a&&!0===a[n]}get[n](){return!0}}let p=Symbol.for("undici.error.UND_ERR_ABORT");class q extends c{constructor(a){super(a),this.name="AbortError",this.message=a||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](a){return a&&!0===a[p]}get[p](){return!0}}let r=Symbol.for("undici.error.UND_ERR_ABORTED");class s extends q{constructor(a){super(a),this.name="AbortError",this.message=a||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](a){return a&&!0===a[r]}get[r](){return!0}}let t=Symbol.for("undici.error.UND_ERR_INFO");class u extends c{constructor(a,b){super(a,b),this.name="InformationalError",this.message=a||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](a){return a&&!0===a[t]}get[t](){return!0}}let v=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");class w extends c{constructor(a){super(a),this.name="RequestContentLengthMismatchError",this.message=a||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](a){return a&&!0===a[v]}get[v](){return!0}}let x=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");class y extends c{constructor(a){super(a),this.name="ResponseContentLengthMismatchError",this.message=a||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](a){return a&&!0===a[x]}get[x](){return!0}}let z=Symbol.for("undici.error.UND_ERR_DESTROYED");class A extends c{constructor(a){super(a),this.name="ClientDestroyedError",this.message=a||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](a){return a&&!0===a[z]}get[z](){return!0}}let B=Symbol.for("undici.error.UND_ERR_CLOSED");class C extends c{constructor(a){super(a),this.name="ClientClosedError",this.message=a||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](a){return a&&!0===a[B]}get[B](){return!0}}let D=Symbol.for("undici.error.UND_ERR_SOCKET");class E extends c{constructor(a,b){super(a),this.name="SocketError",this.message=a||"Socket error",this.code="UND_ERR_SOCKET",this.socket=b}static[Symbol.hasInstance](a){return a&&!0===a[D]}get[D](){return!0}}let F=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");class G extends c{constructor(a){super(a),this.name="NotSupportedError",this.message=a||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](a){return a&&!0===a[F]}get[F](){return!0}}let H=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");class I extends c{constructor(a){super(a),this.name="MissingUpstreamError",this.message=a||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](a){return a&&!0===a[H]}get[H](){return!0}}let J=Symbol.for("undici.error.UND_ERR_HTTP_PARSER");class K extends Error{constructor(a,b,c){super(a),this.name="HTTPParserError",this.code=b?`HPE_${b}`:void 0,this.data=c?c.toString():void 0}static[Symbol.hasInstance](a){return a&&!0===a[J]}get[J](){return!0}}let L=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");class M extends c{constructor(a){super(a),this.name="ResponseExceededMaxSizeError",this.message=a||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](a){return a&&!0===a[L]}get[L](){return!0}}let N=Symbol.for("undici.error.UND_ERR_REQ_RETRY");class O extends c{constructor(a,b,{headers:c,data:d}){super(a),this.name="RequestRetryError",this.message=a||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=b,this.data=d,this.headers=c}static[Symbol.hasInstance](a){return a&&!0===a[N]}get[N](){return!0}}let P=Symbol.for("undici.error.UND_ERR_RESPONSE");class Q extends c{constructor(a,b,{headers:c,body:d}){super(a),this.name="ResponseError",this.message=a||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=b,this.body=d,this.headers=c}static[Symbol.hasInstance](a){return a&&!0===a[P]}get[P](){return!0}}let R=Symbol.for("undici.error.UND_ERR_PRX_TLS");class S extends c{constructor(a,b,c={}){super(b,{cause:a,...c}),this.name="SecureProxyConnectionError",this.message=b||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=a}static[Symbol.hasInstance](a){return a&&!0===a[R]}get[R](){return!0}}let T=Symbol.for("undici.error.UND_ERR_PRX_CONN");class U extends c{constructor(a,b,c={}){super(b,{cause:a,...c}),this.name="ProxyConnectionError",this.message=b||"Proxy Connection failed",this.code="UND_ERR_PRX_CONN",this.cause=a}static[Symbol.hasInstance](a){return a&&!0===a[T]}get[T](){return!0}}let V=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED");class W extends c{constructor(a){super(a),this.name="MaxOriginsReachedError",this.message=a||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](a){return a&&!0===a[V]}get[V](){return!0}}class X extends c{constructor(a,b){super(a),this.name="Socks5ProxyError",this.message=a||"SOCKS5 proxy error",this.code=b||"UND_ERR_SOCKS5"}}let Y=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");class Z extends c{constructor(a){super(a),this.name="MessageSizeExceededError",this.message=a||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](a){return a&&!0===a[Y]}get[Y](){return!0}}a.exports={AbortError:q,HTTPParserError:K,UndiciError:c,HeadersTimeoutError:g,HeadersOverflowError:i,BodyTimeoutError:k,RequestContentLengthMismatchError:w,ConnectTimeoutError:e,InvalidArgumentError:m,InvalidReturnValueError:o,RequestAbortedError:s,ClientDestroyedError:A,ClientClosedError:C,InformationalError:u,SocketError:E,NotSupportedError:G,ResponseContentLengthMismatchError:y,BalancedPoolMissingUpstreamError:I,ResponseExceededMaxSizeError:M,RequestRetryError:O,ResponseError:Q,SecureProxyConnectionError:S,ProxyConnectionError:U,MaxOriginsReachedError:W,Socks5ProxyError:X,MessageSizeExceededError:Z}},61691:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d={id:"tokenrouter",alias:"tokenrouter",aliases:["tr"],category:"apikey",authModes:["apikey"],passthroughModels:!0,display:{name:"TokenRouter",icon:"router",color:"#6366F1",textIcon:"TR",website:"https://tokenrouter.com",notice:{apiKeyUrl:"https://tokenrouter.com/dashboard/keys"}},transport:{baseUrl:"https://api.tokenrouter.com/v1/chat/completions",validateUrl:"https://api.tokenrouter.com/v1/models",format:"openai"},modelsFetcher:{url:"https://api.tokenrouter.com/v1/models",type:"openai"},models:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"deepseek/deepseek-v4",name:"DeepSeek V4"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm-5.1",name:"GLM 5.1"}],serviceKinds:["llm","embedding","image"]}},61847:(a,b,c)=>{"use strict";c.d(b,{Bz:()=>o,F2:()=>h,V6:()=>m});var d=c(65556);c(58455);var e=c(42946),f=c(93745),g=c(41207);function h(a){return Array.isArray(a)?a:"string"==typeof a?[{type:"text",text:a}]:null!==a&&"object"==typeof a?[a]:[]}let i=new Set([void 0,"5m","1h"]);function j(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"thinking"!==a.type&&"redacted_thinking"!==a.type&&("text"===a.type?"string"==typeof a.text&&a.text.trim().length>0:"tool_use"===a.type||"tool_result"===a.type||"image"===a.type||"audio"===a.type)}function k(a){return a&&"object"==typeof a&&!a.defer_loading&&(!a.type||"function"===a.type)&&!!a.name}function l(a){var b;if(!a||"object"!=typeof a||Array.isArray(a))return{value:a,hadValidMarker:!1};let c=(b=a.cache_control,b?.type==="ephemeral"&&i.has(b.ttl)),{cache_control:d,...e}=a;return{value:e,hadValidMarker:c}}function m(a,{maxMarkers:b=4}={}){let c="number"==typeof b&&Number.isFinite(b)?Math.min(4,Math.max(0,Math.trunc(b))):4,d=[];Array.isArray(a.system)&&(a.system=a.system.map(a=>{let b=l(a);return d.push(b),b.value}));let e=[];Array.isArray(a.tools)&&(a.tools=a.tools.map(a=>{let b=l(a);return e.push(b),b.value}));let f=[];if(Array.isArray(a.messages)&&(a.messages=a.messages.map(a=>{if(!Array.isArray(a.content))return f.push([]),a;let b=a.content.map(l);return f.push(b),{...a,content:b.map(a=>a.value)}})),c<=0)return a;let g=[],h=new Set,i=(a,b={type:"ephemeral"})=>{!a||h.has(a)||g.length>=c||(h.add(a),g.push({block:a,cacheControl:b}))};if(Array.isArray(a.system)){for(let b=a.system.length-1;b>=0;b--)if(j(a.system[b])){i(a.system[b],{type:"ephemeral",ttl:"1h"});break}}if(Array.isArray(a.tools))for(let b=a.tools.length-1;b>=0;b--){let c=a.tools[b];if(k(c)){i(c,{type:"ephemeral",ttl:"1h"});break}}if(Array.isArray(a.messages)){let b=!1;for(let c=a.messages.length-1;c>=0&&!b;c--){let d=a.messages[c];if("assistant"===d.role&&Array.isArray(d.content)){for(let a=d.content.length-1;a>=0;a--)if(j(d.content[a])){i(d.content[a]),b=!0;break}}}}for(let a=f.length-1;a>=0;a--)for(let b=f[a].length-1;b>=0;b--){let c=f[a][b];c.hadValidMarker&&j(c.value)&&i(c.value)}for(let a=e.length-1;a>=0;a--){let b=e[a],c=b.value;b.hadValidMarker&&k(c)&&i(c)}for(let a=d.length-1;a>=0;a--){let b=d[a];b.hadValidMarker&&j(b.value)&&i(b.value)}for(let{block:a,cacheControl:b}of g)a.cache_control=b;return a}let n=new Set(["minimax","minimax-cn"]);function o(a,b=null,c=null,i=null,j={}){if(n.has(b)&&delete a.output_config,a.messages&&Array.isArray(a.messages)){let c=a.messages.length,e=[];for(let b=0;b<c;b++){let d=a.messages[b];d.content=h(d.content),(b===c-1&&"assistant"===d.role||h(d.content).some(a=>a?.type==="text"&&a.text?.trim()||a?.type==="tool_use"||a?.type==="tool_result"||a?.type==="image"||a?.type==="audio"))&&e.push(d)}e=function(a){if(0===a.length)return a;for(let b of a){let a=h(b.content);if(b.content=a,"assistant"===b.role&&a.some(a=>"tool_use"===a.type)){let c=[],d=!1;for(let b of a)"tool_use"===b.type?(d=!0,c.push(b)):"thinking"===b.type||"redacted_thinking"===b.type?c.push(b):d||c.push(b);b.content=c}}let b=[];for(let c of a){let a=b[b.length-1],d=h(c.content);if(a&&a.role===c.role){let b=h(a.content);a.content=[...b.filter(a=>"tool_result"===a.type),...d.filter(a=>"tool_result"===a.type),...b.filter(a=>"tool_result"!==a.type),...d.filter(a=>"tool_result"!==a.type)]}else b.push({role:c.role,content:[...d]})}return b}(e),a.messages=e;let f=e[e.length-1],g=f?.role==="user",i=a.thinking?.type==="enabled"&&g;for(let a=e.length-1;a>=0;a--){let c=e[a];if("assistant"===c.role&&Array.isArray(c.content)&&("claude"===b||b?.startsWith("anthropic-compatible"))){let a=!1,b=!1;for(let e of c.content)("thinking"===e.type||"redacted_thinking"===e.type)&&(e.signature=d.xr,b=!0),"tool_use"===e.type&&(a=!0);i&&!b&&a&&c.content.unshift({type:"thinking",thinking:".",signature:d.xr})}}}if(a.tools&&Array.isArray(a.tools)&&(j?.preserveAnthropicToolTypes!==!0&&("claude"!==b||j?.preserveAnthropicToolTypes===!1)&&(a.tools=a.tools.filter(a=>!a.type||"function"===a.type)),a.tools=a.tools.map(a=>{let b={...a};return b.input_schema&&"object"==typeof b.input_schema&&(b.input_schema=(0,g.e)(b.input_schema)),b}),0===a.tools.length&&(delete a.tools,delete a.tool_choice)),("claude"===b||b?.startsWith("anthropic-compatible"))&&c){let b=i?(0,f.RF)(i):null;a=(0,e.fO)(a,c,b)}return m(a),a}},62026:a=>{"use strict";a.exports={uid:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",sentCloseFrameState:{SENT:1,RECEIVED:2},staticPropertyDescriptors:{enumerable:!0,writable:!1,configurable:!1},states:{CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},opcodes:{CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},maxUnsigned16Bit:65535,parserStates:{INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},emptyBuffer:Buffer.allocUnsafe(0),sendHints:{text:1,typedArray:2,arrayBuffer:3,blob:4}}},62239:(a,b,c)=>{"use strict";c.d(b,{KQ:()=>o,AL:()=>n,HG:()=>m,Or:()=>p,Jh:()=>q});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(53859),i=c(48161),j=c.n(i);let k=String.fromCharCode(57,114,111,117,116,101,114),l=".migrated-from-legacy",m=e().join(h.n,"db"),n=e().join(m,"data.sqlite"),o=e().join(m,"backups"),p={main:e().join(h.n,"db.json"),usage:e().join(h.n,"usage.json"),disabled:e().join(h.n,"disabledModels.json"),details:e().join(h.n,"request-details.json")};function q(){for(let a of(!function(a){if(!a||process.env.DATA_DIR)return;let b=e().join(a,l);if(g().existsSync(b))return;let c="win32"===process.platform?e().join(process.env.APPDATA||e().join(j().homedir(),"AppData","Roaming"),k):e().join(j().homedir(),`.${k}`);if(g().existsSync(c))try{if(g().existsSync(a)){if(g().readdirSync(a).filter(a=>a!==l).length>0)return void g().writeFileSync(b,new Date().toISOString())}else g().mkdirSync(a,{recursive:!0});g().cpSync(c,a,{recursive:!0,force:!1,errorOnExist:!1}),g().writeFileSync(b,new Date().toISOString()),console.log(`[dataDir] Migrated legacy data from ${c} → ${a}`)}catch(a){console.warn(`[dataDir] Legacy migration skipped: ${a?.message||a}`)}}(h.n),[h.n,m,o]))g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},62571:(a,b,c)=>{"use strict";let d=c(53053),e=c(57975),f=e.debuglog("undici"),g=e.debuglog("fetch"),h=e.debuglog("websocket"),i={beforeConnect:d.channel("undici:client:beforeConnect"),connected:d.channel("undici:client:connected"),connectError:d.channel("undici:client:connectError"),sendHeaders:d.channel("undici:client:sendHeaders"),create:d.channel("undici:request:create"),bodySent:d.channel("undici:request:bodySent"),bodyChunkSent:d.channel("undici:request:bodyChunkSent"),bodyChunkReceived:d.channel("undici:request:bodyChunkReceived"),headers:d.channel("undici:request:headers"),trailers:d.channel("undici:request:trailers"),error:d.channel("undici:request:error"),open:d.channel("undici:websocket:open"),close:d.channel("undici:websocket:close"),socketError:d.channel("undici:websocket:socket_error"),ping:d.channel("undici:websocket:ping"),pong:d.channel("undici:websocket:pong"),proxyConnected:d.channel("undici:proxy:connected")},j=!1;function k(a=f){if(!j){if(i.beforeConnect.hasSubscribers||i.connected.hasSubscribers||i.connectError.hasSubscribers||i.sendHeaders.hasSubscribers){j=!0;return}j=!0,d.subscribe("undici:client:beforeConnect",b=>{let{connectParams:{version:c,protocol:d,port:e,host:f}}=b;a("connecting to %s%s using %s%s",f,e?`:${e}`:"",d,c)}),d.subscribe("undici:client:connected",b=>{let{connectParams:{version:c,protocol:d,port:e,host:f}}=b;a("connected to %s%s using %s%s",f,e?`:${e}`:"",d,c)}),d.subscribe("undici:client:connectError",b=>{let{connectParams:{version:c,protocol:d,port:e,host:f},error:g}=b;a("connection to %s%s using %s%s errored - %s",f,e?`:${e}`:"",d,c,g.message)}),d.subscribe("undici:client:sendHeaders",b=>{let{request:{method:c,path:d,origin:e}}=b;a("sending request to %s %s%s",c,e,d)})}}let l=!1,m=!1;(f.enabled||g.enabled)&&(k(g.enabled?g:f),function(a=f){if(!l){if(i.headers.hasSubscribers||i.trailers.hasSubscribers||i.error.hasSubscribers){l=!0;return}l=!0,d.subscribe("undici:request:headers",b=>{let{request:{method:c,path:d,origin:e},response:{statusCode:f}}=b;a("received response to %s %s%s - HTTP %d",c,e,d,f)}),d.subscribe("undici:request:trailers",b=>{let{request:{method:c,path:d,origin:e}}=b;a("trailers received from %s %s%s",c,e,d)}),d.subscribe("undici:request:error",b=>{let{request:{method:c,path:d,origin:e},error:f}=b;a("request to %s %s%s errored - %s",c,e,d,f.message)})}}(g.enabled?g:f)),h.enabled&&(k(f.enabled?f:h),function(a=h){if(!m){if(i.open.hasSubscribers||i.close.hasSubscribers||i.socketError.hasSubscribers||i.ping.hasSubscribers||i.pong.hasSubscribers){m=!0;return}m=!0,d.subscribe("undici:websocket:open",b=>{if(null!=b.address){let{address:c,port:d}=b.address;a("connection opened %s%s",c,d?`:${d}`:"")}else a("connection opened")}),d.subscribe("undici:websocket:close",b=>{let{websocket:c,code:d,reason:e}=b;a("closed connection to %s - %s %s",c.url,d,e)}),d.subscribe("undici:websocket:socket_error",b=>{a("connection errored - %s",b.message)}),d.subscribe("undici:websocket:ping",b=>{a("ping received")}),d.subscribe("undici:websocket:pong",b=>{a("pong received")})}}(h)),a.exports={channels:i}},63299:(a,b,c)=>{"use strict";c(42541);let d='Before writing code, stop at the first rung that holds: 1) Does this need to exist? Skip if speculative (YAGNI). 2) Already in codebase? Reuse it. 3) Stdlib does it? Use stdlib. 4) Native platform feature? Use it (CSS over JS, <input type="date"> over picker lib, DB constraint over app code). 5) Installed dependency? Use it, never add new ones for what a few lines do. 6) One line? Write one line. 7) Only then: minimum code that works.',e="No unrequested abstractions. No boilerplate 'for later'. Deletion over addition. Fewest files. Shortest working diff. Mark simplifications: // ponytail: [reason]. Bug fix = root cause fix, not symptom patch.",f="Never simplify away: input validation at trust boundaries, error handling preventing data loss, security measures, accessibility, anything explicitly requested. User insists on full version → build it.",g="ACTIVE EVERY RESPONSE. No drift back to over-building. Still active if unsure.";["You are a lazy senior dev. Build what's asked, but name the lazier alternative in one line. User picks.",d,f,"Output: code first, then one line naming what could be simpler.",g].join(" "),["You are a lazy senior dev. The best code is the code never written. Enforce the ladder — stdlib and native first, shortest diff, shortest explanation.",d,e,f,"Output: code first, then at most 3 short lines: what was skipped, when to add it. Pattern: [code] → skipped: [X], add when [Y].",g].join(" "),["You are a YAGNI extremist. Deletion before addition. Ship the one-liner and challenge the rest of the requirement. The laziest solution that actually works.",d,e,f,"Output: one-liner or minimal code, then challenge: 'Do you actually need [X]?' No essays.",g].join(" ")},63993:(a,b,c)=>{"use strict";c.d(b,{B:()=>f});var d=c(97753);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},64156:(a,b,c)=>{"use strict";let d,{URL:e}=c(73136),f=c(5318),{InvalidArgumentError:g}=c(61448),{Socks5Client:h,STATES:i}=c(40603),{kBusy:j,kConnected:k,kDispatch:l,kClose:m,kDestroy:n}=c(49176),o=c(35689),p=c(55285),{debuglog:q}=c(57975),r=q("undici:socks5-proxy"),s=Symbol("proxy url"),t=Symbol("proxy headers"),u=Symbol("proxy auth"),v=Symbol("proxy protocol"),w=Symbol("pools"),x=Symbol("connector"),y=Symbol("request tls settings"),z=!1;class A extends f{constructor(a,b={}){if(super(),z||(process.emitWarning("SOCKS5 proxy support is experimental and subject to change","ExperimentalWarning"),z=!0),!a)throw new g("Proxy URL is mandatory");const c="string"==typeof a?new e(a):a;if("socks5:"!==c.protocol&&"socks:"!==c.protocol)throw new g("Proxy URL must use socks5:// or socks:// protocol");this[s]=c,this[t]=b.headers||{},this[v]=b.proxyTls?"https:":"http:",this[y]=b.requestTls,this[u]={username:b.username||(c.username?decodeURIComponent(c.username):null),password:b.password||(c.password?decodeURIComponent(c.password):null)},this[x]=b.connect||p({...b.proxyTls,servername:b.proxyTls?.servername||c.hostname}),this[w]=new Map}async createSocks5Connection(a,b){let c=this[s].hostname,d=parseInt(this[s].port)||1080;r("creating SOCKS5 connection to",c,d);let e=Promise.withResolvers();this[x]({hostname:c,host:c,port:d,protocol:this[v]},(a,b)=>{a?e.reject(a):e.resolve(b)});let f=await e.promise,g=new h(f,this[u]);g.on("error",a=>{r("SOCKS5 error:",a),f.destroy()}),await g.handshake();let j=Promise.withResolvers(),k=setTimeout(()=>{j.reject(Error("SOCKS5 authentication timeout"))},5e3),l=()=>{clearTimeout(k),g.removeListener("error",m),j.resolve()},m=a=>{clearTimeout(k),g.removeListener("authenticated",l),j.reject(a)};g.state===i.AUTHENTICATED?(clearTimeout(k),j.resolve()):(g.once("authenticated",l),g.once("error",m)),await j.promise,await g.connect(a,b);let n=Promise.withResolvers(),o=setTimeout(()=>{n.reject(Error("SOCKS5 connection timeout"))},5e3),p=c=>{r("SOCKS5 tunnel established to",a,b,"via",c),clearTimeout(o),g.removeListener("error",q),n.resolve()},q=a=>{clearTimeout(o),g.removeListener("connected",p),n.reject(a)};return g.once("connected",p),g.once("error",q),await n.promise,f}[l](a,b){let{origin:f}=a;r("dispatching request to",f,"via SOCKS5");try{let g=String(f),h=this[w].get(g);if(!h||h.destroyed||h.closed){h=new o(f,{pipelining:a.pipelining,connections:a.connections,connect:async(a,b)=>{try{let a=new e(f),g=a.hostname,h=parseInt(a.port)||("https:"===a.protocol?443:80);r("establishing SOCKS5 connection to",g,h);let i=await this.createSocks5Connection(g,h),j=i;if("https:"===a.protocol){d||(d=c(41692)),r("upgrading to TLS"),j=d.connect({...this[y],socket:i,servername:this[y]?.servername||g});let a=Promise.withResolvers();j.once("secureConnect",a.resolve),j.once("error",a.reject),await a.promise}b(null,j)}catch(a){r("SOCKS5 connection error:",a),b(a)}}}),this[w].set(g,h);let b=()=>{this[w].get(g)!==h||h[k]>0||h[j]||(this[w].delete(g),h.destroyed||h.close())};h.on("disconnect",b),h.on("connectionError",b)}return h[l](a,b)}catch(a){if(r("dispatch error:",a),"function"==typeof b.onResponseError)return b.onResponseError(null,a),!1;if("function"==typeof b.onError)return b.onError(a),!1;throw a}}async [m](){let a=[];for(let b of this[w].values())a.push(b.close());this[w].clear(),await Promise.all(a)}async [n](a){let b=[];for(let c of this[w].values())b.push(c.destroy(a));this[w].clear(),await Promise.all(b)}}a.exports=A},64304:(a,b,c)=>{"use strict";c.d(b,{Ay:()=>y});var d=c(69384),e=c(30395);let f=e.xq["perplexity-web"].baseUrl,g="2.18",h={"pplx-auto":["concise","pplx_pro"],"pplx-sonar":["copilot","experimental"],"pplx-gpt":["copilot","gpt54"],"pplx-gemini":["copilot","gemini31pro_high"],"pplx-sonnet":["copilot","claude46sonnet"],"pplx-opus":["copilot","claude46opus"],"pplx-nemotron":["copilot","nv_nemotron_3_super"]},i={"pplx-gpt":"gpt54_thinking","pplx-sonnet":"claude46sonnetthinking","pplx-opus":"claude46opusthinking"},j=/\[\d+\]/g,k=/<grok:[^>]*>.*?<\/grok:[^>]*>/gs,l=/<grok:[^>]*\/>/g,m=/<[?]xml[^?]*[?]>/g,n=/<\/?response\b[^>]*>/gi,o=/ {2,}/g,p=/\n{3,}/g,q=new Map;function r(a){let b=a.map(a=>`${a.role}:${a.content}`).join("\n"),c=0x811c9dc5;for(let a=0;a<b.length;a++)c^=b.charCodeAt(a),c=0x1000193*c>>>0;return c.toString(16).padStart(8,"0")}function s(a,b,c,d){if(!d)return;let e=r([...a,{role:"user",content:b},{role:"assistant",content:c}]);if(q.set(e,{backendUuid:d,ts:Date.now()}),q.size>200){let a=null,b=1/0;for(let[c,d]of q)d.ts<b&&(b=d.ts,a=c);a&&q.delete(a)}}function t(a,b=!0){let c=a;return c=(c=(c=(c=(c=c.replace(m,"")).replace(j,"")).replace(k,"")).replace(l,"")).replace(n,""),b&&(c=(c=(c=c.replace(o," ")).replace(p,"\n\n")).trim()),c}async function*u(a,b){let c=a.getReader(),d=new TextDecoder,e="",f=[];function g(){if(0===f.length)return null;let a=f.join("\n");f=[];let b=a.trim();if(!b||"[DONE]"===b)return"done";try{return JSON.parse(b)}catch{return null}}try{for(;;){if(b?.aborted)return;let{value:a,done:h}=await c.read();if(h)break;for(e+=d.decode(a,{stream:!0});;){let a=e.indexOf("\n");if(a<0)break;let b=e.slice(0,a);e=e.slice(a+1);let c=b.endsWith("\r")?b.slice(0,-1):b;if(""===c){let a=g();if("done"===a)return;a&&(yield a);continue}if(c.startsWith("data:")&&f.push(c.slice(5).trimStart()),"event: end_of_stream"===c)return}}(e+=d.decode()).trim().startsWith("data:")&&f.push(e.trim().slice(5).trimStart());let a=g();a&&"done"!==a&&(yield a)}finally{c.releaseLock()}}async function*v(a,b){let c="",d=null,e=0,f=new Set;for await(let g of u(a,b)){if(g.error_code||g.error_message)return void(yield{error:g.error_message||`Perplexity error: ${g.error_code}`,done:!0});g.backend_uuid&&(d=g.backend_uuid);let a=g.blocks??[];for(let b of a){let a=b.intended_usage??"";if("pro_search_steps"===a&&b.plan_block?.steps){for(let a of b.plan_block.steps)if("SEARCH_WEB"===a.step_type)for(let b of a.search_web_content?.queries??[]){let a=b.query??"";a&&!f.has(a)&&(f.add(a),yield{thinking:`Searching: ${a}`,backendUuid:d??void 0})}else if("READ_RESULTS"===a.step_type)for(let b of(a.read_results_content?.urls??[]).slice(0,3))b&&!f.has(b)&&(f.add(b),yield{thinking:`Reading: ${b}`,backendUuid:d??void 0})}if("plan"===a&&b.plan_block?.goals)for(let a of b.plan_block.goals){let b=a.description??"";b&&!f.has(b)&&(f.add(b),yield{thinking:b,backendUuid:d??void 0})}if(!a.includes("markdown"))continue;let g=b.markdown_block;if(!g)continue;let h=g.chunks??[];if(0!==h.length)if("DONE"===g.progress)c=h.join("");else{let a=c+h.join("");if(a.length>e){let b=a.slice(e);c=a,e=a.length,yield{delta:b,answer:c,backendUuid:d??void 0}}}}if(0===a.length&&g.text){let a=g.text.trim();if(a.length>e){let b=a.slice(e);c=a,e=a.length,yield{delta:b,answer:c,backendUuid:d??void 0}}}if(g.final||"COMPLETED"===g.status)break}yield{delta:"",answer:c,backendUuid:d??void 0,done:!0}}function w(a){return`data: ${JSON.stringify(a)}
408
408
 
409
409
  `}async function x(a,b,c,d,e,f,g){let h="",i=null,j=[];for await(let b of v(a,g)){if(b.backendUuid&&(i=b.backendUuid),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"PPLX_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){j.push(b.thinking);continue}if(b.done){h=b.answer||h;break}b.answer&&(h=b.answer)}s(e,f,h=t(h),i);let k=j.length>0?j.join("\n"):void 0,l={role:"assistant",content:h};k&&(l.reasoning_content=k);let m=Math.ceil(f.length/4),n=Math.ceil(h.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:null,choices:[{index:0,message:l,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:m,completion_tokens:n,total_tokens:m+n}}),{status:200,headers:{"Content-Type":"application/json"}})}class y extends d.Hv{constructor(){super("perplexity-web",e.xq["perplexity-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:j}){var k,l,m,n,o;let p,u,y,z,A,B=b?.messages;if(!B||!Array.isArray(B)||0===B.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:f,headers:{},transformedBody:b};(b?.thinking===!0||b?.reasoning_effort!=null&&"none"!==b.reasoning_effort)&&i[a]?(p="copilot",u=i[a],j?.info?.("PPLX-WEB",`Thinking mode → ${a} using ${u}`)):h[a]?[p,u]=h[a]:(p="copilot",u=a,j?.info?.("PPLX-WEB",`Unmapped model ${a}, using as raw preference`));let C=function(a){let b="",c=[];for(let d of a){let a=String(d.role||"user");"developer"===a&&(a="system");let e="";"string"==typeof d.content?e=d.content:Array.isArray(d.content)&&(e=d.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),e.trim()&&("system"===a?b+=e+"\n":("user"===a||"assistant"===a)&&c.push({role:a,content:e}))}let d="";return c.length>0&&"user"===c[c.length-1].role&&(d=c.pop().content),{systemMsg:b,history:c,currentMsg:d}}(B),D=function(a){if(0===a.length)return null;let b=r(a),c=q.get(b);return c?Date.now()-c.ts>36e5?(q.delete(b),null):c.backendUuid:null}(C.history);D&&j?.info?.("PPLX-WEB",`Session continue: ${D.slice(0,12)}...`);let E=function(a,b,c){if(b)return a.currentMsg;let d={},e=[];a.systemMsg.trim()&&e.push(a.systemMsg.trim());let f=function(a){if(!Array.isArray(a)||0===a.length)return"";let b=a.map(a=>{let b=a?.function||a||{},c=b.name||"unnamed",d=(b.description||"").split("\n")[0].slice(0,200);return`- ${c}: ${d}`});return`Available tools (reference only, cannot invoke):
410
- ${b.join("\n")}`}(c);f&&e.push(f),e.push("You have built-in web search. Answer questions directly using search results."),d.instructions=e,a.history.length>0&&(d.history=a.history),a.currentMsg?d.query=a.currentMsg:0===a.history.length&&(d.query="");let g=JSON.stringify(d);return g.length>96e3?g.slice(-96e3):g}(C,D,b?.tools);if(!E.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:f,headers:{},transformedBody:b};let F=(k=p,l=u,A="u">typeof Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",{query_str:E,params:{query_str:E,search_focus:"internet",mode:k,model_preference:l,sources:["web"],attachments:[],frontend_uuid:crypto.randomUUID(),frontend_context_uuid:crypto.randomUUID(),version:g,language:"en-US",timezone:A,search_recency_filter:null,is_incognito:!0,use_schematized_api:!0,last_backend_uuid:D}}),G={"Content-Type":"application/json",Accept:"text/event-stream",Origin:"https://www.perplexity.ai",Referer:"https://www.perplexity.ai/","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36","X-App-ApiClient":"default","X-App-ApiVersion":g};d.accessToken?G.Authorization=`Bearer ${d.accessToken}`:d.apiKey&&(G.Cookie=`__Secure-next-auth.session-token=${d.apiKey}`),j?.info?.("PPLX-WEB",`Query to ${a} (pref=${u}, mode=${p}), len=${E.length}`);let H={method:"POST",headers:G,body:JSON.stringify(F)};e&&(H.signal=e);try{y=await fetch(f,H)}catch(a){return j?.error?.("PPLX-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Perplexity connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:f,headers:G,transformedBody:F}}if(!y.ok){let a=y.status,b=`Perplexity returned HTTP ${a}`;return 401===a||403===a?b="Perplexity auth failed — session cookie may be expired. Re-paste your __Secure-next-auth.session-token.":429===a&&(b="Perplexity rate limited. Wait a moment and retry."),j?.warn?.("PPLX-WEB",b),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:f,headers:G,transformedBody:F}}if(!y.body)return{response:new Response(JSON.stringify({error:{message:"Perplexity returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:f,headers:G,transformedBody:F};let I=`chatcmpl-pplx-${crypto.randomUUID().slice(0,12)}`,J=Math.floor(Date.now()/1e3);if(c){let b;z=new Response((m=y.body,n=C.history,o=C.currentMsg,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="",f=null;for await(let g of v(m,e)){if(g.backendUuid&&(f=g.backendUuid),g.error){c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Error: ${g.error}]`},finish_reason:null,logprobs:null}]})));break}if(g.thinking){c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{reasoning_content:g.thinking+"\n"},finish_reason:null,logprobs:null}]})));continue}if(g.done){d=g.answer||d;break}let e=g.delta||"";e&&(e=t(e,!1))&&c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:e},finish_reason:null,logprobs:null}]}))),g.answer&&(d=g.answer)}c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n")),s(n,o,t(d),f)}catch(d){c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,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 z=await x(y.body,a,I,J,C.history,C.currentMsg,e);return{response:z,url:f,headers:G,transformedBody:F}}}},64323:(a,b,c)=>{"use strict";c(42541),c(92843),new TextEncoder},64371:(a,b,c)=>{"use strict";let d,e=c(34589),{runtimeFeatures:f}=c(56758),g=new Map([["sha256",0],["sha384",1],["sha512",2]]);if(f.has("crypto")){let a=(d=c(77598)).getHashes();for(let b of(0===a.length&&g.clear(),g.keys()))!1===a.includes(b)&&g.delete(b)}else g.clear();let h=Map.prototype.get.bind(g),i=Map.prototype.has.bind(g),j=!1===f.has("crypto")||0===g.size?()=>!0:(a,b)=>{let c=l(b);if(0===c.length)return!0;for(let b of k(c)){let c=b.alg,d=b.val;if(n(m(c,a),d))return!0}return!1};function k(a){let b=[],c=null;for(let d of a){if(e(i(d.alg),"Invalid SRI hash algorithm token"),0===b.length){b.push(d),c=d;continue}let a=h(c.alg),f=h(d.alg);f<a||(f>a?(c=d,b[0]=d,b.length=1):b.push(d))}return b}function l(a){let b=[];for(let c of a.split(" ")){let a=c.split("?",1)[0],d="",e=[a.slice(0,6),a.slice(7)],f=e[0];if(!i(f))continue;e[1]&&(d=e[1]);let g={alg:f,val:d};b.push(g)}return b}let m=(a,b)=>d.hash(a,b,"base64");function n(a,b){let c=a.length;0!==c&&"="===a[c-1]&&(c-=1),0!==c&&"="===a[c-1]&&(c-=1);let d=b.length;if(0!==d&&"="===b[d-1]&&(d-=1),0!==d&&"="===b[d-1]&&(d-=1),c!==d)return!1;for(let d=0;d<c;++d)if(a[d]!==b[d]&&("+"!==a[d]||"-"!==b[d])&&("/"!==a[d]||"_"!==b[d]))return!1;return!0}a.exports={applyAlgorithmToBytes:m,bytesMatch:j,caseSensitiveMatch:n,isValidSRIHashAlgorithm:i,getStrongestMetadata:k,parseMetadata:l}},64704:a=>{"use strict";let b,c=0,d=Symbol("kFastTimer"),e=[];function f(){c+=499;let a=0,b=e.length;for(;a<b;){let d=e[a];0===d._state?(d._idleStart=c-499,d._state=1):1===d._state&&c>=d._idleStart+d._idleTimeout&&(d._state=-1,d._idleStart=-1,d._onTimeout(d._timerArg)),-1===d._state?(d._state=-2,0!=--b&&(e[a]=e[b])):++a}e.length=b,0!==e.length&&g()}function g(){b?.refresh?b.refresh():(clearTimeout(b),b=setTimeout(f,499),b?.unref())}class h{[d]=!0;_state=-2;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(a,b,c){this._onTimeout=a,this._idleTimeout=b,this._timerArg=c,this.refresh()}refresh(){-2===this._state&&e.push(this),b&&1!==e.length||g(),this._state=0}clear(){this._state=-1,this._idleStart=-1}}a.exports={setTimeout:(a,b,c)=>b<=1e3?setTimeout(a,b,c):new h(a,b,c),clearTimeout(a){a[d]?a.clear():clearTimeout(a)},setFastTimeout:(a,b,c)=>new h(a,b,c),clearFastTimeout(a){a.clear()},now:()=>c,tick(a=0){c+=a-1e3+1,f(),f()},reset(){c=0,e.length=0,clearTimeout(b),b=null},kFastTimer:d}},64821:(a,b,c)=>{"use strict";let{Writable:d}=c(57075),e=c(34589),{parserStates:f,opcodes:g,states:h,emptyBuffer:i,sentCloseFrameState:j}=c(62026),{isValidStatusCode:k,isValidOpcode:l,websocketMessageReceived:m,utf8Decode:n,isControlFrame:o,isTextBinaryFrame:p,isContinuationFrame:q}=c(94050),{failWebsocketConnection:r}=c(4654),{WebsocketFrameSend:s}=c(45221),{PerMessageDeflate:t}=c(97210),{MessageSizeExceededError:u}=c(61448);class v extends d{#bm=[];#bn=0;#bo=0;#bp=!1;#a=f.INFO;#bq={};#br=[];#a7;#ay;#bs;#bt;constructor(a,b,c={}){super(),this.#ay=a,this.#a7=null==b?new Map:b,this.#bs=c.maxFragments??0,this.#bt=c.maxPayloadSize??0,this.#a7.has("permessage-deflate")&&this.#a7.set("permessage-deflate",new t(b,c))}_write(a,b,c){this.#bm.push(a),this.#bo+=a.length,this.#bp=!0,this.run(c)}#bu(){return!(this.#bt>0)||!!o(this.#bq.opcode)||!(this.#bq.payloadLength+this.#bn>this.#bt)||(r(this.#ay,1009,"Payload size exceeds maximum allowed size"),!1)}run(a){for(;this.#bp;)if(this.#a===f.INFO){if(this.#bo<2)return a();let b=this.consume(2),c=(128&b[0])!=0,d=15&b[0],e=(128&b[1])==128,h=!c&&d!==g.CONTINUATION,i=127&b[1],j=64&b[0],k=32&b[0],m=16&b[0];if(!l(d))return r(this.#ay,1002,"Invalid opcode received"),a();if(e)return r(this.#ay,1002,"Frame cannot be masked"),a();if(0!==j&&!this.#a7.has("permessage-deflate"))return void r(this.#ay,1002,"Expected RSV1 to be clear.");if(0!==k||0!==m)return void r(this.#ay,1002,"RSV1, RSV2, RSV3 must be clear");if(h&&!p(d))return void r(this.#ay,1002,"Invalid frame type was fragmented.");if(p(d)&&this.#br.length>0)return void r(this.#ay,1002,"Expected continuation frame");if(this.#bq.fragmented&&h)return void r(this.#ay,1002,"Fragmented frame exceeded 125 bytes.");if((i>125||h)&&o(d))return void r(this.#ay,1002,"Control frame either too large or fragmented");if(q(d)&&0===this.#br.length&&!this.#bq.compressed)return void r(this.#ay,1002,"Unexpected continuation frame");if(i<=125){if(this.#bq.payloadLength=i,this.#a=f.READ_DATA,!this.#bu())return}else 126===i?this.#a=f.PAYLOADLENGTH_16:127===i&&(this.#a=f.PAYLOADLENGTH_64);p(d)&&(this.#bq.binaryType=d,this.#bq.compressed=0!==j),this.#bq.opcode=d,this.#bq.masked=e,this.#bq.fin=c,this.#bq.fragmented=h}else if(this.#a===f.PAYLOADLENGTH_16){if(this.#bo<2)return a();let b=this.consume(2);if(this.#bq.payloadLength=b.readUInt16BE(0),this.#a=f.READ_DATA,!this.#bu())return}else if(this.#a===f.PAYLOADLENGTH_64){if(this.#bo<8)return a();let b=this.consume(8),c=b.readUInt32BE(0),d=b.readUInt32BE(4);if(0!==c||d>0x80000000-1)return void r(this.#ay,1009,"Received payload length > 2^31 bytes.");if(this.#bq.payloadLength=d,this.#a=f.READ_DATA,!this.#bu())return}else if(this.#a===f.READ_DATA){if(this.#bo<this.#bq.payloadLength)return a();let b=this.consume(this.#bq.payloadLength);if(o(this.#bq.opcode))this.#bp=this.parseControlFrame(b),this.#a=f.INFO;else if(this.#bq.compressed){this.#a7.get("permessage-deflate").decompress(b,this.#bq.fin,(b,c)=>{if(b){let a=b instanceof u?1009:1007;r(this.#ay,a,b.message);return}if(this.writeFragments(c)){if(this.#bt>0&&this.#bn>this.#bt)return void r(this.#ay,1009,new u().message);if(!this.#bq.fin){this.#a=f.INFO,this.#bp=!0,this.run(a);return}m(this.#ay,this.#bq.binaryType,this.consumeFragments()),this.#bp=!0,this.#a=f.INFO,this.run(a)}},this.#bn),this.#bp=!1;break}else{if(!this.writeFragments(b))return;!this.#bq.fragmented&&this.#bq.fin&&m(this.#ay,this.#bq.binaryType,this.consumeFragments()),this.#a=f.INFO}}}consume(a){if(a>this.#bo)throw Error("Called consume() before buffers satiated.");if(0===a)return i;this.#bo-=a;let b=this.#bm[0];if(b.length>a)return this.#bm[0]=b.subarray(a,b.length),b.subarray(0,a);{if(b.length===a)return this.#bm.shift();let c=0,d=Buffer.allocUnsafeSlow(a);for(;c!==a;){let b=this.#bm[0],e=b.length;if(e+c===a){d.set(this.#bm.shift(),c);break}if(e+c>a){d.set(b.subarray(0,a-c),c),this.#bm[0]=b.subarray(a-c);break}d.set(this.#bm.shift(),c),c+=e}return d}}writeFragments(a){return this.#bs>0&&this.#br.length===this.#bs?(r(this.#ay,1008,"Too many message fragments"),!1):(this.#bn+=a.length,this.#br.push(a),!0)}consumeFragments(){let a=this.#br;if(1===a.length)return this.#bn=0,a.shift();let b=0,c=Buffer.allocUnsafeSlow(this.#bn);for(let d=0;d<a.length;++d){let e=a[d];c.set(e,b),b+=e.length}return this.#br=[],this.#bn=0,c}parseCloseBody(a){let b;if(e(1!==a.length),a.length>=2&&(b=a.readUInt16BE(0)),void 0!==b&&!k(b))return{code:1002,reason:"Invalid status code",error:!0};let c=a.subarray(2);239===c[0]&&187===c[1]&&191===c[2]&&(c=c.subarray(3));try{c=n(c)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:b,reason:c,error:!1}}parseControlFrame(a){let{opcode:b,payloadLength:c}=this.#bq;if(b===g.CLOSE){if(1===c)return r(this.#ay,1002,"Received close frame with a 1-byte body."),!1;if(this.#bq.closeInfo=this.parseCloseBody(a),this.#bq.closeInfo.error){let{code:a,reason:b}=this.#bq.closeInfo;return r(this.#ay,a,b),!1}if(!this.#ay.closeState.has(j.SENT)&&!this.#ay.closeState.has(j.RECEIVED)){let a=i;this.#bq.closeInfo.code&&(a=Buffer.allocUnsafe(2)).writeUInt16BE(this.#bq.closeInfo.code,0);let b=new s(a);this.#ay.socket.write(b.createFrame(g.CLOSE)),this.#ay.closeState.add(j.SENT)}return this.#ay.readyState=h.CLOSING,this.#ay.closeState.add(j.RECEIVED),!1}if(b===g.PING){if(!this.#ay.closeState.has(j.RECEIVED)){let b=new s(a);this.#ay.socket.write(b.createFrame(g.PONG)),this.#ay.onPing(a)}}else b===g.PONG&&this.#ay.onPong(a);return!0}get closingInfo(){return this.#bq.closeInfo}}a.exports={ByteParser:v}},65294:(a,b,c)=>{"use strict";c.r(b),c.d(b,{convertCommandCodeToOpenAI:()=>h});var d=c(70556),e=c(42541),f=c(90943);function g(a,b,c=null){return{id:a.responseId,object:"chat.completion.chunk",created:a.created,model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function h(a,b){var c;if(!a)return null;if(a&&"object"==typeof a&&"chat.completion.chunk"===a.object)return a;let d=a;if("string"==typeof a){let b=a.trim();if(!b)return null;let c=b.startsWith("data:")?b.slice(5).trim():b;if(!c||"[DONE]"===c)return null;try{d=JSON.parse(c)}catch{return null}}if(!d||"object"!=typeof d||!d.type)return null;c=d.model,b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.model=b.model||c||"commandcode",b.chunkIndex=0,b.toolIndex=0,b.toolIndexById=new Map,b.openTools=new Set,b.openText=!1,b.finishReason=null,b.finishReasonSent=!1,b.usage=null);let h=[];switch(d.type){case"text-delta":{let a=d.text||d.delta||"";if(!a)break;let c=0===b.chunkIndex?{role:"assistant",content:a}:{content:a};b.chunkIndex++,b.openText=!0,h.push(g(b,c));break}case"reasoning-delta":{let a=d.text||"";if(!a)break;let c=0===b.chunkIndex?{role:"assistant",reasoning_content:a}:{reasoning_content:a};b.chunkIndex++,h.push(g(b,c));break}case"tool-input-start":{let a=d.id||d.toolCallId||`call_${Date.now()}_${b.toolIndex}`,c=b.toolIndexById.get(a);null==c&&(c=b.toolIndex++,b.toolIndexById.set(a,c)),b.openTools.add(a);let e={...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:c,id:a,type:"function",function:{name:d.toolName||"",arguments:""}}]};b.chunkIndex++,h.push(g(b,e));break}case"tool-input-delta":{let a=d.id||d.toolCallId,c=b.toolIndexById.get(a);if(null==c)break;let e={tool_calls:[{index:c,function:{arguments:d.delta||d.inputTextDelta||""}}]};h.push(g(b,e));break}case"tool-call":{let a=d.toolCallId;if(b.toolIndexById.has(a))break;let c=b.toolIndex++;b.toolIndexById.set(a,c);let e="string"==typeof d.input?d.input:JSON.stringify(d.input??{}),f={...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:c,id:a,type:"function",function:{name:d.toolName||"",arguments:e}}]};b.chunkIndex++,h.push(g(b,f));break}case"finish-step":b.finishReason=(0,f.Jm)(d.finishReason,{format:e.h.COMMANDCODE,hasToolCalls:b.toolIndex>0}),d.usage&&(b.usage=d.usage);break;case"finish":{if(b.finishReasonSent)break;let a=b.finishReason||(0,f.Jm)(d.finishReason,{format:e.h.COMMANDCODE,hasToolCalls:b.toolIndex>0}),c=g(b,{},a),i=d.totalUsage||b.usage;i&&(c.usage={prompt_tokens:i.inputTokens??0,completion_tokens:i.outputTokens??0,total_tokens:i.totalTokens??(i.inputTokens??0)+(i.outputTokens??0)}),b.finishReasonSent=!0,h.push(c);break}case"error":{b.finishReason="stop";let a=d.error??d.message??"unknown",c="string"==typeof a?a:JSON.stringify(a);h.push(g(b,{content:`
410
+ ${b.join("\n")}`}(c);f&&e.push(f),e.push("You have built-in web search. Answer questions directly using search results."),d.instructions=e,a.history.length>0&&(d.history=a.history),a.currentMsg?d.query=a.currentMsg:0===a.history.length&&(d.query="");let g=JSON.stringify(d);return g.length>96e3?g.slice(-96e3):g}(C,D,b?.tools);if(!E.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:f,headers:{},transformedBody:b};let F=(k=p,l=u,A="u">typeof Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",{query_str:E,params:{query_str:E,search_focus:"internet",mode:k,model_preference:l,sources:["web"],attachments:[],frontend_uuid:crypto.randomUUID(),frontend_context_uuid:crypto.randomUUID(),version:g,language:"en-US",timezone:A,search_recency_filter:null,is_incognito:!0,use_schematized_api:!0,last_backend_uuid:D}}),G={"Content-Type":"application/json",Accept:"text/event-stream",Origin:"https://www.perplexity.ai",Referer:"https://www.perplexity.ai/","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36","X-App-ApiClient":"default","X-App-ApiVersion":g};d.accessToken?G.Authorization=`Bearer ${d.accessToken}`:d.apiKey&&(G.Cookie=`__Secure-next-auth.session-token=${d.apiKey}`),j?.info?.("PPLX-WEB",`Query to ${a} (pref=${u}, mode=${p}), len=${E.length}`);let H={method:"POST",headers:G,body:JSON.stringify(F)};e&&(H.signal=e);try{y=await fetch(f,H)}catch(a){return j?.error?.("PPLX-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Perplexity connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:f,headers:G,transformedBody:F}}if(!y.ok){let a=y.status,b=`Perplexity returned HTTP ${a}`;return 401===a||403===a?b="Perplexity auth failed — session cookie may be expired. Re-paste your __Secure-next-auth.session-token.":429===a&&(b="Perplexity rate limited. Wait a moment and retry."),j?.warn?.("PPLX-WEB",b),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:f,headers:G,transformedBody:F}}if(!y.body)return{response:new Response(JSON.stringify({error:{message:"Perplexity returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:f,headers:G,transformedBody:F};let I=`chatcmpl-pplx-${crypto.randomUUID().slice(0,12)}`,J=Math.floor(Date.now()/1e3);if(c){let b;z=new Response((m=y.body,n=C.history,o=C.currentMsg,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="",f=null;for await(let g of v(m,e)){if(g.backendUuid&&(f=g.backendUuid),g.error){c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Error: ${g.error}]`},finish_reason:null,logprobs:null}]})));break}if(g.thinking){c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{reasoning_content:g.thinking+"\n"},finish_reason:null,logprobs:null}]})));continue}if(g.done){d=g.answer||d;break}let e=g.delta||"";e&&(e=t(e,!1))&&c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:e},finish_reason:null,logprobs:null}]}))),g.answer&&(d=g.answer)}c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,model:a,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n")),s(n,o,t(d),f)}catch(d){c.enqueue(b.encode(w({id:I,object:"chat.completion.chunk",created:J,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 z=await x(y.body,a,I,J,C.history,C.currentMsg,e);return{response:z,url:f,headers:G,transformedBody:F}}}},64323:(a,b,c)=>{"use strict";c(42541),c(92843),new TextEncoder},64371:(a,b,c)=>{"use strict";let d,e=c(34589),{runtimeFeatures:f}=c(56758),g=new Map([["sha256",0],["sha384",1],["sha512",2]]);if(f.has("crypto")){let a=(d=c(77598)).getHashes();for(let b of(0===a.length&&g.clear(),g.keys()))!1===a.includes(b)&&g.delete(b)}else g.clear();let h=Map.prototype.get.bind(g),i=Map.prototype.has.bind(g),j=!1===f.has("crypto")||0===g.size?()=>!0:(a,b)=>{let c=l(b);if(0===c.length)return!0;for(let b of k(c)){let c=b.alg,d=b.val;if(n(m(c,a),d))return!0}return!1};function k(a){let b=[],c=null;for(let d of a){if(e(i(d.alg),"Invalid SRI hash algorithm token"),0===b.length){b.push(d),c=d;continue}let a=h(c.alg),f=h(d.alg);f<a||(f>a?(c=d,b[0]=d,b.length=1):b.push(d))}return b}function l(a){let b=[];for(let c of a.split(" ")){let a=c.split("?",1)[0],d="",e=[a.slice(0,6),a.slice(7)],f=e[0];if(!i(f))continue;e[1]&&(d=e[1]);let g={alg:f,val:d};b.push(g)}return b}let m=(a,b)=>d.hash(a,b,"base64");function n(a,b){let c=a.length;0!==c&&"="===a[c-1]&&(c-=1),0!==c&&"="===a[c-1]&&(c-=1);let d=b.length;if(0!==d&&"="===b[d-1]&&(d-=1),0!==d&&"="===b[d-1]&&(d-=1),c!==d)return!1;for(let d=0;d<c;++d)if(a[d]!==b[d]&&("+"!==a[d]||"-"!==b[d])&&("/"!==a[d]||"_"!==b[d]))return!1;return!0}a.exports={applyAlgorithmToBytes:m,bytesMatch:j,caseSensitiveMatch:n,isValidSRIHashAlgorithm:i,getStrongestMetadata:k,parseMetadata:l}},64704:a=>{"use strict";let b,c=0,d=Symbol("kFastTimer"),e=[];function f(){c+=499;let a=0,b=e.length;for(;a<b;){let d=e[a];0===d._state?(d._idleStart=c-499,d._state=1):1===d._state&&c>=d._idleStart+d._idleTimeout&&(d._state=-1,d._idleStart=-1,d._onTimeout(d._timerArg)),-1===d._state?(d._state=-2,0!=--b&&(e[a]=e[b])):++a}e.length=b,0!==e.length&&g()}function g(){b?.refresh?b.refresh():(clearTimeout(b),b=setTimeout(f,499),b?.unref())}class h{[d]=!0;_state=-2;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(a,b,c){this._onTimeout=a,this._idleTimeout=b,this._timerArg=c,this.refresh()}refresh(){-2===this._state&&e.push(this),b&&1!==e.length||g(),this._state=0}clear(){this._state=-1,this._idleStart=-1}}a.exports={setTimeout:(a,b,c)=>b<=1e3?setTimeout(a,b,c):new h(a,b,c),clearTimeout(a){a[d]?a.clear():clearTimeout(a)},setFastTimeout:(a,b,c)=>new h(a,b,c),clearFastTimeout(a){a.clear()},now:()=>c,tick(a=0){c+=a-1e3+1,f(),f()},reset(){c=0,e.length=0,clearTimeout(b),b=null},kFastTimer:d}},64821:(a,b,c)=>{"use strict";let{Writable:d}=c(57075),e=c(34589),{parserStates:f,opcodes:g,states:h,emptyBuffer:i,sentCloseFrameState:j}=c(62026),{isValidStatusCode:k,isValidOpcode:l,websocketMessageReceived:m,utf8Decode:n,isControlFrame:o,isTextBinaryFrame:p,isContinuationFrame:q}=c(94050),{failWebsocketConnection:r}=c(4654),{WebsocketFrameSend:s}=c(45221),{PerMessageDeflate:t}=c(97210),{MessageSizeExceededError:u}=c(61448);class v extends d{#bi=[];#bj=0;#bk=0;#bl=!1;#a=f.INFO;#bm={};#bn=[];#a3;#ay;#bo;#bp;constructor(a,b,c={}){super(),this.#ay=a,this.#a3=null==b?new Map:b,this.#bo=c.maxFragments??0,this.#bp=c.maxPayloadSize??0,this.#a3.has("permessage-deflate")&&this.#a3.set("permessage-deflate",new t(b,c))}_write(a,b,c){this.#bi.push(a),this.#bk+=a.length,this.#bl=!0,this.run(c)}#bq(){return!(this.#bp>0)||!!o(this.#bm.opcode)||!(this.#bm.payloadLength+this.#bj>this.#bp)||(r(this.#ay,1009,"Payload size exceeds maximum allowed size"),!1)}run(a){for(;this.#bl;)if(this.#a===f.INFO){if(this.#bk<2)return a();let b=this.consume(2),c=(128&b[0])!=0,d=15&b[0],e=(128&b[1])==128,h=!c&&d!==g.CONTINUATION,i=127&b[1],j=64&b[0],k=32&b[0],m=16&b[0];if(!l(d))return r(this.#ay,1002,"Invalid opcode received"),a();if(e)return r(this.#ay,1002,"Frame cannot be masked"),a();if(0!==j&&!this.#a3.has("permessage-deflate"))return void r(this.#ay,1002,"Expected RSV1 to be clear.");if(0!==k||0!==m)return void r(this.#ay,1002,"RSV1, RSV2, RSV3 must be clear");if(h&&!p(d))return void r(this.#ay,1002,"Invalid frame type was fragmented.");if(p(d)&&this.#bn.length>0)return void r(this.#ay,1002,"Expected continuation frame");if(this.#bm.fragmented&&h)return void r(this.#ay,1002,"Fragmented frame exceeded 125 bytes.");if((i>125||h)&&o(d))return void r(this.#ay,1002,"Control frame either too large or fragmented");if(q(d)&&0===this.#bn.length&&!this.#bm.compressed)return void r(this.#ay,1002,"Unexpected continuation frame");if(i<=125){if(this.#bm.payloadLength=i,this.#a=f.READ_DATA,!this.#bq())return}else 126===i?this.#a=f.PAYLOADLENGTH_16:127===i&&(this.#a=f.PAYLOADLENGTH_64);p(d)&&(this.#bm.binaryType=d,this.#bm.compressed=0!==j),this.#bm.opcode=d,this.#bm.masked=e,this.#bm.fin=c,this.#bm.fragmented=h}else if(this.#a===f.PAYLOADLENGTH_16){if(this.#bk<2)return a();let b=this.consume(2);if(this.#bm.payloadLength=b.readUInt16BE(0),this.#a=f.READ_DATA,!this.#bq())return}else if(this.#a===f.PAYLOADLENGTH_64){if(this.#bk<8)return a();let b=this.consume(8),c=b.readUInt32BE(0),d=b.readUInt32BE(4);if(0!==c||d>0x80000000-1)return void r(this.#ay,1009,"Received payload length > 2^31 bytes.");if(this.#bm.payloadLength=d,this.#a=f.READ_DATA,!this.#bq())return}else if(this.#a===f.READ_DATA){if(this.#bk<this.#bm.payloadLength)return a();let b=this.consume(this.#bm.payloadLength);if(o(this.#bm.opcode))this.#bl=this.parseControlFrame(b),this.#a=f.INFO;else if(this.#bm.compressed){this.#a3.get("permessage-deflate").decompress(b,this.#bm.fin,(b,c)=>{if(b){let a=b instanceof u?1009:1007;r(this.#ay,a,b.message);return}if(this.writeFragments(c)){if(this.#bp>0&&this.#bj>this.#bp)return void r(this.#ay,1009,new u().message);if(!this.#bm.fin){this.#a=f.INFO,this.#bl=!0,this.run(a);return}m(this.#ay,this.#bm.binaryType,this.consumeFragments()),this.#bl=!0,this.#a=f.INFO,this.run(a)}},this.#bj),this.#bl=!1;break}else{if(!this.writeFragments(b))return;!this.#bm.fragmented&&this.#bm.fin&&m(this.#ay,this.#bm.binaryType,this.consumeFragments()),this.#a=f.INFO}}}consume(a){if(a>this.#bk)throw Error("Called consume() before buffers satiated.");if(0===a)return i;this.#bk-=a;let b=this.#bi[0];if(b.length>a)return this.#bi[0]=b.subarray(a,b.length),b.subarray(0,a);{if(b.length===a)return this.#bi.shift();let c=0,d=Buffer.allocUnsafeSlow(a);for(;c!==a;){let b=this.#bi[0],e=b.length;if(e+c===a){d.set(this.#bi.shift(),c);break}if(e+c>a){d.set(b.subarray(0,a-c),c),this.#bi[0]=b.subarray(a-c);break}d.set(this.#bi.shift(),c),c+=e}return d}}writeFragments(a){return this.#bo>0&&this.#bn.length===this.#bo?(r(this.#ay,1008,"Too many message fragments"),!1):(this.#bj+=a.length,this.#bn.push(a),!0)}consumeFragments(){let a=this.#bn;if(1===a.length)return this.#bj=0,a.shift();let b=0,c=Buffer.allocUnsafeSlow(this.#bj);for(let d=0;d<a.length;++d){let e=a[d];c.set(e,b),b+=e.length}return this.#bn=[],this.#bj=0,c}parseCloseBody(a){let b;if(e(1!==a.length),a.length>=2&&(b=a.readUInt16BE(0)),void 0!==b&&!k(b))return{code:1002,reason:"Invalid status code",error:!0};let c=a.subarray(2);239===c[0]&&187===c[1]&&191===c[2]&&(c=c.subarray(3));try{c=n(c)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:b,reason:c,error:!1}}parseControlFrame(a){let{opcode:b,payloadLength:c}=this.#bm;if(b===g.CLOSE){if(1===c)return r(this.#ay,1002,"Received close frame with a 1-byte body."),!1;if(this.#bm.closeInfo=this.parseCloseBody(a),this.#bm.closeInfo.error){let{code:a,reason:b}=this.#bm.closeInfo;return r(this.#ay,a,b),!1}if(!this.#ay.closeState.has(j.SENT)&&!this.#ay.closeState.has(j.RECEIVED)){let a=i;this.#bm.closeInfo.code&&(a=Buffer.allocUnsafe(2)).writeUInt16BE(this.#bm.closeInfo.code,0);let b=new s(a);this.#ay.socket.write(b.createFrame(g.CLOSE)),this.#ay.closeState.add(j.SENT)}return this.#ay.readyState=h.CLOSING,this.#ay.closeState.add(j.RECEIVED),!1}if(b===g.PING){if(!this.#ay.closeState.has(j.RECEIVED)){let b=new s(a);this.#ay.socket.write(b.createFrame(g.PONG)),this.#ay.onPing(a)}}else b===g.PONG&&this.#ay.onPong(a);return!0}get closingInfo(){return this.#bm.closeInfo}}a.exports={ByteParser:v}},65294:(a,b,c)=>{"use strict";c.r(b),c.d(b,{convertCommandCodeToOpenAI:()=>h});var d=c(70556),e=c(42541),f=c(90943);function g(a,b,c=null){return{id:a.responseId,object:"chat.completion.chunk",created:a.created,model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function h(a,b){var c;if(!a)return null;if(a&&"object"==typeof a&&"chat.completion.chunk"===a.object)return a;let d=a;if("string"==typeof a){let b=a.trim();if(!b)return null;let c=b.startsWith("data:")?b.slice(5).trim():b;if(!c||"[DONE]"===c)return null;try{d=JSON.parse(c)}catch{return null}}if(!d||"object"!=typeof d||!d.type)return null;c=d.model,b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.model=b.model||c||"commandcode",b.chunkIndex=0,b.toolIndex=0,b.toolIndexById=new Map,b.openTools=new Set,b.openText=!1,b.finishReason=null,b.finishReasonSent=!1,b.usage=null);let h=[];switch(d.type){case"text-delta":{let a=d.text||d.delta||"";if(!a)break;let c=0===b.chunkIndex?{role:"assistant",content:a}:{content:a};b.chunkIndex++,b.openText=!0,h.push(g(b,c));break}case"reasoning-delta":{let a=d.text||"";if(!a)break;let c=0===b.chunkIndex?{role:"assistant",reasoning_content:a}:{reasoning_content:a};b.chunkIndex++,h.push(g(b,c));break}case"tool-input-start":{let a=d.id||d.toolCallId||`call_${Date.now()}_${b.toolIndex}`,c=b.toolIndexById.get(a);null==c&&(c=b.toolIndex++,b.toolIndexById.set(a,c)),b.openTools.add(a);let e={...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:c,id:a,type:"function",function:{name:d.toolName||"",arguments:""}}]};b.chunkIndex++,h.push(g(b,e));break}case"tool-input-delta":{let a=d.id||d.toolCallId,c=b.toolIndexById.get(a);if(null==c)break;let e={tool_calls:[{index:c,function:{arguments:d.delta||d.inputTextDelta||""}}]};h.push(g(b,e));break}case"tool-call":{let a=d.toolCallId;if(b.toolIndexById.has(a))break;let c=b.toolIndex++;b.toolIndexById.set(a,c);let e="string"==typeof d.input?d.input:JSON.stringify(d.input??{}),f={...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:c,id:a,type:"function",function:{name:d.toolName||"",arguments:e}}]};b.chunkIndex++,h.push(g(b,f));break}case"finish-step":b.finishReason=(0,f.Jm)(d.finishReason,{format:e.h.COMMANDCODE,hasToolCalls:b.toolIndex>0}),d.usage&&(b.usage=d.usage);break;case"finish":{if(b.finishReasonSent)break;let a=b.finishReason||(0,f.Jm)(d.finishReason,{format:e.h.COMMANDCODE,hasToolCalls:b.toolIndex>0}),c=g(b,{},a),i=d.totalUsage||b.usage;i&&(c.usage={prompt_tokens:i.inputTokens??0,completion_tokens:i.outputTokens??0,total_tokens:i.totalTokens??(i.inputTokens??0)+(i.outputTokens??0)}),b.finishReasonSent=!0,h.push(c);break}case"error":{b.finishReason="stop";let a=d.error??d.message??"unknown",c="string"==typeof a?a:JSON.stringify(a);h.push(g(b,{content:`
411
411
 
412
412
  [CommandCode error: ${c}]`})),b.finishReasonSent||(b.finishReasonSent=!0,h.push(g(b,{},"stop")))}}return h.length?h:null}(0,d.kz)(e.h.COMMANDCODE,e.h.OPENAI,null,h)},65333:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>J});var e=c(91297),f=c(24524),g=c(84955),h=c(3338),i=c(24644),j=c(8950),k=c(29991),l=c(59011),m=c(28477),n=c(12529),o=c(50294),p=c(91120),q=c(60083),r=c(41815),s=c(64304),t=c(26421),u=c(44991),v=c(69881),w=c(22409),x=c(21919),y=c(17371),z=c(94084),A=c(91358),B=c(38810),C=c(59067),D=c(28639),E=c(84269),F=c(91492),G=c(54940),H=c(66678);c(69384);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)}})},65429:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.SPECIAL_HEADERS=b.MINOR=b.MAJOR=b.HTAB_SP_VCHAR_OBS_TEXT=b.QUOTED_STRING=b.CONNECTION_TOKEN_CHARS=b.HEADER_CHARS=b.TOKEN=b.HEX=b.URL_CHAR=b.USERINFO_CHARS=b.MARK=b.ALPHANUM=b.NUM=b.HEX_MAP=b.NUM_MAP=b.ALPHA=b.STATUSES_HTTP=b.H_METHOD_MAP=b.METHOD_MAP=b.METHODS_RTSP=b.METHODS_ICE=b.METHODS_HTTP=b.HEADER_STATE=b.FINISH=b.STATUSES=b.METHODS=b.LENIENT_FLAGS=b.FLAGS=b.TYPE=b.ERROR=void 0;let d=c(33629);b.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38},b.TYPE={BOTH:0,REQUEST:1,RESPONSE:2},b.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512},b.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512},b.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46},b.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599},b.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2},b.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8},b.METHODS_HTTP=[b.METHODS.DELETE,b.METHODS.GET,b.METHODS.HEAD,b.METHODS.POST,b.METHODS.PUT,b.METHODS.CONNECT,b.METHODS.OPTIONS,b.METHODS.TRACE,b.METHODS.COPY,b.METHODS.LOCK,b.METHODS.MKCOL,b.METHODS.MOVE,b.METHODS.PROPFIND,b.METHODS.PROPPATCH,b.METHODS.SEARCH,b.METHODS.UNLOCK,b.METHODS.BIND,b.METHODS.REBIND,b.METHODS.UNBIND,b.METHODS.ACL,b.METHODS.REPORT,b.METHODS.MKACTIVITY,b.METHODS.CHECKOUT,b.METHODS.MERGE,b.METHODS["M-SEARCH"],b.METHODS.NOTIFY,b.METHODS.SUBSCRIBE,b.METHODS.UNSUBSCRIBE,b.METHODS.PATCH,b.METHODS.PURGE,b.METHODS.MKCALENDAR,b.METHODS.LINK,b.METHODS.UNLINK,b.METHODS.PRI,b.METHODS.SOURCE,b.METHODS.QUERY],b.METHODS_ICE=[b.METHODS.SOURCE],b.METHODS_RTSP=[b.METHODS.OPTIONS,b.METHODS.DESCRIBE,b.METHODS.ANNOUNCE,b.METHODS.SETUP,b.METHODS.PLAY,b.METHODS.PAUSE,b.METHODS.TEARDOWN,b.METHODS.GET_PARAMETER,b.METHODS.SET_PARAMETER,b.METHODS.REDIRECT,b.METHODS.RECORD,b.METHODS.FLUSH,b.METHODS.GET,b.METHODS.POST],b.METHOD_MAP=(0,d.enumToMap)(b.METHODS),b.H_METHOD_MAP=Object.fromEntries(Object.entries(b.METHODS).filter(([a])=>a.startsWith("H"))),b.STATUSES_HTTP=[b.STATUSES.CONTINUE,b.STATUSES.SWITCHING_PROTOCOLS,b.STATUSES.PROCESSING,b.STATUSES.EARLY_HINTS,b.STATUSES.RESPONSE_IS_STALE,b.STATUSES.REVALIDATION_FAILED,b.STATUSES.DISCONNECTED_OPERATION,b.STATUSES.HEURISTIC_EXPIRATION,b.STATUSES.MISCELLANEOUS_WARNING,b.STATUSES.OK,b.STATUSES.CREATED,b.STATUSES.ACCEPTED,b.STATUSES.NON_AUTHORITATIVE_INFORMATION,b.STATUSES.NO_CONTENT,b.STATUSES.RESET_CONTENT,b.STATUSES.PARTIAL_CONTENT,b.STATUSES.MULTI_STATUS,b.STATUSES.ALREADY_REPORTED,b.STATUSES.TRANSFORMATION_APPLIED,b.STATUSES.IM_USED,b.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,b.STATUSES.MULTIPLE_CHOICES,b.STATUSES.MOVED_PERMANENTLY,b.STATUSES.FOUND,b.STATUSES.SEE_OTHER,b.STATUSES.NOT_MODIFIED,b.STATUSES.USE_PROXY,b.STATUSES.SWITCH_PROXY,b.STATUSES.TEMPORARY_REDIRECT,b.STATUSES.PERMANENT_REDIRECT,b.STATUSES.BAD_REQUEST,b.STATUSES.UNAUTHORIZED,b.STATUSES.PAYMENT_REQUIRED,b.STATUSES.FORBIDDEN,b.STATUSES.NOT_FOUND,b.STATUSES.METHOD_NOT_ALLOWED,b.STATUSES.NOT_ACCEPTABLE,b.STATUSES.PROXY_AUTHENTICATION_REQUIRED,b.STATUSES.REQUEST_TIMEOUT,b.STATUSES.CONFLICT,b.STATUSES.GONE,b.STATUSES.LENGTH_REQUIRED,b.STATUSES.PRECONDITION_FAILED,b.STATUSES.PAYLOAD_TOO_LARGE,b.STATUSES.URI_TOO_LONG,b.STATUSES.UNSUPPORTED_MEDIA_TYPE,b.STATUSES.RANGE_NOT_SATISFIABLE,b.STATUSES.EXPECTATION_FAILED,b.STATUSES.IM_A_TEAPOT,b.STATUSES.PAGE_EXPIRED,b.STATUSES.ENHANCE_YOUR_CALM,b.STATUSES.MISDIRECTED_REQUEST,b.STATUSES.UNPROCESSABLE_ENTITY,b.STATUSES.LOCKED,b.STATUSES.FAILED_DEPENDENCY,b.STATUSES.TOO_EARLY,b.STATUSES.UPGRADE_REQUIRED,b.STATUSES.PRECONDITION_REQUIRED,b.STATUSES.TOO_MANY_REQUESTS,b.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,b.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,b.STATUSES.LOGIN_TIMEOUT,b.STATUSES.NO_RESPONSE,b.STATUSES.RETRY_WITH,b.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,b.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,b.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,b.STATUSES.INVALID_X_FORWARDED_FOR,b.STATUSES.REQUEST_HEADER_TOO_LARGE,b.STATUSES.SSL_CERTIFICATE_ERROR,b.STATUSES.SSL_CERTIFICATE_REQUIRED,b.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,b.STATUSES.INVALID_TOKEN,b.STATUSES.CLIENT_CLOSED_REQUEST,b.STATUSES.INTERNAL_SERVER_ERROR,b.STATUSES.NOT_IMPLEMENTED,b.STATUSES.BAD_GATEWAY,b.STATUSES.SERVICE_UNAVAILABLE,b.STATUSES.GATEWAY_TIMEOUT,b.STATUSES.HTTP_VERSION_NOT_SUPPORTED,b.STATUSES.VARIANT_ALSO_NEGOTIATES,b.STATUSES.INSUFFICIENT_STORAGE,b.STATUSES.LOOP_DETECTED,b.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,b.STATUSES.NOT_EXTENDED,b.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,b.STATUSES.WEB_SERVER_UNKNOWN_ERROR,b.STATUSES.WEB_SERVER_IS_DOWN,b.STATUSES.CONNECTION_TIMEOUT,b.STATUSES.ORIGIN_IS_UNREACHABLE,b.STATUSES.TIMEOUT_OCCURED,b.STATUSES.SSL_HANDSHAKE_FAILED,b.STATUSES.INVALID_SSL_CERTIFICATE,b.STATUSES.RAILGUN_ERROR,b.STATUSES.SITE_IS_OVERLOADED,b.STATUSES.SITE_IS_FROZEN,b.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,b.STATUSES.NETWORK_READ_TIMEOUT,b.STATUSES.NETWORK_CONNECT_TIMEOUT],b.ALPHA=[];for(let a=65;a<=90;a++)b.ALPHA.push(String.fromCharCode(a)),b.ALPHA.push(String.fromCharCode(a+32));b.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9},b.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},b.NUM=["0","1","2","3","4","5","6","7","8","9"],b.ALPHANUM=b.ALPHA.concat(b.NUM),b.MARK=["-","_",".","!","~","*","'","(",")"],b.USERINFO_CHARS=b.ALPHANUM.concat(b.MARK).concat(["%",";",":","&","=","+","$",","]),b.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(b.ALPHANUM),b.HEX=b.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]),b.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(b.ALPHANUM),b.HEADER_CHARS=[" "];for(let a=32;a<=255;a++)127!==a&&b.HEADER_CHARS.push(a);b.CONNECTION_TOKEN_CHARS=b.HEADER_CHARS.filter(a=>44!==a),b.QUOTED_STRING=[" "," "];for(let a=33;a<=255;a++)34!==a&&92!==a&&b.QUOTED_STRING.push(a);b.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let a=33;a<=126;a++)b.HTAB_SP_VCHAR_OBS_TEXT.push(a);for(let a=128;a<=255;a++)b.HTAB_SP_VCHAR_OBS_TEXT.push(a);b.MAJOR=b.NUM_MAP,b.MINOR=b.MAJOR,b.SPECIAL_HEADERS={connection:b.HEADER_STATE.CONNECTION,"content-length":b.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":b.HEADER_STATE.CONNECTION,"transfer-encoding":b.HEADER_STATE.TRANSFER_ENCODING,upgrade:b.HEADER_STATE.UPGRADE},b.default={ERROR:b.ERROR,TYPE:b.TYPE,FLAGS:b.FLAGS,LENIENT_FLAGS:b.LENIENT_FLAGS,METHODS:b.METHODS,STATUSES:b.STATUSES,FINISH:b.FINISH,HEADER_STATE:b.HEADER_STATE,ALPHA:b.ALPHA,NUM_MAP:b.NUM_MAP,HEX_MAP:b.HEX_MAP,NUM:b.NUM,ALPHANUM:b.ALPHANUM,MARK:b.MARK,USERINFO_CHARS:b.USERINFO_CHARS,URL_CHAR:b.URL_CHAR,HEX:b.HEX,TOKEN:b.TOKEN,HEADER_CHARS:b.HEADER_CHARS,CONNECTION_TOKEN_CHARS:b.CONNECTION_TOKEN_CHARS,QUOTED_STRING:b.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:b.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:b.MAJOR,MINOR:b.MINOR,SPECIAL_HEADERS:b.SPECIAL_HEADERS,METHODS_HTTP:b.METHODS_HTTP,METHODS_ICE:b.METHODS_ICE,METHODS_RTSP:b.METHODS_RTSP,METHOD_MAP:b.METHOD_MAP,H_METHOD_MAP:b.H_METHOD_MAP,STATUSES_HTTP:b.STATUSES_HTTP}},65556:(a,b,c)=>{"use strict";c.d(b,{$G:()=>g,bf:()=>e,n6:()=>f,xr:()=>d});let d="EpwGCkYIChgCKkCzVUuRrg7CcglSUWEef4rH6o35g9UYS8ZPe0/VomQTBsFx6sttYNj5l8GqgW6ejuHyYqpFToxIbZl0bw17l5dJEgzCnqDO0Z8fRlMrNgsaDLS1cnCjC53KBqE0CCIwAADQdo1eO+7qPAmo8J4WR3JPmr92S97kmvr5K1iPMiOpkZNj8mEXW8uzBoOJs/9ZKoMFiqHJ3UObwaJDqFOW70E9oCwDoc6jesaWVAEdN5vWfKMpIkjFJjECdjIdkxyJNJ8Ib8yXVal3qwE7uThoPRqSZDdHB5mmwPEjWE/90cSYCbtX2YsJki1265CabBb8/QEkODXg4kgRrL+c8e8rRXz/dr1RswvaPuzEdGKHRNi9UooNUeOK4/ebx1KkP9YZttyohN9GWqlts36kOoW0Cfie/ABDgF9g534BPth/sstxDM6d79QlRmh6NxizyTF74DXJI34u0M4tTRchqE5pAq85SgdJaa+dix1yJPMji8m6nZkwJbscJb9rdc2MKyKWjz8QL2+rTSSuZ2F1k1qSsW0xNcI7qLcI12Vncfn/VqY6YOIZy/saZBR0ezXvN6g+UYbuIdyVg7AyIFZt3nbrO7/kmOEb2VKzygwklHGEIJHfFgMpH3JSrAzbZIowVHOF7VaJ+KXRFDCFin7hHTOiOsdg+1ij1mML9Z/x/9CP4b7OUcaQm1llDZPSHc6rZMNL3DdB+fW5YfmNgKU35S+7AMtA10nVILzDAk1UV4T2K9Do09JlI6rjOs9UuULlIN2Z0eE8YTlANR6uQcw7lMcdfqYE8tke4rDKc2dDiaS5vVe45VewICNpdXGN11yw8QqH7p27CR1HtN30e0tHXOR3bIwWk/Yb6O5fTaKG6Ri8e5ZCPvdD9HqepVi188nM0iTjJqL58F3ni04ECIhcbyaQWnuTes1Kw4CMwiZDLQkk8Hgz7HkUOf1btQTF/0nhD7ry0n0hAEg2PaDM3V6TjOjf4hEldRmeqERcQF1PfgKb6ZM12rlIIfUqKACczWJSzTV158+47HX36o0cgux6nFlv/DE+sEiRVxgB",e="EuwGCukGAXLI2nxwZIq54WWSoL/YN0P3TsDZ7zRnLi8g0S4aVr2HUGxvaHKySuY6HAVzcE0GPGjXrytLIldxthSvfxgUlJh6Qa9Z+Oj5QZBlYdg6HaJ6yuY5R7waE6rdwBsRf7Ft2j3DJ9rMi9qhWFqApewYtPhls3VHtuvND3l8Rm09+lbAXQs6KKWEWrxNLKTBkfpMgXhRERc/TQRMZu1twAablm6/Zk1tsYRvfWKLsNbeKF+CCojJdXJKvnR/8Ouuoa+Y2Ti20hcW7aZIIjZDFYPU//k6Ybmhg69J/imbFai2ckhfLaisqdDkdoIiBJScTOUvYqP6AE9d4MsydSC+UlhIMk4hoP76R8vUSCZRMkjOaDXstf/QoVZKbt94wyRZgAJ1G0BqI8L5ow86kLpA4wJEtxsRGymOE4bKUvApveBakYDNM9APkf+LbtbzWSseGjoZcSlycF9iN8Q2XNYKRrHbv3Lr5Y8JjdH/5y/6SHkNehTEZugaeGnSPSyCTWto1kQgHpxdWmhkLfJGNUGLmue7Mesj4TSms4J33mRpYVhNB/J333FCqIP0hr/E7BkkjEn7yZ4X7SQlh+xKPurapsnHRwiKmtsilmEFrnTE9iQr+pMr6M29qqFNv1tr5yumbaJw8JW9sB15tNsRv+dW6BjNanbsKz7HCgKUBc8tGy+7YuhXzAfViyRefcjK7eZW0Fbyt7AbybJTKz78W8NH7ye6LAwzOebXpeZ4D43fNIt8bKh26qgduSQv/7o+pAflkuqHZ99YWgHQ8h8OkZFi3eOiSYjsjhdZ/czWOdoPI/OnqIldzMPF5YlrKBLFX8VhRKVmqgsmWf5PHGulHhMkVlS+XG2UIseGy69ARa93D78Gsa+1n1kJr7EEB7Rh+27vUMxVYLdz1yMSvE5nalTAlg/ZeG8+XQ0cHuAI3KbQpHW2Q++RdXfm5JzD5WdJZUU+Zn8t8UUn85BH4RxZLeE0qJikgSsKoYVBc6YhiMjhPgkR95ReimY4Z0xCJdRo1gjexOFeODZMpQF6Yxnoic7IrdgsFA3iePTbFnPp3IAM1fAThWhXJUn3QInUOTd5o1qmTmn6REbL15g/JQNl+dqUoPkhleeb2V3kjqp1okmO3wMZbPknR3S1LZNmlS72/iBQUm+n2b/RCn4PjmM2",f="CloBjz1rX5+yg1ILh/Ag+suum5k1f/9m/hI0XDQ33lsQIYnOHLn9KZwN0C7E4jgep5MzZvz5Se1Z1xxYrA1+Iz0Il4tabBhaDfMKNa5dGdEA3KnikfjfIpMlPaAKaQGPPWtf2hodPdBgguiZqDn+Qz2LwGEqHVJ16LVBUpeSx7UnYBLSwio8cyNy0jPijOh5QXKLTeHVdO2tKKcCCrtG2JCW3dOSrW2qA8eyAg40iQUnMNECjbcjkqB1+zrab7jX9ILwg7L9OgqYAQGPPWtfT4nzaPzSkXePAa920abYxPs3fg/RHDlg8PUVFLa+ko6qOjt7nXJTMxN0cpCwUCFX7eHHcMnA6vApyA/rXvJiAABkHZ3HilAktXRtxr/thHU0H8/4H5gT3kzoQcq9aMznrKomd3ct0mFi0ioSKnOEfoY1Mrfj00p/ZWm0tT7Wrjcm3BQXZ+T9Vrb94k+6CjtcEBrGCq8BAY89a1/vTMczqwB1NP3HCCuBdnds2vDXkj6XAYaXjsjmik8tGqwMKHz8R9RAWsx6SO6pkGEpXXpRzAaUx6c+aofsL/z1xOcN7ArCAa6uEeQKEgNngZuCP05p4+9P95epVmgOjFa4KfsPnyg+NKUkEFmpPSDrIRyMT+xERlclVcCI98/u7i8a9+vTbgzl8TRFYryClNH37K1ye5i6kqSGDUcMyiEasjke5BxbUh3i6wqMAgGPPWtfk+A+iY38QAldu117FEkTIkzbYOIt67lk9c6Ou3Y3Ct8TFHFw5QwGfSFc0YWjeTFHdm9UdV5jPK35p6VfhiRSva3w2+JLIHb4jvv5HutZPOJ3yQTt/+hUDj80oMNMbwnxNZvCEdzKS+D9vwmTACAm5H0ZetBSH2gPJXnhhuQo9AegS3wIWVR2a5k643Vx9r4u4pOvij4476lxKswIHvqsjL4jnTzRCvd44G6dn7vD0ENGb1K/i+dMRQMcOBaOxPN0ynk9bKxXWRDbZ+Rhakfr+y74z+6eYCdRPVqO9I7s+riilFuRIfaQ+U6/vuVKGIWEVKCfZZi0z6H5Xgz1xmse0u0AsittDlIKxwEBjz1rX783A0vehvUeabRia+/pX46IsN5efTAxFEBUeUce3jLuXIghkMV2b8KNhUs2G0aZldDDewRQbkluQabBMDT82N5I7reJP0VZgLIKccCL5DoGv1J7YWM2npLMIgZ6aP8aSlT3PFFJ0IXbUZUrzduczmIm6nzAJf9zxmq1aIFYw8YrgW8RjUdy0UvUmRoBEShSGUrvsyaRTl7J//KJW5utIPunFMu53GPWLidCFHzM1QA3Cj1+4zv5UXajP/V92RQayWbzCvYBAY89a1+yzoVSWukUGH7kX71Tg9dx7HA7OyKYwnYaqekG98zJfcUM/3KoiiiotW5t4xYu//ksEl36bSWvUHsRnxGByg+3WYdnZqKg0AtdRB/EXbI5PsjvS5ko96bkjSuFkY3TjHGwAM2B94K6/t6OTE/NBbxCsY9sT4d+1sbFv/iyfmfCnfvJaSzGmC9CDWKy4iqQ/vBNWps9j1JXk0p5uPAYC2BaMkxl5xoTVZqI3zAuRtQF5JLmPPy+PdqOgFxMKcLGNhwp7dbhIFLF68vCYQ9CL0NnK2d3CFk1UFVYxsi1TsolR1xahe/Rxt5HZDz/z65nevrQ",g="CiQBjz1rX/AlslZWMe5RgBt4Tv9j4+YNZTTez+JH2/+5oAlICygKXgGPPWtf7/Sux9eLYap/bmYAdPqFThLXj+l7o0DLu/hdgU98MA9ZrlRDNHXx+T0tuY8AcnjPZbiDyOq2bE11Fjhsk6p5axqayaapC/Pt9GczcgIQf1z15WTxCeKWAPYKYQGPPWtfDYj0nlNFNoTlU39RC91Z16xFKJ2MLEmkm+NvimsoOJ6be3g2BssNPtJ/9BKDXRA5cVs17tBeeW72lH8TMB5999udtxHM2SiUsnWsrHlfVuGSCpNQQ+5REw8HNvEKkgEBjz1rXzBNWrqZGbjun55K+vgYPBhJO2qZ67uRWXUA5/qcU12U/mbi5XoA3swoxYE8LEXfZvFFC9WG/W28QNCA0Qd4Trk/WkWiAwZmB8a84Fs14rkv3wqyxwFavPkJorqurAfd2XzGiFy0sB0ITCOPYi1HzDGV5WfXk6b9k+jT66/RuzGa8EcSOWo/QtC3Bkhgowo4AY89a1/f/tw8A02zjIoK7JVDAbf8W4UfmbApJJhwXIiGtu1M0JItObx7g2reYqT+HHL2Q/R4VDc="},65630:(a,b,c)=>{"use strict";let{kClients:d}=c(49176),e=c(37417),{kAgent:f,kMockAgentSet:g,kMockAgentGet:h,kDispatches:i,kIsMockActive:j,kNetConnect:k,kGetNetConnect:l,kOptions:m,kFactory:n,kMockAgentRegisterCallHistory:o,kMockAgentIsCallHistoryEnabled:p,kMockAgentAddCallHistoryLog:q,kMockAgentMockCallHistoryInstance:r,kMockAgentAcceptsNonStandardSearchParameters:s,kMockCallHistoryAddLog:t,kIgnoreTrailingSlash:u}=c(80830),v=c(66498),w=c(86625),{matchValue:x,normalizeSearchParams:y,buildAndValidateMockOptions:z,normalizeOrigin:A}=c(70634),{InvalidArgumentError:B,UndiciError:C}=c(61448),D=c(7344),E=c(70459),{MockCallHistory:F}=c(43904);class G extends D{constructor(a={}){super(a);const b=z(a);if(this[k]=!0,this[j]=!0,this[p]=b.enableCallHistory??!1,this[s]=b.acceptNonStandardSearchParameters??!1,this[u]=b.ignoreTrailingSlash??!1,a?.agent&&"function"!=typeof a.agent.dispatch)throw new B("Argument opts.agent must implement Agent");const c=a?.agent?a.agent:new e(a);this[f]=c,this[d]=c[d],this[m]=b,this[p]&&this[o]()}get(a){let b=A(a),c=this[u]?b.replace(/\/$/,""):b,d=this[h](c);return d||(d=this[n](c),this[g](c,d)),d}dispatch(a,b){a.origin=A(a.origin),this.get(a.origin),this[q](a);let c=this[s],d={...a};if(c&&d.path){let[a,b]=d.path.split("?"),e=y(b,c);d.path=`${a}?${e}`}return this[f].dispatch(d,b)}async close(){this.clearCallHistory(),await this[f].close(),this[d].clear()}deactivate(){this[j]=!1}activate(){this[j]=!0}enableNetConnect(a){if("string"==typeof a||"function"==typeof a||a instanceof RegExp)Array.isArray(this[k])?this[k].push(a):this[k]=[a];else if(void 0===a)this[k]=!0;else throw new B("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[k]=!1}enableCallHistory(){return this[p]=!0,this}disableCallHistory(){return this[p]=!1,this}getCallHistory(){return this[r]}clearCallHistory(){void 0!==this[r]&&this[r].clear()}get isMockActive(){return this[j]}[o](){void 0===this[r]&&(this[r]=new F)}[q](a){this[p]&&(this[o](),this[r][t](a))}[g](a,b){this[d].set(a,b)}[n](a){let b=Object.assign({agent:this},this[m]);return this[m]&&1===this[m].connections?new v(a,b):new w(a,b)}[h](a){let b=this[d].get(a);if(b)return b;if("string"!=typeof a){let b=this[n]("http://localhost:9999");return this[g](a,b),b}for(let[b,c]of Array.from(this[d]))if(c&&"string"!=typeof b&&x(b,a)){let b=this[n](a);return this[g](a,b),b[i]=c[i],b}}[l](){return this[k]}pendingInterceptors(){return Array.from(this[d].entries()).flatMap(([a,b])=>b[i].map(b=>({...b,origin:a}))).filter(({pending:a})=>a)}assertNoPendingInterceptors({pendingInterceptorsFormatter:a=new E}={}){let b=this.pendingInterceptors();if(0!==b.length)throw new C(1===b.length?`1 interceptor is pending:
413
413
 
@@ -430,7 +430,7 @@ Respond ONLY with the JSON object, no other text.`,e=Array.isArray(a.messages)?a
430
430
 
431
431
  ${d}`:Array.isArray(f.content)&&f.content.push({type:"text",text:`
432
432
 
433
- ${d}`}):e.unshift({role:"system",content:d}),{...a,messages:e,response_format:{type:"json_object"}}}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`}switch(this.provider){case"claude":case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;default:{let a=this.config.baseUrl;if(a?.includes("{accountId}")){let b=d?.providerSpecificData?.accountId;if(!b)throw Error(`${this.provider} requires accountId in providerSpecificData`);return a.replace("{accountId}",b)}return a}}}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};switch(this.provider){case"gemini":a.apiKey?c["x-goog-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break;case"claude":{let b=a?.rawHeaders?{...a.rawHeaders}:null;if(b){for(let a of Object.keys(b)){let d=a.replace(/(^|-)([a-z])/g,(a,b,c)=>b+c.toUpperCase());if("anthropic-beta"===a){let e=new Set((c[d]||c[a]||"").split(",").map(a=>a.trim()).filter(Boolean)),f=new Set(b[a].split(",").map(a=>a.trim()).filter(Boolean));for(let a of e)f.add(a);b[a]=Array.from(f).join(",")}d!==a&&void 0!==c[d]&&delete c[d]}Object.assign(c,b)}a.apiKey?c["x-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break}case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":c["x-api-key"]=a.apiKey||a.accessToken,("kimi"===this.provider||"kimi-coding"===this.provider)&&Object.assign(c,(0,f.VK)());break;default:if(this.provider?.startsWith?.("anthropic-compatible-")){let b=a?.rawHeaders?{...a.rawHeaders}:null;if(b){for(let a of Object.keys(b)){let d=a.replace(/(^|-)([a-z])/g,(a,b,c)=>b+c.toUpperCase());if("anthropic-beta"===a){let e=new Set((c[d]||c[a]||"").split(",").map(a=>a.trim()).filter(Boolean));for(let c of b[a].split(",").map(a=>a.trim()).filter(Boolean))e.add(c);b[a]=Array.from(e).join(",")}d!==a&&void 0!==c[d]&&delete c[d]}Object.assign(c,b)}a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")}else if("gitlab"===this.provider)c.Authorization=`Bearer ${a.apiKey||a.accessToken}`;else if(this.provider?.startsWith?.("codebuddy")){let b=o(),d=o();a.apiKey?c["X-Api-Key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`,c.Accept="text/event-stream",c["Content-Type"]="application/json; charset=utf-8",c["User-Agent"]=k.C,c["X-App"]="cli",c["X-Stainless-Runtime"]="node",c["X-Stainless-Lang"]="js",c["X-Stainless-Helper-Method"]="stream",c["X-Stainless-Retry-Count"]="0",c["X-Requested-With"]="XMLHttpRequest",c["X-Domain"]=a.providerSpecificData?.domain||this.config?.domain||"www.codebuddy.ai",c["X-Request-ID"]=b,c["X-Conversation-ID"]=d,c["X-Conversation-Request-ID"]=d,c["X-Conversation-Message-ID"]=b,c["X-Agent-Intent"]="craft",c["X-IDE-Type"]="CLI",c["X-IDE-Name"]="CLI",c["X-IDE-Version"]=k.A,c["X-Private-Data"]="false"}else if("kilocode"===this.provider)c.Authorization=`Bearer ${a.apiKey||a.accessToken}`,a.providerSpecificData?.orgId&&(c["X-Kilocode-OrganizationID"]=a.providerSpecificData.orgId);else if("cline"===this.provider||"clinepass"===this.provider){let{token:b,isApiKey:d}=(0,g.resolveClineCredential)(a);Object.assign(c,(0,g.buildClineHeaders)(b,{},{isApiKey:d}))}else this.config?.format==="claude"?(c["x-api-key"]=a.apiKey||a.accessToken,c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):c.Authorization=`Bearer ${a.apiKey||a.accessToken}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let b=a?.providerSpecificData?.baseUrl||"";if(!(""===b||b.includes("api.anthropic.com"))){for(let a of(delete c["anthropic-dangerous-direct-browser-access"],delete c["Anthropic-Dangerous-Direct-Browser-Access"],delete c["x-app"],delete c["X-App"],["anthropic-beta","Anthropic-Beta"]))if(c[a]){let b=c[a].split(",").map(a=>a.trim()).filter(a=>a&&"claude-code-20250219"!==a).join(",");b?c[a]=b:delete c[a]}}}return b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;let d={claude:()=>this.refreshWithJSON(f.NA.anthropic.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.claude.clientId},c),codex:()=>this.refreshWithForm(f.NA.openai.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.codex.clientId,scope:"openid profile email offline_access"},c),qwen:()=>this.refreshWithForm(f.NA.qwen.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.qwen.clientId},c),iflow:()=>this.refreshIflow(a.refreshToken,c),gemini:()=>this.refreshGoogle(a.refreshToken,c),kiro:()=>this.refreshKiro(a.refreshToken,c),codebuddy:()=>this.refreshCodeBuddy(a.refreshToken,c),"codebuddy-cn":()=>this.refreshCodeBuddy(a.refreshToken,c),cline:()=>this.refreshCline(a.refreshToken,c),clinepass:()=>this.refreshCline(a.refreshToken,c),kimi:()=>this.refreshKimiCoding(a.refreshToken,c),"kimi-coding":()=>this.refreshKimiCoding(a.refreshToken,c),kilocode:()=>this.refreshKilocode(a.refreshToken,c)}[this.provider];if(!d)return null;try{let a=await d();return a&&b?.info?.("TOKEN",`${this.provider} refreshed`),a}catch(a){return b?.error?.("TOKEN",`${this.provider} refresh error: ${a.message}`),null}}async refreshWithJSON(a,b,c=null){let d=await (0,h.proxyAwareFetch)(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(b)},c);if(!d.ok)return await (0,i.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||b.refresh_token,expiresIn:e.expires_in}}async refreshWithForm(a,b,c=null){let d=await (0,h.proxyAwareFetch)(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(b)},c);if(!d.ok)return await (0,i.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||b.refresh_token,expiresIn:e.expires_in}}async refreshIflow(a,b=null){let c=btoa(`${e.xq.iflow.clientId}:${e.xq.iflow.clientSecret}`),d=await (0,h.proxyAwareFetch)(f.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.iflow.clientId,client_secret:e.xq.iflow.clientSecret})},b);if(!d.ok)return await (0,i.aI)(d),null;let g=await d.json();return{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async refreshGoogle(a,b=null){let c=await (0,h.proxyAwareFetch)(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId,client_secret:this.config.clientSecret})},b);if(!c.ok)return await (0,i.aI)(c),null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async refreshKiro(a,b=null){let c=await (0,h.proxyAwareFetch)(e.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/2.12.2"},body:JSON.stringify({refreshToken:a})},b);if(!c.ok)return await (0,i.aI)(c),null;let d=await c.json();return{accessToken:d.accessToken,refreshToken:d.refreshToken||a,expiresIn:d.expiresIn}}async refreshCodeBuddy(a,b=null){let c=this.config?.refreshUrl||e.xq.codebuddy.refreshUrl,d=this.config?.domain||"www.codebuddy.ai",f=await (0,h.proxyAwareFetch)(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":k.C,"X-Requested-With":"XMLHttpRequest","X-Domain":d,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"},b);if(!f.ok)return await (0,i.aI)(f),null;let g=await f.json(),j=g?.data||g,l=j?.accessToken||j?.access_token;return l?{accessToken:l,refreshToken:j?.refreshToken||j?.refresh_token||a,expiresIn:j?.expiresIn||j?.expires_in||86400}:null}async refreshCline(a,b=null){let c=await (0,h.proxyAwareFetch)("https://api.cline.bot/api/v1/auth/refresh",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})},b);if(!c.ok)return await c.text(),null;let d=await c.json(),e=d?.data||d,f=e?.expiresAt,g=f?Math.max(1,Math.floor((new Date(f).getTime()-Date.now())/1e3)):void 0;return{accessToken:e?.accessToken,refreshToken:e?.refreshToken||a,expiresIn:g}}async refreshKimiCoding(a,b=null){let c=(0,f.VK)(),d=await (0,h.proxyAwareFetch)("https://auth.kimi.com/api/oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...c},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:"17e5f671-d194-4dfb-9706-5516cb48c098"})},b);if(!d.ok)return await (0,i.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async refreshKilocode(a,b=null){return null}}},67449:a=>{"use strict";let b=new TextDecoder;a.exports={utf8DecodeBytes:function(a){return 0===a.length?"":(239===a[0]&&187===a[1]&&191===a[2]&&(a=a.subarray(3)),b.decode(a))}}},67519:(a,b,c)=>{"use strict";let d=c(84285),e=c(34589),{InvalidArgumentError:f}=c(61448),g=[300,301,302,303,307,308],h=()=>{};class i{static buildDispatch(a,b){if(null!=b&&(!Number.isInteger(b)||b<0))throw new f("maxRedirections must be a positive number");let c=a.dispatch.bind(a);return(a,d)=>c(a,new i(c,b,a,d))}constructor(a,b,c,e){if(null!=b&&(!Number.isInteger(b)||b<0))throw new f("maxRedirections must be a positive number");if(null!=c.throwOnMaxRedirect&&"boolean"!=typeof c.throwOnMaxRedirect)throw new f("throwOnMaxRedirect must be a boolean");this.dispatch=a,this.location=null;const{maxRedirections:g,stripHeadersOnRedirect:h,stripHeadersOnCrossOriginRedirect:i,...j}=c;this.opts=j,this.opts.body=d.wrapRequestBody(this.opts.body),this.stripHeadersOnRedirect=k(h,"stripHeadersOnRedirect"),this.stripHeadersOnCrossOriginRedirect=k(i,"stripHeadersOnCrossOriginRedirect"),this.maxRedirections=b,this.handler=e,this.history=[]}onRequestStart(a,b){this.handler.onRequestStart?.(a,{...b,history:this.history})}onRequestUpgrade(a,b,c,d){this.handler.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,i){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw Error("max redirects");let k=303===b;if((301===b||302===b)&&"POST"===this.opts.method&&(this.opts.method="GET",d.isStream(this.opts.body)&&d.destroy(this.opts.body.on("error",h)),this.opts.body=null,k=!0),303===b&&"HEAD"!==this.opts.method&&(this.opts.method="GET",d.isStream(this.opts.body)&&d.destroy(this.opts.body.on("error",h)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||d.isDisturbed(this.opts.body)||-1===g.indexOf(b)?null:c.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return void this.handler.onResponseStart?.(a,b,c,i);let{origin:l,pathname:m,search:n}=d.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),o=n?`${m}${n}`:m,p=`${l}${o}`;for(let a of this.history)if(a.toString()===p)throw new f(`Redirect loop detected. Cannot redirect to ${l}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=function(a,b,c,f,g){let h=[];if(Array.isArray(a))for(let d=0;d<a.length;d+=2)j(a[d],b,c,f,g)||h.push(a[d],a[d+1]);else if(a&&"object"==typeof a)for(let[e,i]of d.hasSafeIterator(a)?a:Object.entries(a))j(e,b,c,f,g)||h.push(e,i);else e(null==a,"headers must be an object or an array");return h}(this.opts.headers,k,this.opts.origin!==l,this.stripHeadersOnRedirect,this.stripHeadersOnCrossOriginRedirect),this.opts.path=o,this.opts.origin=l,this.opts.query=null}onResponseData(a,b){this.location||this.handler.onResponseData?.(a,b)}onResponseEnd(a,b){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(a,b)}onResponseError(a,b){this.handler.onResponseError?.(a,b)}}function j(a,b,c,e,f){let g=d.headerNameToString(a);return!!("host"===g||e?.has(g)||c&&f?.has(g)||b&&g.startsWith("content-"))||!!c&&("authorization"===g||"cookie"===g||"proxy-authorization"===g)}function k(a,b){if(null==a)return null;if(!Array.isArray(a))throw new f(`${b} must be an array`);let c=new Set;for(let e of a){if("string"!=typeof e)throw new f(`${b} must contain header names`);c.add(d.headerNameToString(e))}return c}a.exports=i},68531:(a,b,c)=>{"use strict";let d=c(34589),{URLSerializer:e}=c(16537),{isValidHeaderName:f}=c(42425);a.exports={urlEquals:function(a,b,c=!1){return e(a,c)===e(b,c)},getFieldValues:function(a){d(null!==a);let b=[];for(let c of a.split(","))f(c=c.trim())&&b.push(c);return b}}},68753:(a,b,c)=>{"use strict";c.d(b,{my:()=>M});var d=c(48991),e=c(46956);async function f(a){try{await a?.body?.cancel?.()}catch{}}async function g(a,b={}){let c=b.fetchImpl||fetch;if("string"!=typeof a||!a.trim())return null;try{let d,e=await c("https://api.blackbox.ai/key/info",{method:"GET",headers:(d={Accept:"application/json","Content-Type":"application/json"},"string"==typeof a&&a.trim()&&(d.Authorization=`Bearer ${a.trim()}`),d),signal:function(a={}){return a.signal?a.signal:AbortSignal.timeout(a.timeoutMs||8e3)}(b)});if(!e.ok)return await f(e),null;let g=await e.json();return g?.info||g||null}catch{return null}}async function h(a,b={}){let c=await g(a,b);if(!c)return{plan:"Blackbox API",message:"Blackbox spend data is unavailable for this key.",quotas:{},trackingMode:"unavailable"};let d=Number(c.spend),e=Number(c.max_budget),f=Number.isFinite(d)&&d>=0?d:0,i=Number.isFinite(e)&&e>0,j=i?e:0,k=i?Math.max(0,j-f):null,l=i?Math.max(0,Math.min(100,k/j*100)):100;return{plan:"Blackbox API",quotas:{Spend:{used:f,total:j,...null==k?{}:{remaining:k},remainingPercentage:l,unlimited:!1,unit:"USD",resetAt:c.budget_reset_at||c.expires||null,displayName:i?"API Budget":"API Spend"}},trackingMode:"upstream",spend:f,maxBudget:i?e:null}}function i(a,b=0){let c="string"==typeof a&&a.trim()?Number(a):a;return Number.isFinite(c)?c:b}function j(a,b){return{plan:a,quotas:{Credits:{used:1,total:1,remaining:0,remainingPercentage:0,resetAt:null,unlimited:!1}},authoritative:!0,limitReached:!0,message:b}}function k(a){let b=Error(a);return b.name="AbortError",b.code="USAGE_REQUEST_ABORTED",b}async function l(a,b={}){let c,d=new AbortController,e=b.parentSignal,f=Number.isFinite(b.timeoutMs)&&b.timeoutMs>0?b.timeoutMs:15e3,g=new Promise((a,b)=>{c=b}),h=a=>{let b=a instanceof Error?a:k("Usage request aborted");d.signal.aborted||d.abort(b),c(b)},i=()=>h(e.reason);e?.aborted?h(e.reason):e?.addEventListener("abort",i,{once:!0});let j=setTimeout(()=>h(k(`Usage request timed out after ${f}ms`)),f);j.unref?.();try{return await Promise.race([Promise.resolve().then(()=>a(d.signal)),g])}finally{clearTimeout(j),e?.removeEventListener("abort",i)}}function m(a){let b=Math.round(100*Math.max(0,Math.min(1,Number(a)||0))),c=100-b;return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:null,unlimited:!1}}function n(){return{quotaFetchFailed:!0,message:"Ollama Cloud usage temporarily unavailable."}}async function o(a,b=null){let c=a?.apiKey||a?.accessToken;if(!c)return{message:"Ollama Cloud API key not available."};let d={Authorization:`Bearer ${c}`,Accept:"application/json"};try{return await l(async a=>{let c=await (0,e.proxyAwareFetch)("https://ollama.com/api/usage",{method:"GET",headers:d,signal:a},b);if(401===c.status||403===c.status)return{authError:!0,accountDead:!0,message:"Ollama Cloud API key invalid or expired."};if(402===c.status||429===c.status)return j("Ollama Cloud","Ollama Cloud credits are exhausted.");if(!c.ok)return n();let f=await c.json().catch(()=>null);if(!f||"object"!=typeof f)return n();let g=await (0,e.proxyAwareFetch)("https://ollama.com/api/me",{method:"POST",headers:{...d,"Content-Length":"0"},signal:a},b).then(a=>a.ok?a.json():null).catch(b=>{if(a.aborted)throw b;return null}),h="string"==typeof g?.Plan?g.Plan.trim():"",i=h?h.charAt(0).toUpperCase()+h.slice(1).toLowerCase():"Ollama Cloud",k=f.limits&&"object"==typeof f.limits?f.limits:{},l={};return(Number.isFinite(Number(k.session?.usage))&&(l["Session (5h)"]=m(k.session.usage)),Number.isFinite(Number(k.weekly?.usage))&&(l["Weekly (7d)"]=m(k.weekly.usage)),0===Object.keys(l).length)?{plan:i,quotas:l,authoritative:!0,message:"Ollama Cloud connected. No usage limits reported."}:{plan:i,quotas:l,authoritative:!0}},{parentSignal:b?.signal})}catch{return n()}}let p={LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"};function q(){return{quotaFetchFailed:!0,message:"Kimi usage temporarily unavailable."}}function r(a,b,c,d){let e=Math.max(0,i(b)),f=Math.max(0,i(a)),g=Math.max(0,i(c,e-f));return{used:f,total:e,remaining:g,remainingPercentage:e>0?Math.min(100,g/e*100):0,resetAt:function(a){if(null==a||""===a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a||/^\d+$/.test(String(a))){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}catch{return null}}(d),unlimited:!1}}async function s(a,b=null){let c="string"==typeof a?.apiKey?a.apiKey.trim():"",f="string"==typeof a?.accessToken?a.accessToken.trim():"";if(!c&&!f)return{message:"Kimi access token or API key not available."};let g=c?{"x-api-key":c}:{Authorization:`Bearer ${f}`,...(0,d.VK)(a?.providerSpecificData?.deviceId)};try{return await l(async a=>{let c,d=await (0,e.proxyAwareFetch)("https://api.kimi.com/coding/v1/usages",{method:"GET",headers:{...g,Accept:"application/json","Content-Type":"application/json"},signal:a},b),f=await d.text().catch(()=>"");if(401===d.status)return{authError:!0,accountDead:!0,message:"Kimi authentication expired. Please re-authorize."};if(403===d.status)return{plan:"Kimi Coding",quotaFetchFailed:!0,usageUnavailable:!0,message:"Kimi connected, but this account has no permission to view usage."};if(402===d.status||429===d.status)return j("Kimi Coding","Kimi credits are exhausted.");if(!d.ok)return q();try{c=JSON.parse(f||"{}")}catch{return q()}let h={},k=c.usage&&"object"==typeof c.usage?c.usage:{},l=i(k.limit??k.Limit);l>0&&(h.Weekly=r(k.used??k.Used,l,k.remaining??k.Remaining,k.resetTime??k.ResetTime??k.reset_at??k.resetAt));let m=(Array.isArray(c.limits)?c.limits:[]).filter(a=>{let b=a?.detail&&"object"==typeof a.detail?a.detail:{};return i(b.limit??b.Limit)>0}),n=new Set;for(let[a,b]of m.entries()){let c=b?.detail&&"object"==typeof b.detail?b.detail:{},d=i(c.limit??c.Limit),e=i(c.remaining??c.Remaining,d);h[function(a,b,c,d){if(1===c)return"Ratelimit";let e=a?.name??a?.type??a?.window??a?.detail?.name??a?.detail?.type??a?.detail?.window,f="string"==typeof e?e.replace(/[^a-zA-Z0-9._ -]/g," ").replace(/\s+/g," ").trim().slice(0,48):"",g=f?`Ratelimit (${f})`:`Ratelimit ${b+1}`,h=g,i=2;for(;d.has(h);)h=`${g} ${i++}`;return d.add(h),h}(b,a,m.length,n)]=r(Math.max(0,d-e),d,e,c.resetTime??c.reset_at??c.resetAt)}let o=c.user?.membership?.level;return{plan:p[o]||(o?String(o).replace(/^LEVEL_/,"").toLowerCase():"Kimi Coding"),quotas:h,authoritative:!0,...0===Object.keys(h).length?{message:"Kimi connected. No usage limits reported."}:{}}},{parentSignal:b?.signal})}catch{return q()}}function t(){return{quotaFetchFailed:!0,message:"DeepSeek balance temporarily unavailable."}}async function u(a,b=null){let c="string"==typeof a?.apiKey?a.apiKey.trim():"";if(!c)return{message:"DeepSeek API key not available. Add a key to view usage."};try{return await l(async a=>{let d=await (0,e.proxyAwareFetch)("https://api.deepseek.com/user/balance",{method:"GET",headers:{Authorization:`Bearer ${c}`,Accept:"application/json","Content-Type":"application/json"},signal:a},b);if(401===d.status||403===d.status)return{authError:!0,accountDead:!0,message:"DeepSeek authentication failed. Check the API key."};if(402===d.status||429===d.status)return j("DeepSeek","DeepSeek balance is exhausted.");if(!d.ok)return t();let f=await d.json().catch(()=>null);if(!f||"object"!=typeof f)return t();let g={};for(let a of Array.isArray(f.balance_infos)?f.balance_infos:[]){if(!a||"object"!=typeof a)continue;let b="string"==typeof a.currency?a.currency.trim().toUpperCase():"";if(!b)continue;let c=Math.max(0,i(a.total_balance??a.totalBalance));g[`Balance (${b})`]={used:0,total:c,remaining:c,remainingPercentage:100*(c>0),resetAt:null,unlimited:!1,unit:b,grantedBalance:Math.max(0,i(a.granted_balance??a.grantedBalance)),toppedUpBalance:Math.max(0,i(a.topped_up_balance??a.toppedUpBalance))}}if(0===Object.keys(g).length)return{plan:"DeepSeek",quotas:g,authoritative:!0,message:"DeepSeek connected. No balance data returned."};let h=!0===f.is_available||!0===f.isAvailable;return{plan:h?"DeepSeek":"DeepSeek (Insufficient Balance)",quotas:g,authoritative:!0,limitReached:!h}},{parentSignal:b?.signal})}catch{return t()}}var v=c(32185),w=c(76394);function x(a,b){let c=Math.max(0,Number(a?.total)||0),d=Math.max(0,Number(a?.used)||0),e=Math.max(0,Number(a?.remaining)||0);return{total:c,used:d,remaining:e,remainingPercentage:c>0?Math.min(100,e/c*100):0,unit:a?.unit||"credits",resetAt:b,unlimited:!1}}function y(){return{quotaFetchFailed:!0,message:"Qoder usage temporarily unavailable."}}async function z(a,b=null){try{return await l(async c=>{let d;try{d=await (0,w.iC)(a,{proxyOptions:b,signal:c})}catch(a){if(a?.status===401||a?.status===403)return{authError:!0,accountDead:!0,message:"Qoder PAT was rejected. Add a valid Personal Access Token."};throw a}if(!d?.accessToken)return{message:"Qoder usage unavailable: no access token"};let f=await (0,e.proxyAwareFetch)(v.x_,{method:"GET",headers:{Authorization:`Bearer ${d.accessToken}`,Accept:"application/json"},signal:c},b);if(401===f.status||403===f.status)return{authError:!0,accountDead:!0,message:"Qoder authentication expired. Reconnect this account."};if(!f.ok)return y();let g=await f.json().catch(()=>null);if(!g||"object"!=typeof g)return y();let h=Number(g.expiresAt),i=Number.isFinite(h)&&h>0?new Date(h).toISOString():null,j={user:x(g.userQuota,i)};return Number(g.orgResourcePackage?.total)>0&&(j.organization=x(g.orgResourcePackage,i)),{quotas:j,totalUsagePercentage:Number(g.totalUsagePercentage)||0,isQuotaExceeded:!0===g.isQuotaExceeded,limitReached:!0===g.isQuotaExceeded,expiresAt:Number.isFinite(h)?h:null,authoritative:!0}},{parentSignal:b?.signal})}catch(a){return y()}}var A=c(77598);let B=new Map,C={key:"gemini_weekly",displayName:"Gemini Weekly"},D={key:"claude_gpt_weekly",displayName:"Claude / GPT Weekly"};function E(a){return(0,A.createHash)("sha256").update(a).digest("hex")}async function F(a,b,c=null,{fetchImpl:f=e.proxyAwareFetch,now:g=Date.now,digestImpl:h=E}={}){let i;try{i=h(`${a}\0${b||""}`);let c=B.get(i);if(c instanceof Promise)return c;if(c&&c.expiresAt>g())return c.result;c&&B.delete(i)}catch{return{}}let j=(async()=>{let e=new AbortController,h=setTimeout(()=>e.abort(),1e4);try{let h=await f("https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaSummary",{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":(0,d.P0)(),"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify(b?{project:b}:{}),signal:e.signal},c);if(!h?.ok)return B.delete(i),{};let j=function(a){let b=Array.isArray(a?.groups)?a.groups:a?.quotaSummary?.groups;if(!Array.isArray(b))return{};let c={};for(let a of b){if(a?.disabled)continue;let b=function(a){let b=[a?.id,a?.name,a?.displayName].filter(a=>"string"==typeof a).join(" ").toLowerCase();return b.includes("gemini")?C:b.includes("claude")||b.includes("gpt")?D:null}(a);if(b&&!c[b.key])for(let d of Array.isArray(a?.buckets)?a.buckets:[]){if(d?.disabled||"weekly"!==String(d?.period||"").toLowerCase()&&"p7d"!==String(d?.duration||"").toLowerCase())continue;let a=Number(d?.remainingFraction);if(d?.remainingFraction==null||!Number.isFinite(a))continue;let e=Math.min(1,Math.max(0,a)),f=Math.round(1e3*e);c[b.key]={used:Math.max(0,1e3-f),total:1e3,remainingPercentage:100*e,resetAt:function(a){if(null==a||""===a)return null;let b="number"==typeof a&&a<1e12?1e3*a:a,c="number"==typeof b?b:Date.parse(b);return Number.isFinite(c)?new Date(c).toISOString():null}(d?.resetTime),unlimited:!1,displayName:b.displayName,quotaSource:"retrieveUserQuotaSummary",routingAuthoritative:!1};break}}return c}(await h.json());if(0===Object.keys(j).length)return B.delete(i),{};return B.set(i,{result:j,expiresAt:g()+18e4}),j}catch{return B.delete(i),{}}finally{clearTimeout(h)}})();return B.set(i,j),j}let G={international:"https://api.z.ai/api/monitor/usage/quota/limit",china:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"},H={minimax:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"],"minimax-cn":["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]},I={quotaApiHosts:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],fetchAvailableModelsPath:"/v1internal:fetchAvailableModels",retrieveUserQuotaPath:"/v1internal:retrieveUserQuota",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token",clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",userAgent:(0,d.A9)(),quotaUserAgent:(0,d.P0)()},J=["gemini-3.8-flash-high","gemini-3.8-flash-medium","gemini-3.8-flash-low","gemini-3.7-flash-high","gemini-3.7-flash-medium","gemini-3.7-flash-low","gemini-3.6-flash-high","gemini-3.6-flash-medium","gemini-3.6-flash-low","gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash"],K="2023-06-01",L={free:"TCACA_code_001_PqouKr6QWV",proMon:"TCACA_code_002_AkiJS3ZHF5",gift:"TCACA_code_006_DbXS0lrypC",activity:"TCACA_code_007_nzdH5h4Nl0",proYear:"TCACA_code_003_FAnt7lcmRT",freeMon:"TCACA_code_008_cfWoLwvjU4",extra:"TCACA_code_009_0XmEQc2xOf"};async function M(a,b=null){let{provider:c,accessToken:d,apiKey:f,providerSpecificData:g,projectId:i}=a,j={...g||{},...i?{projectId:i}:{}};switch(c){case"github":return await T(d,g,b);case"gemini-cli":return await V(d,j,b);case"antigravity":return await Z(d,j,b);case"claude":return await aa(d,b);case"codex":return await ah(d,b);case"kiro":return await ai(d,g,b);case"codebuddy":case"codebuddy-cn":return await O(d,g,b,f,c);case"qoder":return await z(a,b);case"autoclaw":return await at(d,b,a);case"qwen":return await aj(d,g);case"iflow":return await ak(d);case"ollama":return await o(a,b);case"kimi":case"kimi-coding":return await s(a,b);case"deepseek":return await u(a,b);case"glm":case"glm-cn":return await al(f,c,b);case"minimax":case"minimax-cn":return await as(f,c,b);case"grok-cli":return await ax(d,g,b);case"cloudflare-ai":return await au(f||d,g,b);case"xai":return await aC(d||f,g,b);case"cline":case"clinepass":return await aA({accessToken:d,apiKey:f},c,b);case"kimchi":return await aB(d||f,g,b);case"blackbox":return await h(f||d,{fetchImpl:(a,c)=>(0,e.proxyAwareFetch)(a,c,b)});case"cursor":return await aD(d,g);default:return{message:`Usage API not implemented for ${c}`}}}async function N(a,b={},c=null,d="codebuddy"){let f=b?.uid||b?.rawAuth?.uid;if(f)return{uid:f,enterpriseId:b?.enterpriseId||null};let g=b?.domain||b?.rawAuth?.domain||("codebuddy-cn"===d?"www.codebuddy.cn":"www.codebuddy.ai");try{let b=await (0,e.proxyAwareFetch)(`https://${g}/v2/plugin/accounts`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","X-Domain":g}},c);if(!b.ok)return{uid:null,enterpriseId:null};let d=await b.json(),f=d?.data?.accounts||[],h=f.find(a=>a.lastLogin)||f[0]||{};return{uid:h.uid||null,enterpriseId:h.enterpriseId||null}}catch{return{uid:null,enterpriseId:null}}}async function O(a,b={},c=null,d=null,f="codebuddy"){let g=b?.authMode==="generated-api-key",h=a||d,i=a?"oauth":d?"api-key":null;if(!h)return{plan:"CodeBuddy",message:"CodeBuddy upstream quota is unavailable because no valid IDE OAuth token or API key is stored.",quotas:{},trackingMode:"unavailable"};try{let a,j,{uid:k,enterpriseId:l}=await N(h,b,c,f),m=await (0,e.proxyAwareFetch)(function(a={},b="codebuddy"){let c=a?.domain||a?.rawAuth?.domain||("codebuddy-cn"===b?"www.codebuddy.cn":"www.codebuddy.ai");return`https://${c}/v2/billing/meter/get-user-resource`}(b,f),{method:"POST",headers:function(a,b={},c=null,d=null,e=null){let f={Authorization:`Bearer ${a}`,Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9","Content-Type":"application/json","X-Domain":b?.domain||b?.rawAuth?.domain||"www.codebuddy.ai"};return e&&(f["X-Api-Key"]=e),c&&(f["X-User-Id"]=c),d&&(f["X-Enterprise-Id"]=d,f["X-Tenant-Id"]=d),f}(h,b,k,l,d),body:JSON.stringify((a=new Date,(j=new Date(a)).setFullYear(j.getFullYear()+101),{PageNumber:1,PageSize:200,ProductCode:"p_tcaca",Status:[0,3],PackageEndTimeRangeBegin:Q(a),PackageEndTimeRangeEnd:Q(j)}))},c),n=await m.text(),o=null;try{o=n?JSON.parse(n):null}catch{o=null}if(401===m.status||403===m.status){if("oauth"===i)return{plan:"CodeBuddy",message:`CodeBuddy IDE OAuth token was rejected (${m.status}). Upstream quota is unavailable; use ZevaiRouter Usage for local request and token tracking.`,quotas:{},authMode:"oauth-rejected",trackingMode:"local-router"};return{plan:"CodeBuddy",message:"CodeBuddy chat key active. Upstream quota is unavailable without a valid IDE OAuth token; use ZevaiRouter Usage for local request and token tracking.",quotas:{},authMode:g?"generated-api-key":"api-key",trackingMode:"local-router"}}if(!m.ok){let a=408===m.status||425===m.status||429===m.status||m.status>=500;return{plan:"CodeBuddy",message:`CodeBuddy quota endpoint returned ${m.status}.`,quotas:{},...a?{quotaFetchFailed:!0}:{}}}return{...function(a){let b=a?.data?.Response?.Data||a?.Response?.Data||a?.data||a||{},c=Array.isArray(b?.Accounts)?b.Accounts:Array.isArray(b?.accounts)?b.accounts:[];if(0===c.length)return{plan:"CodeBuddy",message:"CodeBuddy connected. No quota records were returned.",quotas:{}};let d=a=>{let b=P(a.CycleEndTime);return b?new Date(b).getTime():1/0},e=a=>{let b=d(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},f=(a,b)=>d(a)-d(b),g=c.filter(e).sort(f),h=c.filter(a=>!e(a)).sort(f),i={},j=!1,k=(a,b,{recurring:c})=>{var d,e;let f=function(a,{useCycle:b=!0}={}){let c=R(a,"Cycle"),d=function(a,b,c){return c?a||b:a&&b?a.precision!==b.precision?a.precision>b.precision?a:b:Math.abs(a.values.total-b.values.total)>=1e-9||Math.abs(a.values.used-b.values.used)>=1e-9||Math.abs(a.values.remaining-b.values.remaining)>=1e-9?a:b:b||a}(c,R(a,""),b);return d?{...d.values,resetAt:P(a.CycleEndTime||a.DeductionEndTime||a.ExpiredTime)}:null}(b,{useCycle:c});f&&((b.PackageCode===L.proMon||b.PackageCode===L.proYear)&&(j=!0),i[a]||(i[a]={used:0,total:0,remaining:0,resetAt:null,unit:"credits",unlimited:!1,recurring:c}),i[a].used+=f.used,i[a].total+=f.total,i[a].remaining+=f.remaining,i[a].resetAt=(d=i[a].resetAt,e=f.resetAt,d?e&&new Date(e).getTime()<new Date(d).getTime()?e:d:e||null),i[a].recurring=i[a].recurring&&c)};for(let a of g)k("Monthly Credits",a,{recurring:!0});for(let a of h)k("Bonus Credits",a,{recurring:!1});if(h.length>0&&i["Bonus Credits"]&&(i["Bonus Credits"].packCount=h.length),0===Object.keys(i).length)for(let a of c){if(!a||"object"!=typeof a)continue;let b=function(a){switch(a){case L.free:case L.freeMon:case L.proMon:case L.proYear:return"Monthly Credits";case L.gift:return"Gift Credits";case L.extra:return"Extra Credits";case L.activity:return"Activity Credits";default:return a?"Other Credits":null}}(a.PackageCode)||"Other Credits",c="Activity Credits"!==b&&"Gift Credits"!==b;k(c?"Monthly Credits":"Bonus Credits",a,{recurring:c})}if(0===Object.keys(i).length)return{plan:j?"Pro":"Free",message:"CodeBuddy connected. Unable to extract quota values.",quotas:{}};for(let a of Object.values(i))a.remainingPercentage=a.total>0?Math.max(0,Math.min(100,a.remaining/a.total*100)):0;return{plan:j?"Pro":"Free",quotas:i}}(o),authMode:i}}catch(a){return{plan:"CodeBuddy",message:`CodeBuddy connected. Unable to fetch quota: ${a.message}`,quotas:{},quotaFetchFailed:!0}}}function P(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function Q(a){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}-${b(a.getMonth()+1)}-${b(a.getDate())} ${b(a.getHours())}:${b(a.getMinutes())}:${b(a.getSeconds())}`}function R(a,b){let c=S(a[`${b}CapacitySizePrecise`]),d=c??S(a[`${b}CapacitySize`]),e=S(a[`${b}CapacityUsedPrecise`]),f=S(a[`${b}CapacityRemainPrecise`]),g=e??(null===f?S(a[`${b}CapacityUsed`]):null),h=f??S(a[`${b}CapacityRemain`]);if(null===d||null===g&&null===h)return null;let i=Math.max(0,d),j=null!==g?Math.min(i,Math.max(0,g)):Math.max(0,i-Math.min(i,Math.max(0,h))),k=Math.max(0,i-j),l=null===h?null:Math.min(i,Math.max(0,h)),m=null!==l&&1e-9>Math.abs(j+l-i)?l:k;return{values:{total:i,used:j,remaining:m},precision:+(null!==c)+2*(null!==e||null!==f)}}function S(...a){for(let b of a){if(null==b||""===b)continue;let a=Number(b);if(Number.isFinite(a))return a}return null}async function T(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,e.proxyAwareFetch)("https://api.github.com/copilot_internal/user",{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let d=await b.json();if(d.quota_snapshots){let a=d.quota_snapshots,b=P(d.quota_reset_date);return{plan:d.copilot_plan,resetDate:d.quota_reset_date,quotas:{chat:{...U(a.chat),resetAt:b},completions:{...U(a.completions),resetAt:b},premium_interactions:{...U(a.premium_interactions),resetAt:b}}}}if(d.monthly_quotas||d.limited_user_quotas){let a=d.monthly_quotas||{},b=d.limited_user_quotas||{},c=P(d.limited_user_reset_date);return{plan:d.copilot_plan||d.access_type_sku,resetDate:d.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function U(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}async function V(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d,f=W(b?.projectId),g="Free";if(!f){let b=await X(a,c);f=W(b?.cloudaicompanionProject),g=b?.currentTier?.name||g}if(!f)return{plan:g,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let h=new AbortController,i=setTimeout(()=>h.abort(),1e4);try{d=await (0,e.proxyAwareFetch)("https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:f}),signal:h.signal},c)}finally{clearTimeout(i)}if(!d.ok)return{plan:g,message:`Gemini CLI quota error (${d.status}).`};let j=await d.json(),k={};if(Array.isArray(j.buckets))for(let a of j.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);k[a.modelId]={used:d,total:1e3,resetAt:P(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:g,quotas:k}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}function W(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function X(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.proxyAwareFetch)("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:d.Cn}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch{return null}finally{clearTimeout(f)}}async function Y(a,b,c,d){let f=null;for(let g of I.quotaApiHosts){let h=new AbortController,i=setTimeout(()=>h.abort(),1e4);try{let i=await (0,e.proxyAwareFetch)(`${g}${a}`,{method:"POST",headers:{Authorization:`Bearer ${b}`,"User-Agent":I.quotaUserAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify(c||{}),signal:h.signal},d);if(i.ok||401===i.status||403===i.status)return{response:i,host:g};f=Error(`Antigravity API error: ${i.status}`)}catch(a){f=a}finally{clearTimeout(i)}}if(f)throw f;throw Error("Antigravity API unavailable")}async function Z(a,b,c=null){try{let d,e=W(b?.projectId),f=await _(a,c),g=e||W(f?.cloudaicompanionProject),h=String(f?.paidTier?.id||"").toLowerCase(),i=!h||"free-tier"===h,j=async(b,d={})=>{let e=await F(a,g,c),f=Object.keys(e).length>0;return{...b,quotas:i&&f?e:{...d,...e}}};try{d=await Y(I.fetchAvailableModelsPath,a,g?{project:g}:{},c)}catch(a){return await j({message:`Antigravity quota unavailable: ${a.message}. Chat may still work.`})}let k=d.response;if(401===k.status){let a=await $(b,c);if(a)return{accountDead:!0,message:`Antigravity account ${a}. Reconnect won't help — recreate the account.`,quotas:{}};return await j({message:"Antigravity quota API authentication expired. Chat may still work."})}if(403===k.status)return await j({message:"Antigravity quota API access forbidden (tier may not expose quota). Chat may still work."});if(!k.ok)throw Error(`Antigravity API error: ${k.status}`);let l=await k.json(),m=new Map;try{let b=await Y(I.retrieveUserQuotaPath,a,g?{project:g}:{},c);if(b.response.ok){let a=await b.response.json();if(Array.isArray(a.buckets))for(let b of a.buckets){let a=String(b.modelId||"").trim();a&&m.set(a,b)}}}catch{}let n={};if(l.models)for(let[a,b]of Object.entries(l.models)){if(b.isInternal||!J.includes(a))continue;let c=m.get(a),d=c||b.quotaInfo;if(!d)continue;let e=Number(d.remainingFraction)||0,f=100*e,g=Math.round(1e3*e),h=Math.max(0,1e3-g);n[a]={used:h,total:1e3,resetAt:P(d.resetTime),remainingPercentage:f,unlimited:!1,displayName:b.displayName||a,quotaSource:c?"retrieveUserQuota":"fetchAvailableModels"}}let o=await j({},n);return{plan:f?.paidTier?.name||f?.currentTier?.name||"Unknown",...o,subscriptionInfo:f}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function $(a,b=null){let c=a?.refreshToken;if(!c)return null;try{let a,d=new AbortController,f=setTimeout(()=>d.abort(),1e4);try{a=await (0,e.proxyAwareFetch)(I.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:I.clientId,client_secret:I.clientSecret,refresh_token:c,grant_type:"refresh_token"}),signal:d.signal},b)}finally{clearTimeout(f)}if(a.ok)return null;let g=await a.json().catch(()=>({}));if("invalid_grant"===g.error){let a=(g.error_description||"").toLowerCase();if(a.includes("deleted"))return"has been deleted";if(a.includes("disabled")||a.includes("suspend"))return"is disabled/suspended";return"authorization was revoked"}return null}catch{return null}}async function _(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.proxyAwareFetch)(I.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":I.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify({metadata:d.Cn,mode:1}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}finally{clearTimeout(f)}}async function aa(a,b=null){try{let c=await (0,e.proxyAwareFetch)("https://api.anthropic.com/api/oauth/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":K}},b);if(c.ok){let a=await c.json(),b={},d=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,e=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:P(a.resets_at),unlimited:!1}};for(let[c,f]of(d(a.five_hour)&&(b["session (5h)"]=e(a.five_hour)),d(a.seven_day)&&(b["weekly (7d)"]=e(a.seven_day)),Object.entries(a)))if(c.startsWith("seven_day_")&&"seven_day"!==c&&d(f)){let a=c.replace("seven_day_","");b[`weekly ${a} (7d)`]=e(f)}return{plan:"Claude Code",extraUsage:a.extra_usage??null,quotas:b}}return console.warn(`[Claude Usage] OAuth endpoint returned ${c.status}, falling back to legacy`),await ab(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function ab(a,b=null){try{let c=await (0,e.proxyAwareFetch)("https://api.anthropic.com/v1/settings",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":K}},b);if(c.ok){let d=await c.json();if(d.organization_id){let c=await (0,e.proxyAwareFetch)("https://api.anthropic.com/v1/organizations/{org_id}/usage".replace("{org_id}",d.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":K}},b);if(c.ok){let a=await c.json();return{plan:d.plan||"Unknown",organization:d.organization_name,quotas:a}}}return{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}function ac(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function ad(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function ae(a,b){let c=ac(a?.limit_window_seconds??a?.limitWindowSeconds??a?.window_seconds??a?.windowSeconds,null);return null===c||c<=0?b:c<=86400?"session":c<=1209600?"weekly":c<=3888e3?"monthly":b}function af(a){let b=Math.max(0,Math.min(100,ac(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:P(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function ag(a,b,c){let d=ad(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;if(e){let c=ae(e,"session");a[b?`${b}_${c}`:c]=af(e),g=!0}if(f){let c=ae(f,"weekly");a[b?`${b}_${c}`:c]=af(f),g=!0}return g}async function ah(a,b=null){try{let c=await (0,e.proxyAwareFetch)("https://chatgpt.com/backend-api/wham/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let d=await c.json(),f=d.rate_limit||d.rate_limits||d.rate_limits_by_limit_id?.codex||{},g=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(d),h=Math.max(0,ac(d.rate_limit_reset_credits?.available_count,0)),i={};return ag(i,"",f),ag(i,"review",g),{plan:d.plan_type||d.summary?.plan||"unknown",limitReached:ad(f)?.limit_reached||!1,reviewLimitReached:ad(g)?.limit_reached||!1,resetCredits:{availableCount:h},quotas:i}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function ai(a,b,c=null){let d=b?.authMethod||"builder-id",f="api_key"===d,g={...f?{tokentype:"API_KEY"}:{},..."external_idp"===d?{TokenType:"EXTERNAL_IDP"}:{}},h=f?b?.profileArn||"":b?.profileArn||"arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX",i=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),j=!1,k=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,e.proxyAwareFetch)(`https://codewhisperer.us-east-1.amazonaws.com/getUsageLimits?${i.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE-1.0.138","user-agent":"aws-sdk-js/1.0.0 KiroIDE-1.0.138",...g}},c)},{name:"codewhisperer-post",run:async()=>(0,e.proxyAwareFetch)("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...g},body:JSON.stringify({origin:"AI_EDITOR",...h?{profileArn:h}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...h?{profileArn:h}:{},resourceType:"AGENTIC_REQUEST"});return(0,e.proxyAwareFetch)(`https://q.us-east-1.amazonaws.com/getUsageLimits?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...g}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(j=!0),k.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=P(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,f=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:f,remaining:f-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,f=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:f,remaining:f-e,resetAt:P(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){k.push(`${b.name}:${a.message}`)}return j&&"idc"===d?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:j&&("google"===d||"github"===d)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:j?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:k.length>0?`Unable to fetch Kiro usage right now. (${k[k.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}async function aj(a,b){try{if(!b?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch Qwen usage."}}}async function ak(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}async function al(a,b,c=null){if(!a)return{message:"GLM API key not available."};let d=G["glm-cn"===b?"china":"international"];try{let b=await (0,e.proxyAwareFetch)(d,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i.session={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}function am(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function an(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function ao(a){return Math.max(0,Number(am(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function ap(a){return Math.max(0,Number(am(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function aq(a){return!!(ao(a)>0||ap(a)>0)||null!==an(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==an(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function ar(a,b,c,d,e,f,g,h,i,j){let k=d(c),l=an(c,g,h);if(k<=0&&null===l)return;let m=Math.max(0,Number(am(c,e,f))||0),n=k,o=m;k<=0&&(n=100,o=j?Math.round(l/100*n):Math.round(n*(1-l/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(n,o,function(a,b,c,d,e,f){let g=Number(am(a,c,d))||0;return g>0?new Date(b+g).toISOString():P(am(a,e,f))}(c,...i),j,l)}async function as(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let d=H[b]||[],f="";for(let b=0;b<d.length;b+=1){let g=d[b],h=b<d.length-1;try{let b=await (0,e.proxyAwareFetch)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),d=await b.text(),i={};if(d)try{i=JSON.parse(d)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${d}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,p=(Array.isArray(o)?o:[]).filter(aq);if(0===p.length)return{message:"MiniMax connected. No quota data was returned."};let q=Date.now(),r=g.includes("/coding_plan/remains"),s={};for(let a of p){let b=function(a){let b=String(am(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);ar(s,`${b} (5h)`,a,ao,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[q,"remains_time","remainsTime","end_time","endTime"],r),ar(s,`${b} (7d)`,a,ap,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[q,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],r)}if(0===Object.keys(s).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:s}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}async function at(a,b=null,d=null){if(!a)return{message:"AutoClaw usage unavailable: no access token"};try{let{AUTOCLAW_WALLET_ENDPOINT:f,buildAutoClawWalletHeaders:g}=await Promise.resolve().then(c.bind(c,73952)),h=await (0,e.proxyAwareFetch)(f,{method:"GET",headers:g(a)},b);if(!h.ok)return{message:`AutoClaw connected. Usage fetch returned ${h.status}.`};let i=await h.json().catch(()=>null);if(!i||0!==i.code)return{message:"AutoClaw connected. Unable to read balance."};let j=Number(i.data?.total_balance),k=Number.isFinite(j)?j:0,l=k;try{if(d?.id){let{getQuotaSnapshot:a}=await Promise.resolve().then(c.bind(c,70321)),b=await a(d.id),e=Number(b?.usage?.quotas?.points?.total)||0,f=Number(b?.usage?.quotas?.points?.remaining);l=Math.max(e,k,Number.isFinite(f)?f:0)}}catch{}let m=Math.max(0,l-k);return{quotas:{points:{total:l,used:m,remaining:k,unit:"points",resetAt:null}},totalUsagePercentage:l>0?Math.round(m/l*100):0,isQuotaExceeded:k<=0}}catch(a){return{message:`AutoClaw connected. Unable to fetch balance: ${a.message}`}}}async function au(a,b=null,c=null){let d=String(a||"").trim(),f=String(b?.accountId||"").trim();if(!d)return{message:"Cloudflare API token not available."};if(!f)return{message:"Cloudflare account ID missing. Re-import or edit the connection."};try{let a=await (0,e.proxyAwareFetch)("https://api.cloudflare.com/client/v4/user/tokens/verify",{method:"GET",headers:{Authorization:`Bearer ${d}`,Accept:"application/json"}},c);if(401===a.status||403===a.status)return{message:"Cloudflare API token invalid or expired. Re-import the account."};if(!a.ok){let b=await a.text().catch(()=>"");return{message:`Cloudflare token verify failed (${a.status})${b?`: ${b.slice(0,160)}`:""}`}}let g=await a.json().catch(()=>null),h=g?.result?.status||(g?.success?"active":"unknown"),i=b?.accountName||"";try{let a=await (0,e.proxyAwareFetch)(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(f)}`,{method:"GET",headers:{Authorization:`Bearer ${d}`,Accept:"application/json"}},c);if(a?.ok){let b=await a.json().catch(()=>null);i=b?.result?.name||i}}catch{}let j=f.length>10?`${f.slice(0,8)}…`:f;return{plan:i?`Workers AI \xb7 ${i}`:`Workers AI \xb7 ${j}`,quotas:{"Workers AI":{used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}},message:h&&"active"!==h?`Token status: ${h}. Cloudflare does not publish remaining free-tier neurons via API.`:"Token valid. CF does not expose remaining free-tier neurons via API — model rate limits still apply."}}catch(a){return{message:`Cloudflare usage error: ${a.message}`}}}function av(a,b=0){return null==a?b:"object"==typeof a&&!Array.isArray(a)&&"val"in a?ac(a.val,b):ac(a,b)}function aw({used:a,total:b,resetAt:c,unlimited:d=!1}){let e=Math.max(0,ac(b,0)),f=Math.max(0,ac(a,0));if(d||0===e)return{used:f,total:0,remainingPercentage:100*!!d,resetAt:c||null,unlimited:!0};let g=Math.max(0,e-f);return{used:f,total:e,remainingPercentage:g/e*100,resetAt:c||null,unlimited:!1}}async function ax(a,b=null,c=null){if(!a)return{message:"Grok CLI access token not available."};let d=function(a,b={}){let c=b||{},d={Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)","x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":"grok-pager","x-grok-client-version":"0.2.93"},e=c.email,f=c.userId||c.principalId;return e&&(d["x-email"]=e),f&&(d["x-userid"]=f),d}(a,b);try{let[a,b]=await Promise.all([(0,e.proxyAwareFetch)("https://cli-chat-proxy.grok.com/v1/billing?format=credits",{method:"GET",headers:d},c),(0,e.proxyAwareFetch)("https://cli-chat-proxy.grok.com/v1/user?include=subscription",{method:"GET",headers:d},c).catch(()=>null)]);if(401===a.status||403===a.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!a.ok){let b=await a.text().catch(()=>""),c=b?`: ${b.slice(0,200)}`:"";return{message:`Grok CLI billing API error (${a.status})${c}`}}let f=await a.json().catch(()=>null);if(!f||"object"!=typeof f)return{message:"Grok CLI billing response was not JSON."};let g=null;b?.ok&&(g=await b.json().catch(()=>null));let h=function(a,b=null){let c,d=a&&"object"==typeof a?a:{},e=d.config&&"object"==typeof d.config&&!Array.isArray(d.config)?d.config:d,f=P(e.billingPeriodEnd)||P(e.currentPeriod?.end)||P(d.billingPeriodEnd)||null,g={},h=av(e.onDemandCap??d.onDemandCap,NaN),i=av(e.onDemandUsed??d.onDemandUsed,NaN);if(Number.isFinite(h)&&h>0){let a=Number.isFinite(i)?Math.max(0,i):0;g["On-demand"]=aw({used:a,total:h,resetAt:f})}let j=av(e.monthlyLimit??d.monthlyLimit,NaN),k=av(e.used??d.used,NaN);Number.isFinite(j)&&j>0&&(g.Monthly=aw({used:Number.isFinite(k)?Math.max(0,k):0,total:j,resetAt:f}));let l=av(e.prepaidBalance??d.prepaidBalance,NaN);return Number.isFinite(l)&&l>0&&(g.Prepaid={used:0,total:l,remainingPercentage:100,resetAt:null,unlimited:!1}),(b?.hasGrokCodeAccess===!0||e?.isUnifiedBillingUser===!0)&&(g["Grok Code"]={used:0,total:0,remainingPercentage:100,resetAt:f,unlimited:!0}),0===Object.keys(g).length&&(g.Included={used:0,total:0,remainingPercentage:100,resetAt:f,unlimited:!0}),{plan:(c="string"==typeof b?.subscriptionTier?b.subscriptionTier.trim():"")?c.replace(/[_-]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()):b?.hasGrokCodeAccess===!0?"Grok Code":(e?.isUnifiedBillingUser,"Grok Build"),quotas:g,periodEnd:f}}(f,g);if(!h.quotas||0===Object.keys(h.quotas).length)return{plan:h.plan,message:"Grok Build connected, but no credit allotment was returned. Free promo may be exhausted — upgrade at https://grok.com/supergrok or add credits at https://grok.com/?_s=usage.",quotas:{}};return{plan:h.plan,quotas:h.quotas}}catch(a){return{message:`Grok CLI usage error: ${a.message}`}}}function ay(a,b=0,c=""){if(!a||"object"!=typeof a||b>4)return null;let d=[];for(let[e,f]of Object.entries(a)){let a=e.toLowerCase();if(f&&"object"==typeof f&&!Array.isArray(f)){let a=ay(f,b+1,c?`${c}.${e}`:e);a&&d.push(a);continue}if("number"!=typeof f&&"string"!=typeof f)continue;let g=ac(f,NaN);Number.isFinite(g)&&/(remaining|balance|credit|quota|limit|allowance|cap|used|spent|consumed)/i.test(a)&&d.push({key:c?`${c}.${e}`:e,name:e,value:g,kind:a})}return d.length?d:null}function az(a){if(!a?.length)return null;let b=b=>a.find(a=>b.test(a.kind)||b.test(a.name)),c=b(/remaining|balance|credit(?!s_used)/i),d=b(/limit|cap|allowance|total|quota(?!_used)/i),e=b(/used|spent|consumed/i);if(d&&Number(d.value)>0){let a=e?Math.max(0,Number(e.value)):c?Math.max(0,Number(d.value)-Number(c.value)):0,b=Math.max(0,Number(d.value)-a);return{used:a,total:Number(d.value),remainingPercentage:b/Number(d.value)*100,resetAt:null,unlimited:!1}}if(c&&Number(c.value)>=0){let a=Number(c.value);return{used:0,total:a>0?a:1,remainingPercentage:100*(a>0),resetAt:null,unlimited:!1}}return null}async function aA(a,b="cline",d=null){try{let{buildClineHeaders:f,resolveClineCredential:g}=await Promise.resolve().then(c.bind(c,43469)),{token:h,isApiKey:i}=g(a);if(!h)return{message:"Cline access token not available."};let j=f(h,{Accept:"application/json"},{isApiKey:i}),k=await (0,e.proxyAwareFetch)("https://api.cline.bot/api/v1/users/me",{method:"GET",headers:j},d);if(401===k.status||403===k.status)return{message:"Cline authentication expired. Please re-authorize."};if(!k.ok)return{message:`Cline user API error (${k.status})`};let l=await k.json().catch(()=>null);if(!l||"object"!=typeof l)return{message:"Cline user response was not JSON."};let m=l.data&&"object"==typeof l.data?l.data:l,n=m.email||m.user?.email||null,o=m.plan||m.subscription?.plan||m.subscription?.name||m.organization?.plan||m.organizations?.[0]?.plan||("clinepass"===b?"ClinePass":"Cline"),p=ay(m)||[],q=az(p),r={};q&&(r.Credits=q);let s=m.organizations||m.organization;if(!Object.keys(r).length&&s&&(r.Account={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}),!Object.keys(r).length)return{plan:"string"==typeof o?o:"Cline",email:n,message:"Cline connected. No credit allotment was returned by the account API.",quotas:{}};return{plan:"string"==typeof o?o:"Cline",email:n,quotas:r}}catch(a){return{message:`Cline usage error: ${a.message}`}}}async function aB(a,b=null,c=null){if(!a)return{message:"Kimchi access token not available."};try{let d=await (0,e.proxyAwareFetch)("https://app.kimchi.dev/api/v1/me",{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`,"User-Agent":"kimchi/0.1.50"}},c);if(401===d.status||403===d.status)return{message:"Kimchi authentication expired. Please re-authorize."};if(!d.ok)return{message:`Kimchi user API error (${d.status})`};let f=await d.json().catch(()=>null);if(!f||"object"!=typeof f)return{message:"Kimchi user response was not JSON."};let g=f.email||b?.username||null,h=f.plan||f.tier||f.subscription?.name||"Kimchi",i=ay(f)||[],j=az(i),k={};return j?k.Credits=j:k.Account={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0},{plan:"string"==typeof h?h:"Kimchi",email:g,quotas:k}}catch(a){return{message:`Kimchi usage error: ${a.message}`}}}async function aC(a,b=null,c=null){if(!a)return{message:"xAI token not available."};try{let d={Authorization:`Bearer ${a}`,Accept:"application/json"},f=0,g=null,h=null;for(let a of["https://api.x.ai/v1/api-key","https://api.x.ai/v1/models"]){let b=await (0,e.proxyAwareFetch)(a,{method:"GET",headers:d},c);if(f=b.status,401===b.status||403===b.status)return{message:"xAI authentication expired. Please re-authorize or update the API key."};if(b.ok){g=await b.json().catch(()=>null),h=a;break}}if(!g)return{message:`xAI API error (${f||"unknown"})`};let i=ay(g)||[],j=az(i),k={};j?k.Credits=j:(Array.isArray(g?.data)&&g.data.length,k.API={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0});let l=b?.email||null,m=g.name||g.api_key_name||g.team?.name||(h?.includes("api-key")?"xAI API Key":"xAI");return{plan:"string"==typeof m?m:"xAI",email:l,quotas:k}}catch(a){return{message:`xAI usage error: ${a.message}`}}}async function aD(a,b=null){if(!a)return{message:"Cursor access token not available."};let c=b?.plan||b?.membershipType||"Cursor",d=b?.email||null;try{let b=String(a).split(".");if(3===b.length){let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),e=a+"=".repeat((4-a.length%4)%4),f=JSON.parse(Buffer.from(e,"base64").toString("utf8"));d=d||f.email||f.preferred_username||null,c=f.plan||f.subscription||f.membershipType||f.tier||c}}catch{}return{plan:"string"==typeof c?c:"Cursor",email:d,quotas:{Session:{used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}}}}},68759:(a,b,c)=>{"use strict";let d;a=c.nmd(a);let{Buffer:e}=c(4573);Object.defineProperty(a,"exports",{get:()=>d||(d=e.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCHCICQQJrDvwBAfkBAgMEBQYHCAkKCwwNDg8QERL4ARP3ARQV9gEWF/UBGBkaGxwdHh8g/QH7ASH0ASIjJCUmJygpKivzASwtLi8wMTLyAfEBMzTwAe8BNTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5P+gFQUVJT7gHtAVTsAVXrAVZXWFla6gFbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHpAegBzwHnAdAB5gHRAdIB0wHUAeUB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMBAPwBC0EADOMBC0EODOIBC0ENDOEBC0EPDOABC0EQDN8BC0ETDN4BC0EUDN0BC0EVDNwBC0EWDNsBC0EXDNoBC0EYDNkBC0EZDNgBC0EaDNcBC0EbDNYBC0EcDNUBC0EdDNQBC0EeDNMBC0EfDNIBC0EgDNEBC0EhDNABC0EIDM8BC0EiDM4BC0EkDM0BC0EjDMwBC0EHDMsBC0ElDMoBC0EmDMkBC0EnDMgBC0EoDMcBC0ESDMYBC0ERDMUBC0EpDMQBC0EqDMMBC0ErDMIBC0EsDMEBC0HeAQzAAQtBLgy/AQtBLwy+AQtBMAy9AQtBMQy8AQtBMgy7AQtBMwy6AQtBNAy5AQtB3wEMuAELQTUMtwELQTkMtgELQQwMtQELQTYMtAELQTcMswELQTgMsgELQT4MsQELQToMsAELQeABDK8BC0ELDK4BC0E/DK0BC0E7DKwBC0EKDKsBC0E8DKoBC0E9DKkBC0HhAQyoAQtBwQAMpwELQcAADKYBC0HCAAylAQtBCQykAQtBLQyjAQtBwwAMogELQcQADKEBC0HFAAygAQtBxgAMnwELQccADJ4BC0HIAAydAQtByQAMnAELQcoADJsBC0HLAAyaAQtBzAAMmQELQc0ADJgBC0HOAAyXAQtBzwAMlgELQdAADJUBC0HRAAyUAQtB0gAMkwELQdMADJIBC0HVAAyRAQtB1AAMkAELQdYADI8BC0HXAAyOAQtB2AAMjQELQdkADIwBC0HaAAyLAQtB2wAMigELQdwADIkBC0HdAAyIAQtB3gAMhwELQd8ADIYBC0HgAAyFAQtB4QAMhAELQeIADIMBC0HjAAyCAQtB5AAMgQELQeUADIABC0HiAQx/C0HmAAx+C0HnAAx9C0EGDHwLQegADHsLQQUMegtB6QAMeQtBBAx4C0HqAAx3C0HrAAx2C0HsAAx1C0HtAAx0C0EDDHMLQe4ADHILQe8ADHELQfAADHALQfIADG8LQfEADG4LQfMADG0LQfQADGwLQfUADGsLQfYADGoLQQIMaQtB9wAMaAtB+AAMZwtB+QAMZgtB+gAMZQtB+wAMZAtB/AAMYwtB/QAMYgtB/gAMYQtB/wAMYAtBgAEMXwtBgQEMXgtBggEMXQtBgwEMXAtBhAEMWwtBhQEMWgtBhgEMWQtBhwEMWAtBiAEMVwtBiQEMVgtBigEMVQtBiwEMVAtBjAEMUwtBjQEMUgtBjgEMUQtBjwEMUAtBkAEMTwtBkQEMTgtBkgEMTQtBkwEMTAtBlAEMSwtBlQEMSgtBlgEMSQtBlwEMSAtBmAEMRwtBmQEMRgtBmgEMRQtBmwEMRAtBnAEMQwtBnQEMQgtBngEMQQtBnwEMQAtBoAEMPwtBoQEMPgtBogEMPQtBowEMPAtBpAEMOwtBpQEMOgtBpgEMOQtBpwEMOAtBqAEMNwtBqQEMNgtBqgEMNQtBqwEMNAtBrAEMMwtBrQEMMgtBrgEMMQtBrwEMMAtBsAEMLwtBsQEMLgtBsgEMLQtBswEMLAtBtAEMKwtBtQEMKgtBtgEMKQtBtwEMKAtBuAEMJwtBuQEMJgtBugEMJQtBuwEMJAtBvAEMIwtBvQEMIgtBvgEMIQtBvwEMIAtBwAEMHwtBwQEMHgtBwgEMHQtBAQwcC0HDAQwbC0HEAQwaC0HFAQwZC0HGAQwYC0HHAQwXC0HIAQwWC0HJAQwVC0HKAQwUC0HLAQwTC0HMAQwSC0HNAQwRC0HOAQwQC0HPAQwPC0HQAQwOC0HRAQwNC0HSAQwMC0HTAQwLC0HUAQwKC0HVAQwJC0HWAQwIC0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==","base64"))})},69384:(a,b,c)=>{"use strict";c.d(b,{Hv:()=>j});var d=c(58500),e=c(8735),f=c(79154),g=c(46956),h=c(11484),i=c(32557);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}`)}}},69881:(a,b,c)=>{"use strict";c.d(b,{A:()=>h});var d=c(55511),e=c(69384),f=c(30395),g=c(65294);class h extends e.Hv{constructor(){super("commandcode",f.xq.commandcode)}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers||{},"x-session-id":(0,d.randomUUID)()},e=a?.apiKey||a?.accessToken;return e&&(c.Authorization=`Bearer ${e}`),b&&(c.Accept="text/event-stream"),c}async execute(a){var b,c;let d,e,f,h,i,j,k=await super.execute(a);return k?.response?.ok&&k.response.body&&(b=k.response,c=a.model,d=new TextDecoder,e=new TextEncoder,f="",h={model:c},i=(a,b)=>{if(a)for(let c of Array.isArray(a)?a:[a])null!=c&&b.enqueue(e.encode(`data: ${JSON.stringify(c)}
433
+ ${d}`}):e.unshift({role:"system",content:d}),{...a,messages:e,response_format:{type:"json_object"}}}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`}switch(this.provider){case"claude":case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;default:{let a=this.config.baseUrl;if(a?.includes("{accountId}")){let b=d?.providerSpecificData?.accountId;if(!b)throw Error(`${this.provider} requires accountId in providerSpecificData`);return a.replace("{accountId}",b)}return a}}}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};switch(this.provider){case"gemini":a.apiKey?c["x-goog-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break;case"claude":{let b=a?.rawHeaders?{...a.rawHeaders}:null;if(b){for(let a of Object.keys(b)){let d=a.replace(/(^|-)([a-z])/g,(a,b,c)=>b+c.toUpperCase());if("anthropic-beta"===a){let e=new Set((c[d]||c[a]||"").split(",").map(a=>a.trim()).filter(Boolean)),f=new Set(b[a].split(",").map(a=>a.trim()).filter(Boolean));for(let a of e)f.add(a);b[a]=Array.from(f).join(",")}d!==a&&void 0!==c[d]&&delete c[d]}Object.assign(c,b)}a.apiKey?c["x-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break}case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":c["x-api-key"]=a.apiKey||a.accessToken,("kimi"===this.provider||"kimi-coding"===this.provider)&&Object.assign(c,(0,f.VK)());break;default:if(this.provider?.startsWith?.("anthropic-compatible-")){let b=a?.rawHeaders?{...a.rawHeaders}:null;if(b){for(let a of Object.keys(b)){let d=a.replace(/(^|-)([a-z])/g,(a,b,c)=>b+c.toUpperCase());if("anthropic-beta"===a){let e=new Set((c[d]||c[a]||"").split(",").map(a=>a.trim()).filter(Boolean));for(let c of b[a].split(",").map(a=>a.trim()).filter(Boolean))e.add(c);b[a]=Array.from(e).join(",")}d!==a&&void 0!==c[d]&&delete c[d]}Object.assign(c,b)}a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")}else if("gitlab"===this.provider)c.Authorization=`Bearer ${a.apiKey||a.accessToken}`;else if(this.provider?.startsWith?.("codebuddy")){let b=o(),d=o();a.apiKey?c["X-Api-Key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`,c.Accept="text/event-stream",c["Content-Type"]="application/json; charset=utf-8",c["User-Agent"]=k.C,c["X-App"]="cli",c["X-Stainless-Runtime"]="node",c["X-Stainless-Lang"]="js",c["X-Stainless-Helper-Method"]="stream",c["X-Stainless-Retry-Count"]="0",c["X-Requested-With"]="XMLHttpRequest",c["X-Domain"]=a.providerSpecificData?.domain||this.config?.domain||"www.codebuddy.ai",c["X-Request-ID"]=b,c["X-Conversation-ID"]=d,c["X-Conversation-Request-ID"]=d,c["X-Conversation-Message-ID"]=b,c["X-Agent-Intent"]="craft",c["X-IDE-Type"]="CLI",c["X-IDE-Name"]="CLI",c["X-IDE-Version"]=k.A,c["X-Private-Data"]="false"}else if("kilocode"===this.provider)c.Authorization=`Bearer ${a.apiKey||a.accessToken}`,a.providerSpecificData?.orgId&&(c["X-Kilocode-OrganizationID"]=a.providerSpecificData.orgId);else if("cline"===this.provider||"clinepass"===this.provider){let{token:b,isApiKey:d}=(0,g.resolveClineCredential)(a);Object.assign(c,(0,g.buildClineHeaders)(b,{},{isApiKey:d}))}else this.config?.format==="claude"?(c["x-api-key"]=a.apiKey||a.accessToken,c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):c.Authorization=`Bearer ${a.apiKey||a.accessToken}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let b=a?.providerSpecificData?.baseUrl||"";if(!(""===b||b.includes("api.anthropic.com"))){for(let a of(delete c["anthropic-dangerous-direct-browser-access"],delete c["Anthropic-Dangerous-Direct-Browser-Access"],delete c["x-app"],delete c["X-App"],["anthropic-beta","Anthropic-Beta"]))if(c[a]){let b=c[a].split(",").map(a=>a.trim()).filter(a=>a&&"claude-code-20250219"!==a).join(",");b?c[a]=b:delete c[a]}}}return b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;let d={claude:()=>this.refreshWithJSON(f.NA.anthropic.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.claude.clientId},c),codex:()=>this.refreshWithForm(f.NA.openai.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.codex.clientId,scope:"openid profile email offline_access"},c),qwen:()=>this.refreshWithForm(f.NA.qwen.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.qwen.clientId},c),iflow:()=>this.refreshIflow(a.refreshToken,c),gemini:()=>this.refreshGoogle(a.refreshToken,c),kiro:()=>this.refreshKiro(a.refreshToken,c),codebuddy:()=>this.refreshCodeBuddy(a.refreshToken,c),"codebuddy-cn":()=>this.refreshCodeBuddy(a.refreshToken,c),cline:()=>this.refreshCline(a.refreshToken,c),clinepass:()=>this.refreshCline(a.refreshToken,c),kimi:()=>this.refreshKimiCoding(a.refreshToken,c),"kimi-coding":()=>this.refreshKimiCoding(a.refreshToken,c),kilocode:()=>this.refreshKilocode(a.refreshToken,c)}[this.provider];if(!d)return null;try{let a=await d();return a&&b?.info?.("TOKEN",`${this.provider} refreshed`),a}catch(a){return b?.error?.("TOKEN",`${this.provider} refresh error: ${a.message}`),null}}async refreshWithJSON(a,b,c=null){let d=await (0,h.proxyAwareFetch)(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(b)},c);if(!d.ok)return await (0,i.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||b.refresh_token,expiresIn:e.expires_in}}async refreshWithForm(a,b,c=null){let d=await (0,h.proxyAwareFetch)(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(b)},c);if(!d.ok)return await (0,i.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||b.refresh_token,expiresIn:e.expires_in}}async refreshIflow(a,b=null){let c=btoa(`${e.xq.iflow.clientId}:${e.xq.iflow.clientSecret}`),d=await (0,h.proxyAwareFetch)(f.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.iflow.clientId,client_secret:e.xq.iflow.clientSecret})},b);if(!d.ok)return await (0,i.aI)(d),null;let g=await d.json();return{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async refreshGoogle(a,b=null){let c=await (0,h.proxyAwareFetch)(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId,client_secret:this.config.clientSecret})},b);if(!c.ok)return await (0,i.aI)(c),null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async refreshKiro(a,b=null){let c=await (0,h.proxyAwareFetch)(e.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/2.12.2"},body:JSON.stringify({refreshToken:a})},b);if(!c.ok)return await (0,i.aI)(c),null;let d=await c.json();return{accessToken:d.accessToken,refreshToken:d.refreshToken||a,expiresIn:d.expiresIn}}async refreshCodeBuddy(a,b=null){let c=this.config?.refreshUrl||e.xq.codebuddy.refreshUrl,d=this.config?.domain||"www.codebuddy.ai",f=await (0,h.proxyAwareFetch)(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":k.C,"X-Requested-With":"XMLHttpRequest","X-Domain":d,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"},b);if(!f.ok)return await (0,i.aI)(f),null;let g=await f.json(),j=g?.data||g,l=j?.accessToken||j?.access_token;return l?{accessToken:l,refreshToken:j?.refreshToken||j?.refresh_token||a,expiresIn:j?.expiresIn||j?.expires_in||86400}:null}async refreshCline(a,b=null){let c=await (0,h.proxyAwareFetch)("https://api.cline.bot/api/v1/auth/refresh",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})},b);if(!c.ok)return await c.text(),null;let d=await c.json(),e=d?.data||d,f=e?.expiresAt,g=f?Math.max(1,Math.floor((new Date(f).getTime()-Date.now())/1e3)):void 0;return{accessToken:e?.accessToken,refreshToken:e?.refreshToken||a,expiresIn:g}}async refreshKimiCoding(a,b=null){let c=(0,f.VK)(),d=await (0,h.proxyAwareFetch)("https://auth.kimi.com/api/oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...c},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:"17e5f671-d194-4dfb-9706-5516cb48c098"})},b);if(!d.ok)return await (0,i.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async refreshKilocode(a,b=null){return null}}},67449:a=>{"use strict";let b=new TextDecoder;a.exports={utf8DecodeBytes:function(a){return 0===a.length?"":(239===a[0]&&187===a[1]&&191===a[2]&&(a=a.subarray(3)),b.decode(a))}}},67519:(a,b,c)=>{"use strict";let d=c(84285),e=c(34589),{InvalidArgumentError:f}=c(61448),g=[300,301,302,303,307,308],h=()=>{};class i{static buildDispatch(a,b){if(null!=b&&(!Number.isInteger(b)||b<0))throw new f("maxRedirections must be a positive number");let c=a.dispatch.bind(a);return(a,d)=>c(a,new i(c,b,a,d))}constructor(a,b,c,e){if(null!=b&&(!Number.isInteger(b)||b<0))throw new f("maxRedirections must be a positive number");if(null!=c.throwOnMaxRedirect&&"boolean"!=typeof c.throwOnMaxRedirect)throw new f("throwOnMaxRedirect must be a boolean");this.dispatch=a,this.location=null;const{maxRedirections:g,stripHeadersOnRedirect:h,stripHeadersOnCrossOriginRedirect:i,...j}=c;this.opts=j,this.opts.body=d.wrapRequestBody(this.opts.body),this.stripHeadersOnRedirect=k(h,"stripHeadersOnRedirect"),this.stripHeadersOnCrossOriginRedirect=k(i,"stripHeadersOnCrossOriginRedirect"),this.maxRedirections=b,this.handler=e,this.history=[]}onRequestStart(a,b){this.handler.onRequestStart?.(a,{...b,history:this.history})}onRequestUpgrade(a,b,c,d){this.handler.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,i){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw Error("max redirects");let k=303===b;if((301===b||302===b)&&"POST"===this.opts.method&&(this.opts.method="GET",d.isStream(this.opts.body)&&d.destroy(this.opts.body.on("error",h)),this.opts.body=null,k=!0),303===b&&"HEAD"!==this.opts.method&&(this.opts.method="GET",d.isStream(this.opts.body)&&d.destroy(this.opts.body.on("error",h)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||d.isDisturbed(this.opts.body)||-1===g.indexOf(b)?null:c.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return void this.handler.onResponseStart?.(a,b,c,i);let{origin:l,pathname:m,search:n}=d.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),o=n?`${m}${n}`:m,p=`${l}${o}`;for(let a of this.history)if(a.toString()===p)throw new f(`Redirect loop detected. Cannot redirect to ${l}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=function(a,b,c,f,g){let h=[];if(Array.isArray(a))for(let d=0;d<a.length;d+=2)j(a[d],b,c,f,g)||h.push(a[d],a[d+1]);else if(a&&"object"==typeof a)for(let[e,i]of d.hasSafeIterator(a)?a:Object.entries(a))j(e,b,c,f,g)||h.push(e,i);else e(null==a,"headers must be an object or an array");return h}(this.opts.headers,k,this.opts.origin!==l,this.stripHeadersOnRedirect,this.stripHeadersOnCrossOriginRedirect),this.opts.path=o,this.opts.origin=l,this.opts.query=null}onResponseData(a,b){this.location||this.handler.onResponseData?.(a,b)}onResponseEnd(a,b){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(a,b)}onResponseError(a,b){this.handler.onResponseError?.(a,b)}}function j(a,b,c,e,f){let g=d.headerNameToString(a);return!!("host"===g||e?.has(g)||c&&f?.has(g)||b&&g.startsWith("content-"))||!!c&&("authorization"===g||"cookie"===g||"proxy-authorization"===g)}function k(a,b){if(null==a)return null;if(!Array.isArray(a))throw new f(`${b} must be an array`);let c=new Set;for(let e of a){if("string"!=typeof e)throw new f(`${b} must contain header names`);c.add(d.headerNameToString(e))}return c}a.exports=i},68531:(a,b,c)=>{"use strict";let d=c(34589),{URLSerializer:e}=c(16537),{isValidHeaderName:f}=c(42425);a.exports={urlEquals:function(a,b,c=!1){return e(a,c)===e(b,c)},getFieldValues:function(a){d(null!==a);let b=[];for(let c of a.split(","))f(c=c.trim())&&b.push(c);return b}}},68753:(a,b,c)=>{"use strict";c.d(b,{my:()=>M});var d=c(48991),e=c(46956);async function f(a){try{await a?.body?.cancel?.()}catch{}}async function g(a,b={}){let c=b.fetchImpl||fetch;if("string"!=typeof a||!a.trim())return null;try{let d,e=await c("https://api.blackbox.ai/key/info",{method:"GET",headers:(d={Accept:"application/json","Content-Type":"application/json"},"string"==typeof a&&a.trim()&&(d.Authorization=`Bearer ${a.trim()}`),d),signal:function(a={}){return a.signal?a.signal:AbortSignal.timeout(a.timeoutMs||8e3)}(b)});if(!e.ok)return await f(e),null;let g=await e.json();return g?.info||g||null}catch{return null}}async function h(a,b={}){let c=await g(a,b);if(!c)return{plan:"Blackbox API",message:"Blackbox spend data is unavailable for this key.",quotas:{},trackingMode:"unavailable"};let d=Number(c.spend),e=Number(c.max_budget),f=Number.isFinite(d)&&d>=0?d:0,i=Number.isFinite(e)&&e>0,j=i?e:0,k=i?Math.max(0,j-f):null,l=i?Math.max(0,Math.min(100,k/j*100)):100;return{plan:"Blackbox API",quotas:{Spend:{used:f,total:j,...null==k?{}:{remaining:k},remainingPercentage:l,unlimited:!1,unit:"USD",resetAt:c.budget_reset_at||c.expires||null,displayName:i?"API Budget":"API Spend"}},trackingMode:"upstream",spend:f,maxBudget:i?e:null}}function i(a,b=0){let c="string"==typeof a&&a.trim()?Number(a):a;return Number.isFinite(c)?c:b}function j(a,b){return{plan:a,quotas:{Credits:{used:1,total:1,remaining:0,remainingPercentage:0,resetAt:null,unlimited:!1}},authoritative:!0,limitReached:!0,message:b}}function k(a){let b=Error(a);return b.name="AbortError",b.code="USAGE_REQUEST_ABORTED",b}async function l(a,b={}){let c,d=new AbortController,e=b.parentSignal,f=Number.isFinite(b.timeoutMs)&&b.timeoutMs>0?b.timeoutMs:15e3,g=new Promise((a,b)=>{c=b}),h=a=>{let b=a instanceof Error?a:k("Usage request aborted");d.signal.aborted||d.abort(b),c(b)},i=()=>h(e.reason);e?.aborted?h(e.reason):e?.addEventListener("abort",i,{once:!0});let j=setTimeout(()=>h(k(`Usage request timed out after ${f}ms`)),f);j.unref?.();try{return await Promise.race([Promise.resolve().then(()=>a(d.signal)),g])}finally{clearTimeout(j),e?.removeEventListener("abort",i)}}function m(a){let b=Math.round(100*Math.max(0,Math.min(1,Number(a)||0))),c=100-b;return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:null,unlimited:!1}}function n(){return{quotaFetchFailed:!0,message:"Ollama Cloud usage temporarily unavailable."}}async function o(a,b=null){let c=a?.apiKey||a?.accessToken;if(!c)return{message:"Ollama Cloud API key not available."};let d={Authorization:`Bearer ${c}`,Accept:"application/json"};try{return await l(async a=>{let c=await (0,e.proxyAwareFetch)("https://ollama.com/api/usage",{method:"GET",headers:d,signal:a},b);if(401===c.status||403===c.status)return{authError:!0,accountDead:!0,message:"Ollama Cloud API key invalid or expired."};if(402===c.status||429===c.status)return j("Ollama Cloud","Ollama Cloud credits are exhausted.");if(!c.ok)return n();let f=await c.json().catch(()=>null);if(!f||"object"!=typeof f)return n();let g=await (0,e.proxyAwareFetch)("https://ollama.com/api/me",{method:"POST",headers:{...d,"Content-Length":"0"},signal:a},b).then(a=>a.ok?a.json():null).catch(b=>{if(a.aborted)throw b;return null}),h="string"==typeof g?.Plan?g.Plan.trim():"",i=h?h.charAt(0).toUpperCase()+h.slice(1).toLowerCase():"Ollama Cloud",k=f.limits&&"object"==typeof f.limits?f.limits:{},l={};return(Number.isFinite(Number(k.session?.usage))&&(l["Session (5h)"]=m(k.session.usage)),Number.isFinite(Number(k.weekly?.usage))&&(l["Weekly (7d)"]=m(k.weekly.usage)),0===Object.keys(l).length)?{plan:i,quotas:l,authoritative:!0,message:"Ollama Cloud connected. No usage limits reported."}:{plan:i,quotas:l,authoritative:!0}},{parentSignal:b?.signal})}catch{return n()}}let p={LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"};function q(){return{quotaFetchFailed:!0,message:"Kimi usage temporarily unavailable."}}function r(a,b,c,d){let e=Math.max(0,i(b)),f=Math.max(0,i(a)),g=Math.max(0,i(c,e-f));return{used:f,total:e,remaining:g,remainingPercentage:e>0?Math.min(100,g/e*100):0,resetAt:function(a){if(null==a||""===a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a||/^\d+$/.test(String(a))){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}catch{return null}}(d),unlimited:!1}}async function s(a,b=null){let c="string"==typeof a?.apiKey?a.apiKey.trim():"",f="string"==typeof a?.accessToken?a.accessToken.trim():"";if(!c&&!f)return{message:"Kimi access token or API key not available."};let g=c?{"x-api-key":c}:{Authorization:`Bearer ${f}`,...(0,d.VK)(a?.providerSpecificData?.deviceId)};try{return await l(async a=>{let c,d=await (0,e.proxyAwareFetch)("https://api.kimi.com/coding/v1/usages",{method:"GET",headers:{...g,Accept:"application/json","Content-Type":"application/json"},signal:a},b),f=await d.text().catch(()=>"");if(401===d.status)return{authError:!0,accountDead:!0,message:"Kimi authentication expired. Please re-authorize."};if(403===d.status)return{plan:"Kimi Coding",quotaFetchFailed:!0,usageUnavailable:!0,message:"Kimi connected, but this account has no permission to view usage."};if(402===d.status||429===d.status)return j("Kimi Coding","Kimi credits are exhausted.");if(!d.ok)return q();try{c=JSON.parse(f||"{}")}catch{return q()}let h={},k=c.usage&&"object"==typeof c.usage?c.usage:{},l=i(k.limit??k.Limit);l>0&&(h.Weekly=r(k.used??k.Used,l,k.remaining??k.Remaining,k.resetTime??k.ResetTime??k.reset_at??k.resetAt));let m=(Array.isArray(c.limits)?c.limits:[]).filter(a=>{let b=a?.detail&&"object"==typeof a.detail?a.detail:{};return i(b.limit??b.Limit)>0}),n=new Set;for(let[a,b]of m.entries()){let c=b?.detail&&"object"==typeof b.detail?b.detail:{},d=i(c.limit??c.Limit),e=i(c.remaining??c.Remaining,d);h[function(a,b,c,d){if(1===c)return"Ratelimit";let e=a?.name??a?.type??a?.window??a?.detail?.name??a?.detail?.type??a?.detail?.window,f="string"==typeof e?e.replace(/[^a-zA-Z0-9._ -]/g," ").replace(/\s+/g," ").trim().slice(0,48):"",g=f?`Ratelimit (${f})`:`Ratelimit ${b+1}`,h=g,i=2;for(;d.has(h);)h=`${g} ${i++}`;return d.add(h),h}(b,a,m.length,n)]=r(Math.max(0,d-e),d,e,c.resetTime??c.reset_at??c.resetAt)}let o=c.user?.membership?.level;return{plan:p[o]||(o?String(o).replace(/^LEVEL_/,"").toLowerCase():"Kimi Coding"),quotas:h,authoritative:!0,...0===Object.keys(h).length?{message:"Kimi connected. No usage limits reported."}:{}}},{parentSignal:b?.signal})}catch{return q()}}function t(){return{quotaFetchFailed:!0,message:"DeepSeek balance temporarily unavailable."}}async function u(a,b=null){let c="string"==typeof a?.apiKey?a.apiKey.trim():"";if(!c)return{message:"DeepSeek API key not available. Add a key to view usage."};try{return await l(async a=>{let d=await (0,e.proxyAwareFetch)("https://api.deepseek.com/user/balance",{method:"GET",headers:{Authorization:`Bearer ${c}`,Accept:"application/json","Content-Type":"application/json"},signal:a},b);if(401===d.status||403===d.status)return{authError:!0,accountDead:!0,message:"DeepSeek authentication failed. Check the API key."};if(402===d.status||429===d.status)return j("DeepSeek","DeepSeek balance is exhausted.");if(!d.ok)return t();let f=await d.json().catch(()=>null);if(!f||"object"!=typeof f)return t();let g={};for(let a of Array.isArray(f.balance_infos)?f.balance_infos:[]){if(!a||"object"!=typeof a)continue;let b="string"==typeof a.currency?a.currency.trim().toUpperCase():"";if(!b)continue;let c=Math.max(0,i(a.total_balance??a.totalBalance));g[`Balance (${b})`]={used:0,total:c,remaining:c,remainingPercentage:100*(c>0),resetAt:null,unlimited:!1,unit:b,grantedBalance:Math.max(0,i(a.granted_balance??a.grantedBalance)),toppedUpBalance:Math.max(0,i(a.topped_up_balance??a.toppedUpBalance))}}if(0===Object.keys(g).length)return{plan:"DeepSeek",quotas:g,authoritative:!0,message:"DeepSeek connected. No balance data returned."};let h=!0===f.is_available||!0===f.isAvailable;return{plan:h?"DeepSeek":"DeepSeek (Insufficient Balance)",quotas:g,authoritative:!0,limitReached:!h}},{parentSignal:b?.signal})}catch{return t()}}var v=c(32185),w=c(76394);function x(a,b){let c=Math.max(0,Number(a?.total)||0),d=Math.max(0,Number(a?.used)||0),e=Math.max(0,Number(a?.remaining)||0);return{total:c,used:d,remaining:e,remainingPercentage:c>0?Math.min(100,e/c*100):0,unit:a?.unit||"credits",resetAt:b,unlimited:!1}}function y(){return{quotaFetchFailed:!0,message:"Qoder usage temporarily unavailable."}}async function z(a,b=null){try{return await l(async c=>{let d;try{d=await (0,w.iC)(a,{proxyOptions:b,signal:c})}catch(a){if(a?.status===401||a?.status===403)return{authError:!0,accountDead:!0,message:"Qoder PAT was rejected. Add a valid Personal Access Token."};throw a}if(!d?.accessToken)return{message:"Qoder usage unavailable: no access token"};let f=await (0,e.proxyAwareFetch)(v.x_,{method:"GET",headers:{Authorization:`Bearer ${d.accessToken}`,Accept:"application/json"},signal:c},b);if(401===f.status||403===f.status)return{authError:!0,accountDead:!0,message:"Qoder authentication expired. Reconnect this account."};if(!f.ok)return y();let g=await f.json().catch(()=>null);if(!g||"object"!=typeof g)return y();let h=Number(g.expiresAt),i=Number.isFinite(h)&&h>0?new Date(h).toISOString():null,j={user:x(g.userQuota,i)};return Number(g.orgResourcePackage?.total)>0&&(j.organization=x(g.orgResourcePackage,i)),{quotas:j,totalUsagePercentage:Number(g.totalUsagePercentage)||0,isQuotaExceeded:!0===g.isQuotaExceeded,limitReached:!0===g.isQuotaExceeded,expiresAt:Number.isFinite(h)?h:null,authoritative:!0}},{parentSignal:b?.signal})}catch(a){return y()}}var A=c(77598);let B=new Map,C={key:"gemini_weekly",displayName:"Gemini Weekly"},D={key:"claude_gpt_weekly",displayName:"Claude / GPT Weekly"};function E(a){return(0,A.createHash)("sha256").update(a).digest("hex")}async function F(a,b,c=null,{fetchImpl:f=e.proxyAwareFetch,now:g=Date.now,digestImpl:h=E}={}){let i;try{i=h(`${a}\0${b||""}`);let c=B.get(i);if(c instanceof Promise)return c;if(c&&c.expiresAt>g())return c.result;c&&B.delete(i)}catch{return{}}let j=(async()=>{let e=new AbortController,h=setTimeout(()=>e.abort(),1e4);try{let h=await f("https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaSummary",{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":(0,d.P0)(),"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify(b?{project:b}:{}),signal:e.signal},c);if(!h?.ok)return B.delete(i),{};let j=function(a){let b=Array.isArray(a?.groups)?a.groups:a?.quotaSummary?.groups;if(!Array.isArray(b))return{};let c={};for(let a of b){if(a?.disabled)continue;let b=function(a){let b=[a?.id,a?.name,a?.displayName].filter(a=>"string"==typeof a).join(" ").toLowerCase();return b.includes("gemini")?C:b.includes("claude")||b.includes("gpt")?D:null}(a);if(b&&!c[b.key])for(let d of Array.isArray(a?.buckets)?a.buckets:[]){if(d?.disabled||"weekly"!==String(d?.period||"").toLowerCase()&&"p7d"!==String(d?.duration||"").toLowerCase())continue;let a=Number(d?.remainingFraction);if(d?.remainingFraction==null||!Number.isFinite(a))continue;let e=Math.min(1,Math.max(0,a)),f=Math.round(1e3*e);c[b.key]={used:Math.max(0,1e3-f),total:1e3,remainingPercentage:100*e,resetAt:function(a){if(null==a||""===a)return null;let b="number"==typeof a&&a<1e12?1e3*a:a,c="number"==typeof b?b:Date.parse(b);return Number.isFinite(c)?new Date(c).toISOString():null}(d?.resetTime),unlimited:!1,displayName:b.displayName,quotaSource:"retrieveUserQuotaSummary",routingAuthoritative:!1};break}}return c}(await h.json());if(0===Object.keys(j).length)return B.delete(i),{};return B.set(i,{result:j,expiresAt:g()+18e4}),j}catch{return B.delete(i),{}}finally{clearTimeout(h)}})();return B.set(i,j),j}let G={international:"https://api.z.ai/api/monitor/usage/quota/limit",china:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"},H={minimax:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"],"minimax-cn":["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]},I={quotaApiHosts:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],fetchAvailableModelsPath:"/v1internal:fetchAvailableModels",retrieveUserQuotaPath:"/v1internal:retrieveUserQuota",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token",clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",userAgent:(0,d.A9)(),quotaUserAgent:(0,d.P0)()},J=["gemini-3.8-flash-high","gemini-3.8-flash-medium","gemini-3.8-flash-low","gemini-3.7-flash-high","gemini-3.7-flash-medium","gemini-3.7-flash-low","gemini-3.6-flash-high","gemini-3.6-flash-medium","gemini-3.6-flash-low","gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash"],K="2023-06-01",L={free:"TCACA_code_001_PqouKr6QWV",proMon:"TCACA_code_002_AkiJS3ZHF5",gift:"TCACA_code_006_DbXS0lrypC",activity:"TCACA_code_007_nzdH5h4Nl0",proYear:"TCACA_code_003_FAnt7lcmRT",freeMon:"TCACA_code_008_cfWoLwvjU4",extra:"TCACA_code_009_0XmEQc2xOf"};async function M(a,b=null){let{provider:c,accessToken:d,apiKey:f,providerSpecificData:g,projectId:i}=a,j={...g||{},...i?{projectId:i}:{}};switch(c){case"github":return await T(d,g,b);case"gemini-cli":return await V(d,j,b);case"antigravity":return await Z(d,j,b);case"claude":return await aa(d,b);case"codex":return await ah(d,b);case"kiro":return await ai(d,g,b);case"codebuddy":case"codebuddy-cn":return await O(d,g,b,f,c);case"qoder":return await z(a,b);case"autoclaw":return await at(d,b,a);case"qwen":return await aj(d,g);case"iflow":return await ak(d);case"ollama":return await o(a,b);case"kimi":case"kimi-coding":return await s(a,b);case"deepseek":return await u(a,b);case"glm":case"glm-cn":return await al(f,c,b);case"minimax":case"minimax-cn":return await as(f,c,b);case"grok-cli":return await ax(d,g,b);case"cloudflare-ai":return await au(f||d,g,b);case"xai":return await aC(d||f,g,b);case"cline":case"clinepass":return await aA({accessToken:d,apiKey:f},c,b);case"kimchi":return await aB(d||f,g,b);case"blackbox":return await h(f||d,{fetchImpl:(a,c)=>(0,e.proxyAwareFetch)(a,c,b)});case"cursor":return await aD(d,g);default:return{message:`Usage API not implemented for ${c}`}}}async function N(a,b={},c=null,d="codebuddy"){let f=b?.uid||b?.rawAuth?.uid;if(f)return{uid:f,enterpriseId:b?.enterpriseId||null};let g=b?.domain||b?.rawAuth?.domain||("codebuddy-cn"===d?"www.codebuddy.cn":"www.codebuddy.ai");try{let b=await (0,e.proxyAwareFetch)(`https://${g}/v2/plugin/accounts`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","X-Domain":g}},c);if(!b.ok)return{uid:null,enterpriseId:null};let d=await b.json(),f=d?.data?.accounts||[],h=f.find(a=>a.lastLogin)||f[0]||{};return{uid:h.uid||null,enterpriseId:h.enterpriseId||null}}catch{return{uid:null,enterpriseId:null}}}async function O(a,b={},c=null,d=null,f="codebuddy"){let g=b?.authMode==="generated-api-key",h=a||d,i=a?"oauth":d?"api-key":null;if(!h)return{plan:"CodeBuddy",message:"CodeBuddy upstream quota is unavailable because no valid IDE OAuth token or API key is stored.",quotas:{},trackingMode:"unavailable"};try{let a,j,{uid:k,enterpriseId:l}=await N(h,b,c,f),m=await (0,e.proxyAwareFetch)(function(a={},b="codebuddy"){let c=a?.domain||a?.rawAuth?.domain||("codebuddy-cn"===b?"www.codebuddy.cn":"www.codebuddy.ai");return`https://${c}/v2/billing/meter/get-user-resource`}(b,f),{method:"POST",headers:function(a,b={},c=null,d=null,e=null){let f={Authorization:`Bearer ${a}`,Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9","Content-Type":"application/json","X-Domain":b?.domain||b?.rawAuth?.domain||"www.codebuddy.ai"};return e&&(f["X-Api-Key"]=e),c&&(f["X-User-Id"]=c),d&&(f["X-Enterprise-Id"]=d,f["X-Tenant-Id"]=d),f}(h,b,k,l,d),body:JSON.stringify((a=new Date,(j=new Date(a)).setFullYear(j.getFullYear()+101),{PageNumber:1,PageSize:200,ProductCode:"p_tcaca",Status:[0,3],PackageEndTimeRangeBegin:Q(a),PackageEndTimeRangeEnd:Q(j)}))},c),n=await m.text(),o=null;try{o=n?JSON.parse(n):null}catch{o=null}if(401===m.status||403===m.status){if("oauth"===i)return{plan:"CodeBuddy",message:`CodeBuddy IDE OAuth token was rejected (${m.status}). Upstream quota is unavailable; use ZevaiRouter Usage for local request and token tracking.`,quotas:{},authMode:"oauth-rejected",trackingMode:"local-router"};return{plan:"CodeBuddy",message:"CodeBuddy chat key active. Upstream quota is unavailable without a valid IDE OAuth token; use ZevaiRouter Usage for local request and token tracking.",quotas:{},authMode:g?"generated-api-key":"api-key",trackingMode:"local-router"}}if(!m.ok){let a=408===m.status||425===m.status||429===m.status||m.status>=500;return{plan:"CodeBuddy",message:`CodeBuddy quota endpoint returned ${m.status}.`,quotas:{},...a?{quotaFetchFailed:!0}:{}}}return{...function(a){let b=a?.data?.Response?.Data||a?.Response?.Data||a?.data||a||{},c=Array.isArray(b?.Accounts)?b.Accounts:Array.isArray(b?.accounts)?b.accounts:[];if(0===c.length)return{plan:"CodeBuddy",message:"CodeBuddy connected. No quota records were returned.",quotas:{}};let d=a=>{let b=P(a.CycleEndTime);return b?new Date(b).getTime():1/0},e=a=>{let b=d(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},f=(a,b)=>d(a)-d(b),g=c.filter(e).sort(f),h=c.filter(a=>!e(a)).sort(f),i={},j=!1,k=(a,b,{recurring:c})=>{var d,e;let f=function(a,{useCycle:b=!0}={}){let c=R(a,"Cycle"),d=function(a,b,c){return c?a||b:a&&b?a.precision!==b.precision?a.precision>b.precision?a:b:Math.abs(a.values.total-b.values.total)>=1e-9||Math.abs(a.values.used-b.values.used)>=1e-9||Math.abs(a.values.remaining-b.values.remaining)>=1e-9?a:b:b||a}(c,R(a,""),b);return d?{...d.values,resetAt:P(a.CycleEndTime||a.DeductionEndTime||a.ExpiredTime)}:null}(b,{useCycle:c});f&&((b.PackageCode===L.proMon||b.PackageCode===L.proYear)&&(j=!0),i[a]||(i[a]={used:0,total:0,remaining:0,resetAt:null,unit:"credits",unlimited:!1,recurring:c}),i[a].used+=f.used,i[a].total+=f.total,i[a].remaining+=f.remaining,i[a].resetAt=(d=i[a].resetAt,e=f.resetAt,d?e&&new Date(e).getTime()<new Date(d).getTime()?e:d:e||null),i[a].recurring=i[a].recurring&&c)};for(let a of g)k("Monthly Credits",a,{recurring:!0});for(let a of h)k("Bonus Credits",a,{recurring:!1});if(h.length>0&&i["Bonus Credits"]&&(i["Bonus Credits"].packCount=h.length),0===Object.keys(i).length)for(let a of c){if(!a||"object"!=typeof a)continue;let b=function(a){switch(a){case L.free:case L.freeMon:case L.proMon:case L.proYear:return"Monthly Credits";case L.gift:return"Gift Credits";case L.extra:return"Extra Credits";case L.activity:return"Activity Credits";default:return a?"Other Credits":null}}(a.PackageCode)||"Other Credits",c="Activity Credits"!==b&&"Gift Credits"!==b;k(c?"Monthly Credits":"Bonus Credits",a,{recurring:c})}if(0===Object.keys(i).length)return{plan:j?"Pro":"Free",message:"CodeBuddy connected. Unable to extract quota values.",quotas:{}};for(let a of Object.values(i))a.remainingPercentage=a.total>0?Math.max(0,Math.min(100,a.remaining/a.total*100)):0;return{plan:j?"Pro":"Free",quotas:i}}(o),authMode:i}}catch(a){return{plan:"CodeBuddy",message:`CodeBuddy connected. Unable to fetch quota: ${a.message}`,quotas:{},quotaFetchFailed:!0}}}function P(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function Q(a){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}-${b(a.getMonth()+1)}-${b(a.getDate())} ${b(a.getHours())}:${b(a.getMinutes())}:${b(a.getSeconds())}`}function R(a,b){let c=S(a[`${b}CapacitySizePrecise`]),d=c??S(a[`${b}CapacitySize`]),e=S(a[`${b}CapacityUsedPrecise`]),f=S(a[`${b}CapacityRemainPrecise`]),g=e??(null===f?S(a[`${b}CapacityUsed`]):null),h=f??S(a[`${b}CapacityRemain`]);if(null===d||null===g&&null===h)return null;let i=Math.max(0,d),j=null!==g?Math.min(i,Math.max(0,g)):Math.max(0,i-Math.min(i,Math.max(0,h))),k=Math.max(0,i-j),l=null===h?null:Math.min(i,Math.max(0,h)),m=null!==l&&1e-9>Math.abs(j+l-i)?l:k;return{values:{total:i,used:j,remaining:m},precision:+(null!==c)+2*(null!==e||null!==f)}}function S(...a){for(let b of a){if(null==b||""===b)continue;let a=Number(b);if(Number.isFinite(a))return a}return null}async function T(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,e.proxyAwareFetch)("https://api.github.com/copilot_internal/user",{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let d=await b.json();if(d.quota_snapshots){let a=d.quota_snapshots,b=P(d.quota_reset_date);return{plan:d.copilot_plan,resetDate:d.quota_reset_date,quotas:{chat:{...U(a.chat),resetAt:b},completions:{...U(a.completions),resetAt:b},premium_interactions:{...U(a.premium_interactions),resetAt:b}}}}if(d.monthly_quotas||d.limited_user_quotas){let a=d.monthly_quotas||{},b=d.limited_user_quotas||{},c=P(d.limited_user_reset_date);return{plan:d.copilot_plan||d.access_type_sku,resetDate:d.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function U(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}async function V(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d,f=W(b?.projectId),g="Free";if(!f){let b=await X(a,c);f=W(b?.cloudaicompanionProject),g=b?.currentTier?.name||g}if(!f)return{plan:g,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let h=new AbortController,i=setTimeout(()=>h.abort(),1e4);try{d=await (0,e.proxyAwareFetch)("https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:f}),signal:h.signal},c)}finally{clearTimeout(i)}if(!d.ok)return{plan:g,message:`Gemini CLI quota error (${d.status}).`};let j=await d.json(),k={};if(Array.isArray(j.buckets))for(let a of j.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);k[a.modelId]={used:d,total:1e3,resetAt:P(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:g,quotas:k}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}function W(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function X(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.proxyAwareFetch)("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:d.Cn}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch{return null}finally{clearTimeout(f)}}async function Y(a,b,c,d){let f=null;for(let g of I.quotaApiHosts){let h=new AbortController,i=setTimeout(()=>h.abort(),1e4);try{let i=await (0,e.proxyAwareFetch)(`${g}${a}`,{method:"POST",headers:{Authorization:`Bearer ${b}`,"User-Agent":I.quotaUserAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify(c||{}),signal:h.signal},d);if(i.ok||401===i.status||403===i.status)return{response:i,host:g};f=Error(`Antigravity API error: ${i.status}`)}catch(a){f=a}finally{clearTimeout(i)}}if(f)throw f;throw Error("Antigravity API unavailable")}async function Z(a,b,c=null){try{let d,e=W(b?.projectId),f=await _(a,c),g=e||W(f?.cloudaicompanionProject),h=String(f?.paidTier?.id||"").toLowerCase(),i=!h||"free-tier"===h,j=async(b,d={})=>{let e=await F(a,g,c),f=Object.keys(e).length>0;return{...b,quotas:i&&f?e:{...d,...e}}};try{d=await Y(I.fetchAvailableModelsPath,a,g?{project:g}:{},c)}catch(a){return await j({message:`Antigravity quota unavailable: ${a.message}. Chat may still work.`})}let k=d.response;if(401===k.status){let a=await $(b,c);if(a)return{accountDead:!0,message:`Antigravity account ${a}. Reconnect won't help — recreate the account.`,quotas:{}};return await j({message:"Antigravity quota API authentication expired. Chat may still work."})}if(403===k.status)return await j({message:"Antigravity quota API access forbidden (tier may not expose quota). Chat may still work."});if(!k.ok)throw Error(`Antigravity API error: ${k.status}`);let l=await k.json(),m=new Map;try{let b=await Y(I.retrieveUserQuotaPath,a,g?{project:g}:{},c);if(b.response.ok){let a=await b.response.json();if(Array.isArray(a.buckets))for(let b of a.buckets){let a=String(b.modelId||"").trim();a&&m.set(a,b)}}}catch{}let n={};if(l.models)for(let[a,b]of Object.entries(l.models)){if(b.isInternal||!J.includes(a))continue;let c=m.get(a),d=c||b.quotaInfo;if(!d)continue;let e=Number(d.remainingFraction)||0,f=100*e,g=Math.round(1e3*e),h=Math.max(0,1e3-g);n[a]={used:h,total:1e3,resetAt:P(d.resetTime),remainingPercentage:f,unlimited:!1,displayName:b.displayName||a,quotaSource:c?"retrieveUserQuota":"fetchAvailableModels"}}let o=await j({},n);return{plan:f?.paidTier?.name||f?.currentTier?.name||"Unknown",...o,subscriptionInfo:f}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function $(a,b=null){let c=a?.refreshToken;if(!c)return null;try{let a,d=new AbortController,f=setTimeout(()=>d.abort(),1e4);try{a=await (0,e.proxyAwareFetch)(I.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:I.clientId,client_secret:I.clientSecret,refresh_token:c,grant_type:"refresh_token"}),signal:d.signal},b)}finally{clearTimeout(f)}if(a.ok)return null;let g=await a.json().catch(()=>({}));if("invalid_grant"===g.error){let a=(g.error_description||"").toLowerCase();if(a.includes("deleted"))return"has been deleted";if(a.includes("disabled")||a.includes("suspend"))return"is disabled/suspended";return"authorization was revoked"}return null}catch{return null}}async function _(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.proxyAwareFetch)(I.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":I.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify({metadata:d.Cn,mode:1}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}finally{clearTimeout(f)}}async function aa(a,b=null){try{let c=await (0,e.proxyAwareFetch)("https://api.anthropic.com/api/oauth/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":K}},b);if(c.ok){let a=await c.json(),b={},d=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,e=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:P(a.resets_at),unlimited:!1}};for(let[c,f]of(d(a.five_hour)&&(b["session (5h)"]=e(a.five_hour)),d(a.seven_day)&&(b["weekly (7d)"]=e(a.seven_day)),Object.entries(a)))if(c.startsWith("seven_day_")&&"seven_day"!==c&&d(f)){let a=c.replace("seven_day_","");b[`weekly ${a} (7d)`]=e(f)}return{plan:"Claude Code",extraUsage:a.extra_usage??null,quotas:b}}return console.warn(`[Claude Usage] OAuth endpoint returned ${c.status}, falling back to legacy`),await ab(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function ab(a,b=null){try{let c=await (0,e.proxyAwareFetch)("https://api.anthropic.com/v1/settings",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":K}},b);if(c.ok){let d=await c.json();if(d.organization_id){let c=await (0,e.proxyAwareFetch)("https://api.anthropic.com/v1/organizations/{org_id}/usage".replace("{org_id}",d.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":K}},b);if(c.ok){let a=await c.json();return{plan:d.plan||"Unknown",organization:d.organization_name,quotas:a}}}return{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}function ac(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function ad(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function ae(a,b){let c=ac(a?.limit_window_seconds??a?.limitWindowSeconds??a?.window_seconds??a?.windowSeconds,null);return null===c||c<=0?b:c<=86400?"session":c<=1209600?"weekly":c<=3888e3?"monthly":b}function af(a){let b=Math.max(0,Math.min(100,ac(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:P(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function ag(a,b,c){let d=ad(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;if(e){let c=ae(e,"session");a[b?`${b}_${c}`:c]=af(e),g=!0}if(f){let c=ae(f,"weekly");a[b?`${b}_${c}`:c]=af(f),g=!0}return g}async function ah(a,b=null){try{let c=await (0,e.proxyAwareFetch)("https://chatgpt.com/backend-api/wham/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let d=await c.json(),f=d.rate_limit||d.rate_limits||d.rate_limits_by_limit_id?.codex||{},g=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(d),h=Math.max(0,ac(d.rate_limit_reset_credits?.available_count,0)),i={};return ag(i,"",f),ag(i,"review",g),{plan:d.plan_type||d.summary?.plan||"unknown",limitReached:ad(f)?.limit_reached||!1,reviewLimitReached:ad(g)?.limit_reached||!1,resetCredits:{availableCount:h},quotas:i}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function ai(a,b,c=null){let d=b?.authMethod||"builder-id",f="api_key"===d,g={...f?{tokentype:"API_KEY"}:{},..."external_idp"===d?{TokenType:"EXTERNAL_IDP"}:{}},h=f?b?.profileArn||"":b?.profileArn||"arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX",i=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),j=!1,k=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,e.proxyAwareFetch)(`https://codewhisperer.us-east-1.amazonaws.com/getUsageLimits?${i.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE-1.0.138","user-agent":"aws-sdk-js/1.0.0 KiroIDE-1.0.138",...g}},c)},{name:"codewhisperer-post",run:async()=>(0,e.proxyAwareFetch)("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...g},body:JSON.stringify({origin:"AI_EDITOR",...h?{profileArn:h}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...h?{profileArn:h}:{},resourceType:"AGENTIC_REQUEST"});return(0,e.proxyAwareFetch)(`https://q.us-east-1.amazonaws.com/getUsageLimits?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...g}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(j=!0),k.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=P(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,f=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:f,remaining:f-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,f=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:f,remaining:f-e,resetAt:P(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){k.push(`${b.name}:${a.message}`)}return j&&"idc"===d?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:j&&("google"===d||"github"===d)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:j?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:k.length>0?`Unable to fetch Kiro usage right now. (${k[k.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}async function aj(a,b){try{if(!b?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch Qwen usage."}}}async function ak(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}async function al(a,b,c=null){if(!a)return{message:"GLM API key not available."};let d=G["glm-cn"===b?"china":"international"];try{let b=await (0,e.proxyAwareFetch)(d,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i.session={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}function am(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function an(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function ao(a){return Math.max(0,Number(am(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function ap(a){return Math.max(0,Number(am(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function aq(a){return!!(ao(a)>0||ap(a)>0)||null!==an(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==an(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function ar(a,b,c,d,e,f,g,h,i,j){let k=d(c),l=an(c,g,h);if(k<=0&&null===l)return;let m=Math.max(0,Number(am(c,e,f))||0),n=k,o=m;k<=0&&(n=100,o=j?Math.round(l/100*n):Math.round(n*(1-l/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(n,o,function(a,b,c,d,e,f){let g=Number(am(a,c,d))||0;return g>0?new Date(b+g).toISOString():P(am(a,e,f))}(c,...i),j,l)}async function as(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let d=H[b]||[],f="";for(let b=0;b<d.length;b+=1){let g=d[b],h=b<d.length-1;try{let b=await (0,e.proxyAwareFetch)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),d=await b.text(),i={};if(d)try{i=JSON.parse(d)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${d}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,p=(Array.isArray(o)?o:[]).filter(aq);if(0===p.length)return{message:"MiniMax connected. No quota data was returned."};let q=Date.now(),r=g.includes("/coding_plan/remains"),s={};for(let a of p){let b=function(a){let b=String(am(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);ar(s,`${b} (5h)`,a,ao,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[q,"remains_time","remainsTime","end_time","endTime"],r),ar(s,`${b} (7d)`,a,ap,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[q,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],r)}if(0===Object.keys(s).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:s}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}async function at(a,b=null,d=null){if(!a)return{message:"AutoClaw usage unavailable: no access token"};try{let{AUTOCLAW_WALLET_ENDPOINT:f,buildAutoClawWalletHeaders:g}=await Promise.resolve().then(c.bind(c,73952)),h=await (0,e.proxyAwareFetch)(f,{method:"GET",headers:g(a)},b);if(!h.ok)return{message:`AutoClaw connected. Usage fetch returned ${h.status}.`};let i=await h.json().catch(()=>null);if(!i||0!==i.code)return{message:"AutoClaw connected. Unable to read balance."};let j=Number(i.data?.total_balance),k=Number.isFinite(j)?j:0,l=k;try{if(d?.id){let{getQuotaSnapshot:a}=await Promise.resolve().then(c.bind(c,70321)),b=await a(d.id),e=Number(b?.usage?.quotas?.points?.total)||0,f=Number(b?.usage?.quotas?.points?.remaining);l=Math.max(e,k,Number.isFinite(f)?f:0)}}catch{}let m=Math.max(0,l-k);return{quotas:{points:{total:l,used:m,remaining:k,unit:"points",resetAt:null}},totalUsagePercentage:l>0?Math.round(m/l*100):0,isQuotaExceeded:k<=0}}catch(a){return{message:`AutoClaw connected. Unable to fetch balance: ${a.message}`}}}async function au(a,b=null,c=null){let d=String(a||"").trim(),f=String(b?.accountId||"").trim();if(!d)return{message:"Cloudflare API token not available."};if(!f)return{message:"Cloudflare account ID missing. Re-import or edit the connection."};try{let a=await (0,e.proxyAwareFetch)("https://api.cloudflare.com/client/v4/user/tokens/verify",{method:"GET",headers:{Authorization:`Bearer ${d}`,Accept:"application/json"}},c);if(401===a.status||403===a.status)return{message:"Cloudflare API token invalid or expired. Re-import the account."};if(!a.ok){let b=await a.text().catch(()=>"");return{message:`Cloudflare token verify failed (${a.status})${b?`: ${b.slice(0,160)}`:""}`}}let g=await a.json().catch(()=>null),h=g?.result?.status||(g?.success?"active":"unknown"),i=b?.accountName||"";try{let a=await (0,e.proxyAwareFetch)(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(f)}`,{method:"GET",headers:{Authorization:`Bearer ${d}`,Accept:"application/json"}},c);if(a?.ok){let b=await a.json().catch(()=>null);i=b?.result?.name||i}}catch{}let j=f.length>10?`${f.slice(0,8)}…`:f;return{plan:i?`Workers AI \xb7 ${i}`:`Workers AI \xb7 ${j}`,quotas:{"Workers AI":{used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}},message:h&&"active"!==h?`Token status: ${h}. Cloudflare does not publish remaining free-tier neurons via API.`:"Token valid. CF does not expose remaining free-tier neurons via API — model rate limits still apply."}}catch(a){return{message:`Cloudflare usage error: ${a.message}`}}}function av(a,b=0){return null==a?b:"object"==typeof a&&!Array.isArray(a)&&"val"in a?ac(a.val,b):ac(a,b)}function aw({used:a,total:b,resetAt:c,unlimited:d=!1}){let e=Math.max(0,ac(b,0)),f=Math.max(0,ac(a,0));if(d||0===e)return{used:f,total:0,remainingPercentage:100*!!d,resetAt:c||null,unlimited:!0};let g=Math.max(0,e-f);return{used:f,total:e,remainingPercentage:g/e*100,resetAt:c||null,unlimited:!1}}async function ax(a,b=null,c=null){if(!a)return{message:"Grok CLI access token not available."};let d=function(a,b={}){let c=b||{},d={Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)","x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":"grok-pager","x-grok-client-version":"0.2.93"},e=c.email,f=c.userId||c.principalId;return e&&(d["x-email"]=e),f&&(d["x-userid"]=f),d}(a,b);try{let[a,b]=await Promise.all([(0,e.proxyAwareFetch)("https://cli-chat-proxy.grok.com/v1/billing?format=credits",{method:"GET",headers:d},c),(0,e.proxyAwareFetch)("https://cli-chat-proxy.grok.com/v1/user?include=subscription",{method:"GET",headers:d},c).catch(()=>null)]);if(401===a.status||403===a.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!a.ok){let b=await a.text().catch(()=>""),c=b?`: ${b.slice(0,200)}`:"";return{message:`Grok CLI billing API error (${a.status})${c}`}}let f=await a.json().catch(()=>null);if(!f||"object"!=typeof f)return{message:"Grok CLI billing response was not JSON."};let g=null;b?.ok&&(g=await b.json().catch(()=>null));let h=function(a,b=null){let c,d=a&&"object"==typeof a?a:{},e=d.config&&"object"==typeof d.config&&!Array.isArray(d.config)?d.config:d,f=P(e.billingPeriodEnd)||P(e.currentPeriod?.end)||P(d.billingPeriodEnd)||null,g={},h=av(e.onDemandCap??d.onDemandCap,NaN),i=av(e.onDemandUsed??d.onDemandUsed,NaN);if(Number.isFinite(h)&&h>0){let a=Number.isFinite(i)?Math.max(0,i):0;g["On-demand"]=aw({used:a,total:h,resetAt:f})}let j=av(e.monthlyLimit??d.monthlyLimit,NaN),k=av(e.used??d.used,NaN);Number.isFinite(j)&&j>0&&(g.Monthly=aw({used:Number.isFinite(k)?Math.max(0,k):0,total:j,resetAt:f}));let l=av(e.prepaidBalance??d.prepaidBalance,NaN);return Number.isFinite(l)&&l>0&&(g.Prepaid={used:0,total:l,remainingPercentage:100,resetAt:null,unlimited:!1}),(b?.hasGrokCodeAccess===!0||e?.isUnifiedBillingUser===!0)&&(g["Grok Code"]={used:0,total:0,remainingPercentage:100,resetAt:f,unlimited:!0}),0===Object.keys(g).length&&(g.Included={used:0,total:0,remainingPercentage:100,resetAt:f,unlimited:!0}),{plan:(c="string"==typeof b?.subscriptionTier?b.subscriptionTier.trim():"")?c.replace(/[_-]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()):b?.hasGrokCodeAccess===!0?"Grok Code":(e?.isUnifiedBillingUser,"Grok Build"),quotas:g,periodEnd:f}}(f,g);if(!h.quotas||0===Object.keys(h.quotas).length)return{plan:h.plan,message:"Grok Build connected, but no credit allotment was returned. Free promo may be exhausted — upgrade at https://grok.com/supergrok or add credits at https://grok.com/?_s=usage.",quotas:{}};return{plan:h.plan,quotas:h.quotas}}catch(a){return{message:`Grok CLI usage error: ${a.message}`}}}function ay(a,b=0,c=""){if(!a||"object"!=typeof a||b>4)return null;let d=[];for(let[e,f]of Object.entries(a)){let a=e.toLowerCase();if(f&&"object"==typeof f&&!Array.isArray(f)){let a=ay(f,b+1,c?`${c}.${e}`:e);a&&d.push(a);continue}if("number"!=typeof f&&"string"!=typeof f)continue;let g=ac(f,NaN);Number.isFinite(g)&&/(remaining|balance|credit|quota|limit|allowance|cap|used|spent|consumed)/i.test(a)&&d.push({key:c?`${c}.${e}`:e,name:e,value:g,kind:a})}return d.length?d:null}function az(a){if(!a?.length)return null;let b=b=>a.find(a=>b.test(a.kind)||b.test(a.name)),c=b(/remaining|balance|credit(?!s_used)/i),d=b(/limit|cap|allowance|total|quota(?!_used)/i),e=b(/used|spent|consumed/i);if(d&&Number(d.value)>0){let a=e?Math.max(0,Number(e.value)):c?Math.max(0,Number(d.value)-Number(c.value)):0,b=Math.max(0,Number(d.value)-a);return{used:a,total:Number(d.value),remainingPercentage:b/Number(d.value)*100,resetAt:null,unlimited:!1}}if(c&&Number(c.value)>=0){let a=Number(c.value);return{used:0,total:a>0?a:1,remainingPercentage:100*(a>0),resetAt:null,unlimited:!1}}return null}async function aA(a,b="cline",d=null){try{let{buildClineHeaders:f,resolveClineCredential:g}=await Promise.resolve().then(c.bind(c,43469)),{token:h,isApiKey:i}=g(a);if(!h)return{message:"Cline access token not available."};let j=f(h,{Accept:"application/json"},{isApiKey:i}),k=await (0,e.proxyAwareFetch)("https://api.cline.bot/api/v1/users/me",{method:"GET",headers:j},d);if(401===k.status||403===k.status)return{message:"Cline authentication expired. Please re-authorize."};if(!k.ok)return{message:`Cline user API error (${k.status})`};let l=await k.json().catch(()=>null);if(!l||"object"!=typeof l)return{message:"Cline user response was not JSON."};let m=l.data&&"object"==typeof l.data?l.data:l,n=m.email||m.user?.email||null,o=m.plan||m.subscription?.plan||m.subscription?.name||m.organization?.plan||m.organizations?.[0]?.plan||("clinepass"===b?"ClinePass":"Cline"),p=ay(m)||[],q=az(p),r={};q&&(r.Credits=q);let s=m.organizations||m.organization;if(!Object.keys(r).length&&s&&(r.Account={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}),!Object.keys(r).length)return{plan:"string"==typeof o?o:"Cline",email:n,message:"Cline connected. No credit allotment was returned by the account API.",quotas:{}};return{plan:"string"==typeof o?o:"Cline",email:n,quotas:r}}catch(a){return{message:`Cline usage error: ${a.message}`}}}async function aB(a,b=null,c=null){if(!a)return{message:"Kimchi access token not available."};try{let d=await (0,e.proxyAwareFetch)("https://app.kimchi.dev/api/v1/me",{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`,"User-Agent":"kimchi/0.1.50"}},c);if(401===d.status||403===d.status)return{message:"Kimchi authentication expired. Please re-authorize."};if(!d.ok)return{message:`Kimchi user API error (${d.status})`};let f=await d.json().catch(()=>null);if(!f||"object"!=typeof f)return{message:"Kimchi user response was not JSON."};let g=f.email||b?.username||null,h=f.plan||f.tier||f.subscription?.name||"Kimchi",i=ay(f)||[],j=az(i),k={};return j?k.Credits=j:k.Account={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0},{plan:"string"==typeof h?h:"Kimchi",email:g,quotas:k}}catch(a){return{message:`Kimchi usage error: ${a.message}`}}}async function aC(a,b=null,c=null){if(!a)return{message:"xAI token not available."};try{let d={Authorization:`Bearer ${a}`,Accept:"application/json"},f=0,g=null,h=null;for(let a of["https://api.x.ai/v1/api-key","https://api.x.ai/v1/models"]){let b=await (0,e.proxyAwareFetch)(a,{method:"GET",headers:d},c);if(f=b.status,401===b.status||403===b.status)return{message:"xAI authentication expired. Please re-authorize or update the API key."};if(b.ok){g=await b.json().catch(()=>null),h=a;break}}if(!g)return{message:`xAI API error (${f||"unknown"})`};let i=ay(g)||[],j=az(i),k={};j?k.Credits=j:(Array.isArray(g?.data)&&g.data.length,k.API={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0});let l=b?.email||null,m=g.name||g.api_key_name||g.team?.name||(h?.includes("api-key")?"xAI API Key":"xAI");return{plan:"string"==typeof m?m:"xAI",email:l,quotas:k}}catch(a){return{message:`xAI usage error: ${a.message}`}}}async function aD(a,b=null){if(!a)return{message:"Cursor access token not available."};let c=b?.plan||b?.membershipType||"Cursor",d=b?.email||null;try{let b=String(a).split(".");if(3===b.length){let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),e=a+"=".repeat((4-a.length%4)%4),f=JSON.parse(Buffer.from(e,"base64").toString("utf8"));d=d||f.email||f.preferred_username||null,c=f.plan||f.subscription||f.membershipType||f.tier||c}}catch{}return{plan:"string"==typeof c?c:"Cursor",email:d,quotas:{Session:{used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}}}}},68759:(a,b,c)=>{"use strict";let d;a=c.nmd(a);let{Buffer:e}=c(4573);Object.defineProperty(a,"exports",{get:()=>d||(d=e.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCq/ZAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==","base64"))})},69384:(a,b,c)=>{"use strict";c.d(b,{Hv:()=>j});var d=c(58500),e=c(8735),f=c(79154),g=c(46956),h=c(11484),i=c(32557);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}`)}}},69716:(a,b,c)=>{"use strict";let d=c(83204),{ResponseError:e}=c(61448);class f extends d{#O;#br;#bs;#e;#bt;constructor(a,{handler:b}){super(b)}#bu(a){return 0===(this.#br??"").indexOf(a)}onRequestStart(a,b){return this.#O=0,this.#br=null,this.#bs=null,this.#e=null,this.#bt="",super.onRequestStart(a,b)}onResponseStart(a,b,c,d){if(this.#O=b,this.#e=c,this.#br=c["content-type"],this.#O<400)return super.onResponseStart(a,b,c,d);(this.#bu("application/json")||this.#bu("text/plain"))&&(this.#bs=new TextDecoder("utf-8"))}onResponseData(a,b){if(this.#O<400)return super.onResponseData(a,b);this.#bt+=this.#bs?.decode(b,{stream:!0})??""}onResponseEnd(a,b){if(this.#O>=400){let b;if(this.#bt+=this.#bs?.decode(void 0,{stream:!1})??"",this.#bu("application/json"))try{this.#bt=JSON.parse(this.#bt)}catch{}let c=Error.stackTraceLimit;Error.stackTraceLimit=0;try{b=new e("Response Error",this.#O,{body:this.#bt,headers:this.#e})}finally{Error.stackTraceLimit=c}super.onResponseError(a,b)}else super.onResponseEnd(a,b)}onResponseError(a,b){super.onResponseError(a,b)}}a.exports=()=>a=>function(b,c){return a(b,new f(b,{handler:c}))}},69881:(a,b,c)=>{"use strict";c.d(b,{A:()=>h});var d=c(55511),e=c(69384),f=c(30395),g=c(65294);class h extends e.Hv{constructor(){super("commandcode",f.xq.commandcode)}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers||{},"x-session-id":(0,d.randomUUID)()},e=a?.apiKey||a?.accessToken;return e&&(c.Authorization=`Bearer ${e}`),b&&(c.Accept="text/event-stream"),c}async execute(a){var b,c;let d,e,f,h,i,j,k=await super.execute(a);return k?.response?.ok&&k.response.body&&(b=k.response,c=a.model,d=new TextDecoder,e=new TextEncoder,f="",h={model:c},i=(a,b)=>{if(a)for(let c of Array.isArray(a)?a:[a])null!=c&&b.enqueue(e.encode(`data: ${JSON.stringify(c)}
434
434
 
435
435
  `))},j=new TransformStream({transform(a,b){let c=(f+=d.decode(a,{stream:!0})).split("\n");for(let a of(f=c.pop()||"",c)){let c=a.trim();c&&i((0,g.convertCommandCodeToOpenAI)(c,h),b)}},flush(a){let b=f.trim();b&&i((0,g.convertCommandCodeToOpenAI)(b,h),a),a.enqueue(e.encode("data: [DONE]\n\n"))}}),k.response=new Response(b.body.pipeThrough(j),{status:b.status,statusText:b.statusText,headers:b.headers})),k}}},70106:(a,b,c)=>{"use strict";let{parseSetCookie:d}=c(5831),{stringify:e}=c(84698),{webidl:f}=c(32984),{Headers:g}=c(28665),h=f.brandCheckMultiple([g,globalThis.Headers].filter(Boolean));function i(a,b){f.argumentLengthCheck(arguments,2,"setCookie"),h(a);let c=e(b=f.converters.Cookie(b));c&&a.append("set-cookie",c,!0)}f.converters.DeleteCookieAttributes=f.dictionaryConverter([{converter:f.nullableConverter(f.converters.DOMString),key:"path",defaultValue:()=>null},{converter:f.nullableConverter(f.converters.DOMString),key:"domain",defaultValue:()=>null}]),f.converters.Cookie=f.dictionaryConverter([{converter:f.converters.DOMString,key:"name"},{converter:f.converters.DOMString,key:"value"},{converter:f.nullableConverter(a=>"number"==typeof a?f.converters["unsigned long long"](a):new Date(a)),key:"expires",defaultValue:()=>null},{converter:f.nullableConverter(f.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:f.nullableConverter(f.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:f.nullableConverter(f.converters.DOMString),key:"path",defaultValue:()=>null},{converter:f.nullableConverter(f.converters.boolean),key:"secure",defaultValue:()=>null},{converter:f.nullableConverter(f.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:f.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:f.sequenceConverter(f.converters.DOMString),key:"unparsed",defaultValue:()=>[]}]),a.exports={getCookies:function(a){f.argumentLengthCheck(arguments,1,"getCookies"),h(a);let b=a.get("cookie"),c={};if(!b)return c;for(let a of b.split(";")){let[b,...d]=a.split("=");c[b.trim()]=d.join("=")}return c},deleteCookie:function(a,b,c){h(a);let d="deleteCookie";f.argumentLengthCheck(arguments,2,d),b=f.converters.DOMString(b,d,"name"),c=f.converters.DeleteCookieAttributes(c),i(a,{name:b,value:"",expires:new Date(0),...c})},getSetCookies:function(a){f.argumentLengthCheck(arguments,1,"getSetCookies"),h(a);let b=a.getSetCookie();return b?b.map(a=>d(a)):[]},setCookie:i,parseCookie:function(a){return d(a=f.converters.DOMString(a))}}},70321:(a,b,c)=>{"use strict";c.d(b,{Iu:()=>d.Iu,KK:()=>d.KK,PX:()=>d.PX,Xx:()=>d.Xx,bI:()=>d.bI,getProviderConnectionById:()=>d.Mc,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,hr:()=>d.hr,iE:()=>d.iE,mt:()=>d.mt,mutateProviderConnection:()=>d.Op,tV:()=>d.tV,updateProviderConnection:()=>d.rj});var d=c(76816)},70459:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),{Console:e}=c(37540),f=process.versions.icu?"✅":"Y ",g=process.versions.icu?"❌":"N ";a.exports=class{constructor({disableColors:a}={}){this.transform=new d({transform(a,b,c){c(null,a)}}),this.logger=new e({stdout:this.transform,inspectOptions:{colors:!a&&!process.env.CI}})}format(a){let b=a.map(({method:a,path:b,data:{statusCode:c},persist:d,times:e,timesInvoked:h,origin:i})=>({Method:a,Origin:i,Path:b,"Status code":c,Persistent:d?f:g,Invocations:h,Remaining:d?1/0:e-h}));return this.logger.table(b),this.transform.read().toString()}}},70474:(a,b,c)=>{"use strict";c(42541)},70556:(a,b,c)=>{"use strict";c.d(b,{Ws:()=>t,kz:()=>p,GH:()=>r,Y8:()=>s});var d=c(42541);let e=/^[a-zA-Z0-9_-]+$/;function f(a=0,b=0,c=""){let d=c?`_${c.replace(/[^a-zA-Z0-9_-]/g,"")}`:"";return`call_msg${a}_tc${b}${d}`}function g(a){if(!a||"string"!=typeof a)return null;let b=a.replace(/[^a-zA-Z0-9_-]/g,"");return b.length>0?b:null}var h=c(61847),i=c(42946);let j=["text","image_url","image","input_audio","audio_url"];var k=c(19458),l=c(93745);let m=new Map,n=new Map,o=!1;function p(a,b,c,d){let e=`${a}:${b}`;c&&m.set(e,c),d&&n.set(e,d)}function q(){o||(o=!0,c(94026),c(15822),c(49065),c(42671),c(37582),c(76348),c(70884),c(20585),c(29101),c(65998),c(83010),c(40784),c(41222),c(87658),c(28113),c(50270),c(56248),c(77801),c(18686),c(23242),c(65294))}function r(a,b,c,n,o=!0,p=null,s=null,t=null,u=[],v=null,w=null,x=p?.runtimeTransport||null){q();let y=n;if(!function(a,b=[]){if(!b.length||!a.messages||!Array.isArray(a.messages))return;let c=new Set(["image_url","image"]),d=new Set(["audio_url","input_audio"]),e=a=>c.has(a)?b.includes("image"):!!d.has(a)&&b.includes("audio");for(let b of a.messages)Array.isArray(b.content)&&(b.content=b.content.filter(a=>!e(a.type)),0===b.content.length&&(b.content=""))}(y,u),(0,k.SZ)(y),!function(a){if(a.messages&&Array.isArray(a.messages))for(let b=0;b<a.messages.length;b++){let c=a.messages[b];if("assistant"===c.role&&c.tool_calls&&Array.isArray(c.tool_calls))for(let a=0;a<c.tool_calls.length;a++){let d=c.tool_calls[a];if(!d.id||!e.test(d.id)){let c=g(d.id);d.id=c||f(b,a,d.function?.name)}d.type||(d.type="function"),d.function?.arguments&&"string"!=typeof d.function.arguments&&(d.function.arguments=JSON.stringify(d.function.arguments))}if("tool"===c.role&&c.tool_call_id&&!e.test(c.tool_call_id)){let a=g(c.tool_call_id);c.tool_call_id=a||f(b,0)}if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let d=c.content[a];if("tool_use"===d.type&&d.id&&!e.test(d.id)){let c=g(d.id);d.id=c||f(b,a,d.name)}if("tool_result"===d.type&&d.tool_use_id&&!e.test(d.tool_use_id)){let c=g(d.tool_use_id);d.tool_use_id=c||f(b,a)}}}}(y),!function(a){if(!a.messages||!Array.isArray(a.messages))return;let b=[];for(let c=0;c<a.messages.length;c++){let d=a.messages[c],e=a.messages[c+1];b.push(d);let f=function(a){if("assistant"!==a.role)return[];let b=[];if(a.tool_calls&&Array.isArray(a.tool_calls))for(let c of a.tool_calls)c.id&&b.push(c.id);if(Array.isArray(a.content))for(let c of a.content)"tool_use"===c.type&&c.id&&b.push(c.id);return b}(d);if(0!==f.length&&e&&!function(a,b){if(!a||!b.length)return!1;if("tool"===a.role&&a.tool_call_id)return b.includes(a.tool_call_id);if("user"===a.role&&Array.isArray(a.content)){for(let c of a.content)if("tool_result"===c.type&&b.includes(c.tool_use_id))return!0}return!1}(e,f))for(let a of f)b.push({role:"tool",tool_call_id:a,content:""})}a.messages=b}(y),b===d.h.ANTIGRAVITY&&p&&(p._clientSessionId=(0,l.YC)(y,p,v,b)),a!==b){let e=a!==d.h.OPENAI&&b!==d.h.OPENAI?m.get(`${a}:${b}`):null;if(e)y=e(c,y,o,p,s);else{if(a!==d.h.OPENAI){let b=m.get(`${a}:${d.h.OPENAI}`);b&&(y=b(c,y,o,p),t?.logOpenAIRequest?.(y))}if(b!==d.h.OPENAI){let a=m.get(`${d.h.OPENAI}:${b}`);a&&(y=a(c,y,o,p,s))}}}if(b===d.h.OPENAI&&(y=function(a){if(!a.messages||!Array.isArray(a.messages))return a;if(a.messages=a.messages.map(a=>{if("developer"===a.role&&(a={...a,role:"system"}),"tool"===a.role||"assistant"===a.role&&a.tool_calls||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=[];for(let c of a.content)if("thinking"!==c.type&&"redacted_thinking"!==c.type){if(j.includes(c.type)){let{signature:a,cache_control:d,...e}=c;b.push(e)}else if("tool_use"===c.type)continue;else if("tool_result"===c.type){let{signature:a,cache_control:d,...e}=c;b.push(e)}}return 0===b.length&&b.push({type:"text",text:""}),{...a,content:b}}return a}),a.messages=a.messages.filter(a=>"tool"===a.role||"assistant"===a.role&&!!a.tool_calls||("string"==typeof a.content?""!==a.content.trim():!Array.isArray(a.content)||a.content.some(a=>"text"===a.type&&a.text?.trim()||"text"!==a.type))),a.tools&&Array.isArray(a.tools)&&0===a.tools.length&&delete a.tools,a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&(a.tools=a.tools.map(a=>"function"===a.type&&a.function?a:a.name&&(a.input_schema||a.description)?{type:"function",function:{name:a.name,description:String(a.description||""),parameters:a.input_schema||{type:"object",properties:{}}}}:a.functionDeclarations&&Array.isArray(a.functionDeclarations)?a.functionDeclarations.map(a=>({type:"function",function:{name:a.name,description:String(a.description||""),parameters:a.parameters||{type:"object",properties:{}}}})):a).flat()),a.tool_choice&&"object"==typeof a.tool_choice){let b=a.tool_choice;"auto"===b.type?a.tool_choice="auto":"any"===b.type?a.tool_choice="required":"tool"===b.type&&b.name&&(a.tool_choice={type:"function",function:{name:b.name}})}return a}(y)),b===d.h.CLAUDE){let a=p?.accessToken||p?.apiKey||null;y=(0,h.Bz)(y,s,a,v,x||{})}if("claude"===s){let a=p?.accessToken||p?.apiKey||null;if(a?.includes("sk-ant-oat")){let{body:a,toolNameMap:b}=(0,i.Az)(y);y=a,b?.size>0&&(y._toolNameMap=b)}}return y}function s(a,b,c,e){if(q(),b===a)return[c];let f=[c],g=null,h=a!==d.h.OPENAI&&b!==d.h.OPENAI?n.get(`${a}:${b}`):null;if(h){let a=h(c,e);return a?Array.isArray(a)?a:[a]:[]}if(a!==d.h.OPENAI){let b=n.get(`${a}:${d.h.OPENAI}`);if(b){f=[];let a=b(c,e);a&&(g=f=Array.isArray(a)?a:[a])}}if(b!==d.h.OPENAI){let a=n.get(`${d.h.OPENAI}:${b}`);if(a){let b=[];for(let c of f){let d=a(c,e);d&&b.push(...Array.isArray(d)?d:[d])}f=b}}return g&&b!==d.h.OPENAI&&a!==d.h.OPENAI&&(f._openaiIntermediate=g),f}function t(a){let b={messageId:null,model:null,textBlockStarted:!1,thinkingBlockStarted:!1,inThinkingBlock:!1,currentBlockIndex:null,toolCalls:new Map,finishReason:null,finishReasonSent:!1,usage:null,contentBlockIndex:-1};return a===d.h.OPENAI_RESPONSES?{...b,seq:0,responseId:`resp_${Date.now()}`,created:Math.floor(Date.now()/1e3),started:!1,nextOutputIndex:0,msgTextBuf:{},msgItemAdded:{},msgContentAdded:{},msgItemDone:{},msgOutputIndices:{},reasoningId:"",reasoningIndex:-1,reasoningBuf:"",reasoningPartAdded:!1,reasoningDone:!1,inThinking:!1,funcArgsBuf:{},funcNames:{},funcTypes:{},funcCallIds:{},funcArgsDone:{},funcItemDone:{},funcOutputIndices:{},completedSent:!1}:b}},70634:(a,b,c)=>{"use strict";let{MockNotMatchedError:d}=c(28998),{kDispatches:e,kMockAgent:f,kOriginalDispatch:g,kOrigin:h,kGetNetConnect:i,kTotalDispatchCount:j}=c(80830),{serializePathWithQuery:k,parseHeaders:l}=c(84285),{STATUS_CODES:m}=c(37067),{types:{isPromise:n}}=c(57975),{InvalidArgumentError:o}=c(61448),p=Symbol("request aborted");function q(a,b){return"string"==typeof a?a===b:a instanceof RegExp?a.test(b):"function"==typeof a&&!0===a(b)}function r(a){return Object.fromEntries(Object.entries(a).map(([a,b])=>[a.toLocaleLowerCase(),b]))}function s(a,b){if(Array.isArray(a)){for(let c=0;c<a.length;c+=2)if(a[c].toLocaleLowerCase()===b.toLocaleLowerCase())return a[c+1];return}return"function"==typeof a.get?a.get(b):r(a)[b.toLocaleLowerCase()]}function t(a){let b=a.slice(),c=[];for(let a=0;a<b.length;a+=2)c.push([b[a],b[a+1]]);return Object.fromEntries(c)}function u(a,b){if("function"==typeof a.headers)return Array.isArray(b)&&(b=t(b)),a.headers(b?r(b):{});if(void 0===a.headers)return!0;if("object"!=typeof b||"object"!=typeof a.headers)return!1;for(let[c,d]of Object.entries(a.headers))if(!q(d,s(b,c)))return!1;return!0}function v(a){if("string"!=typeof a)return a;let b=a.split("?",3);if(2!==b.length)return a;let c=new URLSearchParams(b.pop());return c.sort(),[...b,c.toString()].join("?")}function w(a){if(Buffer.isBuffer(a)||a instanceof Uint8Array)return a;if(a instanceof ArrayBuffer)return a;if(ArrayBuffer.isView(a))return new Uint8Array(a.buffer,a.byteOffset,a.byteLength);if("object"==typeof a)return JSON.stringify(a);else if(a)return a.toString();else return""}function x(a,b){let c=b.query?k(b.path,b.query):b.path,e="string"==typeof c?v(c):c,f=z(e),g=a.filter(({consumed:a})=>!a).filter(({path:a,ignoreTrailingSlash:b})=>b?q(z(v(a)),f):q(v(a),e));if(0===g.length)throw new d(`Mock dispatch not matched for path '${e}'`);if(0===(g=g.filter(({method:a})=>q(a,b.method))).length)throw new d(`Mock dispatch not matched for method '${b.method}' on path '${e}'`);if(0===(g=g.filter(({body:a})=>void 0===a||q(a,b.body))).length)throw new d(`Mock dispatch not matched for body '${b.body}' on path '${e}'`);if(0===(g=g.filter(a=>u(a,b.headers))).length){let a="object"==typeof b.headers?JSON.stringify(b.headers):b.headers;throw new d(`Mock dispatch not matched for headers '${a}' on path '${e}'`)}return g[0]}function y(a,b){let c=a.findIndex(a=>!!a.consumed&&function(a,{path:b,method:c,body:d,headers:e}){let f=q(a.path,b),g=q(a.method,c),h=void 0===a.body||q(a.body,d),i=u(a,e);return f&&g&&h&&i}(a,b));-1!==c&&a.splice(c,1)}function z(a){if("string"!=typeof a)return a;for(;a.endsWith("/");)a=a.slice(0,-1);return 0===a.length&&(a="/"),a}function A(a){let{path:b,method:c,body:d,headers:e,query:f}=a;return{path:b,method:c,body:d,headers:e,query:f}}function B(a){let b=Object.keys(a),c=[];for(let d=0;d<b.length;++d){let e=b[d],f=a[e],g=Buffer.from(`${e}`);if(Array.isArray(f))for(let a=0;a<f.length;++a)c.push(g,Buffer.from(`${f[a]}`));else c.push(g,Buffer.from(`${f}`))}return c}function C(a){return m[a]||"unknown"}function D(a,b){let c=A(a),d=x(this[e],c),f=this[e];d.timesInvoked++;let{timesInvoked:g,times:h}=d;d.consumed=!d.persist&&g>=h,d.pending=g<h;let i="function"==typeof b.onBodySent||"function"==typeof b.onRequestSent;if(d.data.callback&&(!i||null==a.body)){let{callback:e,...g}=d.data,h=e(a);if(n(h))return h.then(e=>{null==e||"object"!=typeof e?b.onResponseError(null,new o("reply options callback must return an object")):(d.data={...g,...e},E(f,d,c,a,b))},a=>{b.onResponseError(null,a)}),!0;if(null==h||"object"!=typeof h)throw new o("reply options callback must return an object");d.data={...g,...h}}return E(f,d,c,a,b)}function E(a,b,c,d,e){let{data:f,delay:g}=b;if(null!==f.error)return y(a,c),e.onResponseError(null,f.error),!0;let h=!1,i=null,j={paused:!1,rawHeaders:null,rawTrailers:null,pause(){this.paused=!0},resume(){this.paused=!1},abort:a=>{h||(h=!0,null!==i&&(clearTimeout(i),i=null),e.onResponseError?.(j,a))}},k=d;if(e.onRequestStart?.(j,null),h)return!0;let m=function(a,b,c,d){var e;if("function"!=typeof b.onBodySent&&"function"!=typeof b.onRequestSent)return a;if(null==a)return H(b,c,d)?a:p;if(a&&"function"==typeof a[Symbol.asyncIterator])return F(a,b,c,d);if("string"!=typeof(e=a)&&!Buffer.isBuffer(e)&&!ArrayBuffer.isView(e)&&"function"==typeof e[Symbol.iterator]){let e=[];for(let f of a)if(d()||(e.push(f),!G(b,c,f)||d()))return p;return H(b,c,d)?e:p}return d()||!G(b,c,a)?p:H(b,c,d)?a:p}(d.body,e,j,()=>h);if(n(m))return m.then(a=>{a!==p&&(a!==d.body&&(k={...d,body:a}),q())},a=>j.abort(a)),!0;if(m===p)return!0;function q(){if(f.callback){let d,{callback:g,...h}=f;try{d=g(k)}catch(b){y(a,c),e.onResponseError(null,b);return}if(n(d))return void d.then(c=>{null==c||"object"!=typeof c?e.onResponseError(null,new o("reply options callback must return an object")):(b.data={...h,...c},r(a,b.data))},a=>{e.onResponseError(null,a)});if(null==d||"object"!=typeof d)throw new o("reply options callback must return an object");return b.data={...h,...d},void r(a,b.data)}"number"==typeof g&&g>0?i=setTimeout(()=>{i=null,r(a)},g):r(a)}function r(a,b=f){if(h)return;let{statusCode:g,data:i,headers:m,trailers:o}=b,p=Array.isArray(d.headers)?t(d.headers):d.headers,q="function"==typeof i?i({...k,headers:p}):i;if(n(q))return q.then(c=>r(a,{...b,data:c}));if(h)return;let s=w(q),u=B(m??{}),v=B(o??{});j.rawHeaders=u,j.rawTrailers=v,e.onResponseStart?.(j,g,l(u),C(g)),e.onResponseData?.(j,Buffer.from(s)),e.onResponseEnd?.(j,l(v)),y(a,c)}return m!==d.body&&(k={...d,body:m}),q(),!0}async function F(a,b,c,d){let e=[];for await(let f of a)if(d()||(e.push(f),!G(b,c,f)||d()))return p;return H(b,c,d)?{async *[Symbol.asyncIterator](){yield*e}}:p}function G(a,b,c){try{return a.onBodySent?.(c),!0}catch(a){return b.abort(a),!1}}function H(a,b,c){try{return a.onRequestSent?.(),!c()}catch(a){return b.abort(a),!1}}function I(a,b){let c=new URL(b);return!0===a||!!(Array.isArray(a)&&a.some(a=>q(a,c.host)))}a.exports={getResponseData:w,getMockDispatch:x,addMockDispatch:function(a,b,c,d){let e={timesInvoked:0,times:1,persist:!1,consumed:!1,...d},f="function"==typeof c?{callback:c}:{...c},g={...e,...b,pending:!0,data:{error:null,...f}};return a.push(g),a[j]=(a[j]||0)+1,g},deleteMockDispatch:y,buildKey:A,generateKeyValues:B,matchValue:q,getResponse:async function a(a){let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString("utf8")},getStatusText:C,mockDispatch:D,buildMockDispatch:function(){let a=this[f],b=this[h],c=this[g];return function(f,g){if(a.isMockActive)try{D.call(this,f,g)}catch(h){if("UND_MOCK_ERR_MOCK_NOT_MATCHED"===h.code){let k=a[i](),l=this[e][j]||this[e].length,m=this[e].filter(({consumed:a})=>!a).length,n=`, ${m} interceptor(s) remaining out of ${l} defined`;if(!1===k)throw new d(`${h.message}: subsequent request to origin ${b} was not allowed (net.connect disabled)${n}`);if(I(k,b))c.call(this,"__mockAgentBodyForDispatch"in f?{...f,body:f.__mockAgentBodyForDispatch}:f,g);else throw new d(`${h.message}: subsequent request to origin ${b} was not allowed (net.connect is not enabled for this origin)${n}`)}else throw h}else c.call(this,f,g)}},checkNetConnect:I,buildAndValidateMockOptions:function(a){let{agent:b,...c}=a;if("enableCallHistory"in c&&"boolean"!=typeof c.enableCallHistory)throw new o("options.enableCallHistory must to be a boolean");if("acceptNonStandardSearchParameters"in c&&"boolean"!=typeof c.acceptNonStandardSearchParameters)throw new o("options.acceptNonStandardSearchParameters must to be a boolean");if("ignoreTrailingSlash"in c&&"boolean"!=typeof c.ignoreTrailingSlash)throw new o("options.ignoreTrailingSlash must to be a boolean");return c},getHeaderByName:s,buildHeadersFromArray:t,normalizeSearchParams:function(a){if("string"!=typeof a)return a;let b=new URLSearchParams(a),c=new URLSearchParams;for(let[a,d]of b.entries()){if(a=a.replace("[]",""),/^(['"]).*\1$/.test(d)){c.append(a,d);continue}if(d.includes(",")){for(let b of d.split(","))c.append(a,b);continue}c.append(a,d)}return c},normalizeOrigin:function(a){return"string"==typeof a||a instanceof URL?a instanceof URL?a.origin:a.toLowerCase():a}}},70707:(a,b,c)=>{"use strict";let d=c(67519);a.exports=function({maxRedirections:a,throwOnMaxRedirect:b,stripHeadersOnRedirect:c,stripHeadersOnCrossOriginRedirect:e}={}){return f=>function(g,h){let{maxRedirections:i=a,throwOnMaxRedirect:j=b,stripHeadersOnRedirect:k=c,stripHeadersOnCrossOriginRedirect:l=e,...m}=g;if(null==i||0===i)return f(g,h);let n={...m,throwOnMaxRedirect:j,stripHeadersOnRedirect:k,stripHeadersOnCrossOriginRedirect:l},o=new d(f,i,n,h);return f(n,o)}}},70745:(a,b,c)=>{"use strict";let d=c(34589),{utf8DecodeBytes:e}=c(67449),f=/[\u0009\u000A\u000C\u000D\u0020]/g;function g(a){return 9===a||10===a||12===a||13===a||32===a}let h=/[^\x00-\xFF]/;function i(a,b,c,d){let e=0,f=a.length-1;if(b)for(;e<a.length&&d(a.charCodeAt(e));)e++;if(c)for(;f>0&&d(a.charCodeAt(f));)f--;return 0===e&&f===a.length-1?a:a.slice(e,f+1)}a.exports={collectASequenceOfCodePoints:function(a,b,c){let d="";for(;c.position<b.length&&a(b[c.position]);)d+=b[c.position],c.position++;return d},collectASequenceOfCodePointsFast:function(a,b,c){let d=b.indexOf(a,c.position),e=c.position;return -1===d?(c.position=b.length,b.slice(e)):(c.position=d,b.slice(e,c.position))},forgivingBase64:function(a){let b=(a=a.replace(f,"")).length;if(b%4==0&&61===a.charCodeAt(b-1)&&(--b,61===a.charCodeAt(b-1)&&--b),b%4==1||/[^+/0-9A-Za-z]/.test(a.length===b?a:a.substring(0,b)))return"failure";let c=Buffer.from(a,"base64");return new Uint8Array(c.buffer,c.byteOffset,c.byteLength)},isASCIIWhitespace:g,isomorphicDecode:function(a){let b=a.length;if(65535>b)return String.fromCharCode.apply(null,a);let c="",d=0,e=65535;for(;d<b;)d+e>b&&(e=b-d),c+=String.fromCharCode.apply(null,a.subarray(d,d+=e));return c},isomorphicEncode:function(a){return d(!h.test(a)),a},parseJSONFromBytes:function(a){return JSON.parse(e(a))},removeASCIIWhitespace:function(a,b=!0,c=!0){return i(a,b,c,g)},removeChars:i,serializeJavascriptValueToJSONString:function(a){let b=JSON.stringify(a);if(void 0===b)throw TypeError("Value is not JSON serializable");return d("string"==typeof b),b}}},70884:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiResponsesToOpenAIRequest:()=>i,openaiToOpenAIResponsesRequest:()=>j});var d=c(70556),e=c(42541),f=c(80993),g=c(18831);let h=a=>"string"==typeof a&&a.length>64?a.substring(0,64):a;function i(a,b,c,d){return(0,f.F)((0,g.ny)(b))}function j(a,b,c,d){if(b&&"object"==typeof b&&"input"in b)return(0,g.FO)(b,{...b,model:a,stream:!0===c});let e={model:a,input:[],stream:!0===c,store:!1},f=[];for(let a of b.messages||[]){if("system"===a.role||"developer"===a.role){var i;let b="string"==typeof(i=a.content)?i:Array.isArray(i)?i.map(a=>"string"==typeof a?a:"string"==typeof a?.text?a.text:"string"==typeof a?.content?a.content:"").filter(Boolean).join("\n"):"";b&&f.push(b);continue}if("user"===a.role||"assistant"===a.role){let b="user"===a.role?"input_text":"output_text",c="string"==typeof a.content?[{type:b,text:a.content}]:Array.isArray(a.content)?a.content.map(a=>{if("text"===a.type)return{type:b,text:a.text};if("image_url"===a.type)return{type:"input_image",image_url:"string"==typeof a.image_url?a.image_url:a.image_url?.url,detail:a.image_url?.detail||"auto"};if("input_image"===a.type)return a;let c=a.text||a.content||JSON.stringify(a);return{type:b,text:"string"==typeof c?c:JSON.stringify(c)}}):[];c.length>0&&e.input.push({type:"message",role:a.role,content:c})}if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)e.input.push({type:"function_call",call_id:h(b.id),name:k(b.function?.name),arguments:l(b.function?.arguments,"{}")});if("tool"===a.role){let b="string"==typeof a.content?a.content:Array.isArray(a.content)?a.content.map(a=>a.text||JSON.stringify(a)).join(""):l(a.content,"");e.input.push({type:"function_call_output",call_id:h(a.tool_call_id),output:b})}}e.instructions=f.join("\n\n"),b.tools&&Array.isArray(b.tools)&&(e.tools=b.tools.map(a=>{if("function"===a.type&&a.function){var b;return{type:"function",name:k(a.function.name),description:String(a.function.description||""),parameters:(b=a.function.parameters)?"object"!==b.type||b.properties?b:{...b,properties:{}}:{type:"object",properties:{}},strict:a.function.strict}}return a})),void 0!==b.temperature&&(e.temperature=b.temperature),void 0!==b.top_p&&(e.top_p=b.top_p);let j=b.max_output_tokens??b.max_completion_tokens??b.max_tokens;void 0!==j&&(e.max_output_tokens=j),b.reasoning&&"object"==typeof b.reasoning?e.reasoning={...b.reasoning}:"string"==typeof b.reasoning_effort&&(e.reasoning={effort:b.reasoning_effort});let m=function(a){if(!a||"object"!=typeof a)return null;if("json_schema"!==a.type)return{...a};let b=a.json_schema;return b&&"object"==typeof b?{type:"json_schema",...void 0!==b.name&&{name:b.name},...void 0!==b.description&&{description:b.description},...void 0!==b.schema&&{schema:b.schema},...void 0!==b.strict&&{strict:b.strict}}:null}(b.response_format);return m&&(e.text={format:m}),void 0!==b.tool_choice&&(e.tool_choice=function(a){if(!a||"object"!=typeof a)return a;let b=a.function?.name;return"function"===a.type&&"string"==typeof b&&b.trim()?{type:"function",name:b.trim()}:a}(b.tool_choice)),void 0!==b.parallel_tool_calls&&(e.parallel_tool_calls=b.parallel_tool_calls),(0,g.FO)(b,e)}function k(a){return"string"==typeof a&&a.trim()?a.trim():"_unknown"}function l(a,b){if("string"==typeof a)return a;if(void 0===a)return b;try{let c=JSON.stringify(a);return void 0===c?b:c}catch{return String(a)}}(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,i,null),(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,j,null)},72610:(a,b,c)=>{"use strict";let d;c(51525),c(43212);var e=c(60856);let f=new Set(["decision","attempt_open","semantic_commit","failover","terminal","circuit","probe"]);function g(){return{decisions:0,mode:{legacy:0,shadow:0,active:0},candidates:0,attempts:0,failovers:0,semanticCommits:0,circuits:0,probes:0,terminals:{success:0,failure:0},failureClasses:{},terminalDurationMs:0}}let h=(d=g(),Object.freeze({record(a={}){if(!f.has(a.type))return!1;if("decision"===a.type)d.decisions+=1,Object.hasOwn(d.mode,a.mode)&&(d.mode[a.mode]+=1),Number.isFinite(a.candidateCount)&&(d.candidates+=a.candidateCount);else if("attempt_open"===a.type)d.attempts+=1;else if("semantic_commit"===a.type)d.semanticCommits+=1;else if("failover"===a.type)d.failovers+=1;else if("circuit"===a.type)d.circuits+=1;else if("probe"===a.type)d.probes+=1;else if("terminal"===a.type){let b="string"==typeof a.failureClass&&a.failureClass.length>0;d.terminals[b?"failure":"success"]+=1,b&&(d.failureClasses[a.failureClass]=(d.failureClasses[a.failureClass]||0)+1),Number.isFinite(a.durationMs)&&a.durationMs>0&&(d.terminalDurationMs+=a.durationMs)}return!0},snapshot:()=>{var a;return Object.freeze({...a=d,mode:Object.freeze({...a.mode}),terminals:Object.freeze({...a.terminals}),failureClasses:Object.freeze({...a.failureClasses})})},reset(){d=g()}})),i=new Set(["decision","attempt_open","semantic_commit","failover","terminal","circuit","probe"]),j=new Set(["requestTag","provider","connectionId","mode","reason","phase","failureClass","code"]),k=new Set(["candidateCount","attemptIndex","durationMs","deadlineMs","score"]),l=new Set(["health","priority","quota","latency","stability"]),m=function(a={}){let b=Number(a.maxEvents),c=Number.isInteger(b)&&b>0?Math.min(500,b):500,d="function"==typeof a.now?a.now:Date.now,f=[],g=new Set,m=0;return Object.freeze({emit(a){let b=function(a,b,c){if(!i.has(a?.type))return null;let d=a.modelFamily||a.model?(0,e.Nm)(a.modelFamily||a.model):null;return Object.freeze({sequence:c,timestamp:b(),type:a.type,...function(a={}){if(!a||"object"!=typeof a||Array.isArray(a))return Object.freeze({});let b={};for(let[c,d]of Object.entries(a))if(j.has(c)){let a=function(a,b=120){if("string"!=typeof a)return null;let c=a.replace(/[\r\n\t]+/g," ").trim();return!c||c.includes("@")?null:c.slice(0,b)}(d);null!==a&&(b[c]=a)}else if(k.has(c)){let a=Number.isFinite(d)?d:null;null!==a&&(b[c]=a)}else if("scoreComponents"===c){let a=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=Object.entries(a).filter(([a,b])=>l.has(a)&&Number.isFinite(b));return b.length>0?Object.freeze(Object.fromEntries(b)):null}(d);a&&(b[c]=a)}return Object.freeze(b)}(a),...d?{modelFamily:d}:{}})}(a,d,m+1);if(!b)return null;for(let a of(m=b.sequence,f.push(b),f.length>c&&f.shift(),h.record(b),g))a(b);return b},snapshot:()=>Object.freeze([...f]),after(a=0){let b=Number.isSafeInteger(a)&&a>0?a:0;return Object.freeze(f.filter(a=>a.sequence>b))},subscribe:a=>"function"!=typeof a?()=>{}:(g.add(a),()=>g.delete(a)),clear(){f.length=0}})}();m.emit,m.snapshot,m.after,m.subscribe},73135:(a,b,c)=>{"use strict";let{addAbortListener:d}=c(84285),{RequestAbortedError:e}=c(61448),f=Symbol("kListener"),g=Symbol("kSignal");function h(a){a.abort?a.abort(a[g]?.reason):a.reason=a[g]?.reason??new e,i(a)}function i(a){a[g]&&("removeEventListener"in a[g]?a[g].removeEventListener("abort",a[f]):a[g].removeListener("abort",a[f]),a[g]=null,a[f]=null)}a.exports={addSignal:function(a,b){if(a.reason=null,a[g]=null,a[f]=null,b){if(b.aborted)return void h(a);a[g]=b,a[f]=()=>{h(a)},d(a[g],a[f])}},removeSignal:i}},73952:(a,b,c)=>{"use strict";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}`})}},74399:(a,b,c)=>{"use strict";let d=c(7344),{InvalidArgumentError:e}=c(61448),{toRawHeaders:f}=c(84285);class g{#ay;constructor(a){this.#ay=a}onRequestStart(a,b){this.#ay.onConnect?.(b=>a.abort(b),b)}onRequestUpgrade(a,b,c,d){let e=a?.rawHeaders??f(c??{});this.#ay.onUpgrade?.(b,e,d)}onResponseStart(a,b,c,d){let e=a?.rawHeaders??f(c??{});this.#ay.onHeaders?.(b,e,()=>a.resume(),d)===!1&&a.pause()}onResponseData(a,b){this.#ay.onData?.(b)===!1&&a.pause()}onResponseEnd(a,b){let c=a?.rawTrailers??f(b??{});this.#ay.onComplete?.(c)}onResponseError(a,b){if(!this.#ay.onError)throw b;this.#ay.onError(b)}onBodySent(a){this.#ay.onBodySent?.(a)}onRequestSent(){this.#ay.onRequestSent?.()}onResponseStarted(){this.#ay.onResponseStarted?.()}}class h extends d{#d;constructor(a){if(super(),!a||"function"!=typeof a.dispatch)throw new e("Argument dispatcher must implement dispatch");this.#d=a}static wrapHandler(a){if(!a||"object"!=typeof a)throw new e("handler must be an object");return"function"==typeof a.onRequestStart?a:new g(a)}dispatch(a,b){return!1!==a.allowH2&&(a={...a,allowH2:!1}),this.#d.dispatch(a,h.wrapHandler(b))}close(...a){return this.#d.close(...a)}destroy(...a){return this.#d.destroy(...a)}}a.exports=h},76316:(a,b,c)=>{"use strict";let{InvalidArgumentError:d,NotSupportedError:e}=c(61448),f=c(34589),{isValidHTTPToken:g,isValidHeaderValue:h,isStream:i,destroy:j,isBuffer:k,isFormDataLike:l,isIterable:m,hasSafeIterator:n,isBlobLike:o,serializePathWithQuery:p,parseHeaders:q,assertRequestHandler:r,getServerName:s,normalizedMethodRecords:t,getProtocolFromUrlString:u}=c(84285),{channels:v}=c(62571),{headerNameLowerCasedRecord:w}=c(28820),x=/[^\u0021-\u00ff]/,y=Symbol("handler"),z=Symbol("controller"),A=Symbol("resume");class B{#bv=!1;#bw=null;#Q=!1;#bx;[A]=null;rawHeaders=null;rawTrailers=null;constructor(a){this.#bx=a}pause(){this.#bv=!0}resume(){this.#bv&&(this.#bv=!1,this[A]?.())}abort(a){this.#Q||(this.#Q=!0,this.#bw=a,this.#bx(a))}get aborted(){return this.#Q}get reason(){return this.#bw}get paused(){return this.#bv}}class C{constructor(a,{path:b,method:c,body:e,headers:f,query:q,idempotent:w,blocking:z,upgrade:A,headersTimeout:B,bodyTimeout:C,reset:E,expectContinue:F,servername:G,throwOnError:H,maxRedirections:I,typeOfService:J},K){if("string"!=typeof b)throw new d("path must be a string");if("/"===b[0]||b.startsWith("http://")||b.startsWith("https://")||"CONNECT"===c){if(x.test(b))throw new d("invalid request path")}else throw new d("path must be an absolute URL or start with a slash");if("string"!=typeof c)throw new d("method must be a string");if(void 0===t[c]&&!g(c))throw new d("invalid request method");if(A&&"string"!=typeof A)throw new d("upgrade must be a string");if(A&&!h(A))throw new d("invalid upgrade header");if(null!=B&&(!Number.isFinite(B)||B<0))throw new d("invalid headersTimeout");if(null!=C&&(!Number.isFinite(C)||C<0))throw new d("invalid bodyTimeout");if(null!=E&&"boolean"!=typeof E)throw new d("invalid reset");if(null!=F&&"boolean"!=typeof F)throw new d("invalid expectContinue");if(null!=H)throw new d("invalid throwOnError");if(null!=I&&0!==I)throw new d("maxRedirections is not supported, use the redirect interceptor");if(null!=J&&(!Number.isInteger(J)||J<0||J>255))throw new d("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=B,this.bodyTimeout=C,this.method=c,this.typeOfService=J,this.abort=null,null==e)this.body=null;else if(i(e)){this.body=e;const a=this.body._readableState;a&&a.autoDestroy||(this.endHandler=function(){j(this)},this.body.on("end",this.endHandler)),this.errorHandler=a=>{this.abort?this.abort(a):this.error=a},this.body.on("error",this.errorHandler)}else if(k(e))this.body=e.byteLength?e:null;else if(ArrayBuffer.isView(e))this.body=e.buffer.byteLength?Buffer.from(e.buffer,e.byteOffset,e.byteLength):null;else if(e instanceof ArrayBuffer)this.body=e.byteLength?Buffer.from(e):null;else if("string"==typeof e)this.body=e.length?Buffer.from(e):null;else if(l(e)||m(e)||o(e))this.body=e;else throw new d("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=A||null,this.path=q?p(b,q):b,this.origin=a,this.protocol=u(a),this.idempotent=null==w?"HEAD"===c||"GET"===c||"QUERY"===c:w,this.blocking=z??"HEAD"!==this.method,this.reset=null==E?null:E,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=null!=F&&F,Array.isArray(f)){if(f.length%2!=0)throw new d("headers array must be even");for(let a=0;a<f.length;a+=2)D(this,f[a],f[a+1])}else if(f&&"object"==typeof f)if(n(f))for(const a of f){if(!Array.isArray(a)||2!==a.length)throw new d("headers must be in key-value pair format");D(this,a[0],a[1])}else{const a=Object.keys(f);for(let b=0;b<a.length;++b)D(this,a[b],f[a[b]])}else if(null!=f)throw new d("headers must be an object or an array");r(K,c,A),this.servername=G||s(this.host)||null,this[y]=K,v.create.hasSubscribers&&v.create.publish({request:this})}onBodySent(a){if(v.bodyChunkSent.hasSubscribers&&v.bodyChunkSent.publish({request:this,chunk:a}),this[y].onBodySent)try{return this[y].onBodySent(a)}catch(a){this.abort(a)}}onRequestSent(){if(v.bodySent.hasSubscribers&&v.bodySent.publish({request:this}),this[y].onRequestSent)try{return this[y].onRequestSent()}catch(a){this.abort(a)}}onRequestStart(a,b){return(f(!this.aborted),f(!this.completed),this[z]=new B(a),this.error)?void this[z].abort(this.error):(this.abort=a,this[y].onRequestStart(this[z],b))}onResponseStarted(){return this[y].onResponseStarted?.()}onResponseStart(a,b,c,d){f(!this.aborted),f(!this.completed),v.headers.hasSubscribers&&v.headers.publish({request:this,response:{statusCode:a,headers:b,statusText:d}});let e=this[z];e&&(e[A]=c,e.rawHeaders=b);let g=Array.isArray(b)?q(b):b;try{return this[y].onResponseStart?.(e,a,g,d),!e?.paused}catch(a){return this.abort(a),!1}}onResponseData(a){f(!this.aborted),f(!this.completed),v.bodyChunkReceived.hasSubscribers&&v.bodyChunkReceived.publish({request:this,chunk:a});let b=this[z];try{return this[y].onResponseData?.(b,a),!b?.paused}catch(a){return this.abort(a),!1}}onRequestUpgrade(a,b,c){f(!this.aborted),f(!this.completed);let d=this[z];d&&(d.rawHeaders=b);let e=Array.isArray(b)?q(b):b;return this[y].onRequestUpgrade?.(d,a,e,c)}onResponseEnd(a){this.onFinally(),f(!this.aborted),f(!this.completed),this.completed=!0,v.trailers.hasSubscribers&&v.trailers.publish({request:this,trailers:a});let b=this[z];b&&(b.rawTrailers=a);let c=Array.isArray(a)?q(a):a;try{return this[y].onResponseEnd?.(b,c)}catch(a){this.onResponseError(a)}}onResponseError(a){if(this.onFinally(),v.error.hasSubscribers&&v.error.publish({request:this,error:a}),this.aborted)return;this.aborted=!0;let b=this[z];return this[y].onResponseError?.(b,a)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(a,b){return D(this,a,b),this}}function D(a,b,c){if(c&&"object"==typeof c&&!Array.isArray(c))throw new d(`invalid ${b} header`);if(void 0===c)return;let f=w[b];if(void 0===f&&void 0===w[f=b.toLowerCase()]&&!g(f))throw new d("invalid header key");if(Array.isArray(c)){let a=[];for(let e=0;e<c.length;e++)if("string"==typeof c[e]){if(!h(c[e]))throw new d(`invalid ${b} header`);a.push(c[e])}else if(null===c[e])a.push("");else if("object"==typeof c[e])throw new d(`invalid ${b} header`);else{let f=`${c[e]}`;if(!h(f))throw new d(`invalid ${b} header`);a.push(f)}c=a}else if("string"==typeof c){if(!h(c))throw new d(`invalid ${b} header`)}else if(null===c)c="";else if(!h(c=`${c}`))throw new d(`invalid ${b} header`);if("host"===f){if(null!==a.host)throw new d("duplicate host header");if("string"!=typeof c)throw new d("invalid host header");a.host=c}else if("content-length"===f){if(null!==a.contentLength)throw new d("duplicate content-length header");if(!function(a){if("string"!=typeof a||0===a.length)return!1;for(let b=0;b<a.length;b++){let c=a.charCodeAt(b);if(c<48||c>57)return!1}return!0}(c))throw new d("invalid content-length header");a.contentLength=parseInt(c,10)}else if(null===a.contentType&&"content-type"===f)a.contentType=c,a.headers.push(b,c);else if("transfer-encoding"===f||"keep-alive"===f||"upgrade"===f)throw new d(`invalid ${f} header`);else if("connection"===f){let b="string"==typeof c?c:null;if(null===b)throw new d("invalid connection header");for(let c of b.toLowerCase().split(",")){let b=c.trim();if(!g(b))throw new d("invalid connection header");"close"===b&&(a.reset=!0)}}else if("expect"===f)throw new e("expect header not supported");else a.headers.push(b,c)}a.exports=C},76348:(a,b,c)=>{"use strict";c.r(b),c.d(b,{antigravityToOpenAIRequest:()=>g});var d=c(70556),e=c(42541),f=c(58455);function g(a,b,c){let d=b.request||b,e={model:a,messages:[],stream:c};if(d.generationConfig){let a=d.generationConfig;if(a.maxOutputTokens){let b={max_tokens:a.maxOutputTokens,tools:d.tools};e.max_tokens=(0,f.M)(b)}if(void 0!==a.temperature&&(e.temperature=a.temperature),void 0!==a.topP&&(e.top_p=a.topP),void 0!==a.topK&&(e.top_k=a.topK),a.thinkingConfig){let b=a.thinkingConfig.thinkingBudget||0;b>0&&(b<=2048?e.reasoning_effort="low":b<=16384?e.reasoning_effort="medium":e.reasoning_effort="high")}}if(d.systemInstruction){var g;let a="string"==typeof(g=d.systemInstruction)?g:g.parts&&Array.isArray(g.parts)?g.parts.map(a=>a.text||"").join(""):"";a&&e.messages.push({role:"system",content:a})}if(d.contents&&Array.isArray(d.contents)){let a={nextGeneratedId:0,pendingCallIdsByName:new Map};for(let b of d.contents){let c=function(a,b){let c="model"===a.role?"assistant":"user"===a.role?"user":a.role;if(!a.parts||!Array.isArray(a.parts))return null;let d=[],e=[],f=[],g="";for(let c of a.parts){if(!0===c.thought&&c.text){g+=c.text;continue}if(c.thoughtSignature&&void 0!==c.text){d.push({type:"text",text:c.text});continue}if(void 0!==c.text&&d.push({type:"text",text:c.text}),c.inlineData&&d.push({type:"image_url",image_url:{url:`data:${c.inlineData.mimeType};base64,${c.inlineData.data}`}}),c.functionCall){let a=function(a,b){let c=a.name||"tool",d=a.id||`call_${h(c)}_${b.nextGeneratedId++}`,e=b.pendingCallIdsByName.get(c)||[];return e.push(d),b.pendingCallIdsByName.set(c,e),d}(c.functionCall,b);e.push({id:a,type:"function",function:{name:c.functionCall.name,arguments:JSON.stringify(c.functionCall.args||{})}})}c.functionResponse&&f.push({role:"tool",tool_call_id:function(a,b){let c=a.name||"tool",d=b.pendingCallIdsByName.get(c)||[];if(a.id){let b=d.indexOf(a.id);return b>=0&&d.splice(b,1),a.id}let e=d.shift();return 0===d.length&&b.pendingCallIdsByName.delete(c),e||`call_${h(c)}_response_${b.nextGeneratedId++}`}(c.functionResponse,b),content:JSON.stringify(c.functionResponse.response?.result||c.functionResponse.response||{})})}let i=null;if(e.length>0){let a={role:"assistant"};d.length>0&&(a.content=1===d.length&&"text"===d[0].type?d[0].text:d),g&&(a.reasoning_content=g),a.tool_calls=e,i=a}if(!i&&(d.length>0||g)){let a={role:c};d.length>0&&(a.content=1===d.length&&"text"===d[0].type?d[0].text:d),g&&(a.reasoning_content=g),i=a}return f.length>0?i?[...f,i]:f:i}(b,a);c&&(Array.isArray(c)?e.messages.push(...c):e.messages.push(c))}}if(d.tools&&Array.isArray(d.tools)){for(let a of(e.tools=[],d.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)e.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:function a(b){if(!b||"object"!=typeof b)return b;let c=Array.isArray(b)?[...b]:{...b};if("string"==typeof c.type&&(c.type=c.type.toLowerCase()),delete c.enumDescriptions,c.properties){let b={};for(let[d,e]of Object.entries(c.properties))b[d]=a(e);c.properties=b}return c.items&&(c.items=a(c.items)),c}(b.parameters)||{type:"object",properties:{}}}})}return e}function h(a){return String(a||"tool").replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)||"tool"}(0,d.kz)(e.h.ANTIGRAVITY,e.h.OPENAI,g,null)},76394:(a,b,c)=>{"use strict";c.d(b,{iC:()=>l});var d=c(77598),e=c(46956),f=c(32185);let g=new Map,h=new Map;async function i(a,b){try{let c=await (0,e.proxyAwareFetch)(f._G,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":"qodercli/1.0.0"},signal:b.signal},b.proxyOptions);if(!c.ok)return"";let d=await c.json().catch(()=>null);return d?.id||d?.userId||d?.user_id||""}catch{return""}}async function j(a,b){let c=await (0,e.proxyAwareFetch)(f.OQ,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"qodercli/1.0.0","Cosy-Version":f.cT,"Cosy-ClientType":f.Ty},body:JSON.stringify({personal_token:a}),signal:b.signal},b.proxyOptions);if(!c.ok){let a=Error(`Qoder PAT exchange failed with HTTP ${c.status}`);throw a.status=c.status,a.code=401===c.status||403===c.status?"QODER_PAT_REJECTED":"QODER_PAT_EXCHANGE_FAILED",a}let d=await c.json().catch(()=>null),g=d?.token||d?.access_token;if("string"!=typeof g||!g.startsWith("jt-")){let a=Error("Qoder PAT exchange returned an invalid job token");throw a.code="QODER_JOB_TOKEN_INVALID",a}let h=d.userId||d.user_id||await i(g,b);return{accessToken:g,userId:h||"",expiresAt:function(a,b){if(a?.expires_at){let b=Date.parse(a.expires_at);if(Number.isFinite(b))return b}let c=Number(a?.expires_in);return Number.isFinite(c)&&c>0?b+1e3*c:null}(d,Date.now())}}async function k(a,b){let c=(0,d.createHash)("sha256").update(`qoder-pat:${a}`).digest("hex"),e=g.get(c);if(e&&e.expiresAt-Date.now()>3e5)return e;if(h.has(c))return h.get(c);let f=j(a,b).then(a=>(Number.isFinite(a.expiresAt)&&g.set(c,a),a)).finally(()=>{h.get(c)===f&&h.delete(c)});return h.set(c,f),f}async function l(a,b={}){let c=a?.apiKey||a?.accessToken;if(!("string"==typeof c&&/^pt-.+/.test(c)&&c.length>6))return a;let d=await k(c,b);return{...a,apiKey:void 0,accessToken:d.accessToken,providerSpecificData:{...a.providerSpecificData||{},authMethod:"pat",userId:d.userId||a.providerSpecificData?.userId||"",machineId:a.providerSpecificData?.machineId||""}}}},76403:(a,b,c)=>{"use strict";let d,{makeNetworkError:e,makeAppropriateNetworkError:f,filterResponse:g,makeResponse:h,fromInnerResponse:i,getResponseState:j}=c(55815),{HeadersList:k}=c(28665),{Request:l,cloneRequest:m,getRequestDispatcher:n,getRequestState:o,removeRequestAbortListener:p}=c(12600),q=c(38522),{makePolicyContainer:r,clonePolicyContainer:s,requestBadPort:t,TAOCheck:u,appendRequestOriginHeader:v,responseLocationURL:w,requestCurrentURL:x,setRequestReferrerPolicyOnRedirect:y,tryUpgradeRequestToAPotentiallyTrustworthyURL:z,createOpaqueTimingInfo:A,appendFetchMetadata:B,corsCheck:C,crossOriginResourcePolicyCheck:D,determineRequestsReferrer:E,coarsenedSharedCurrentTime:F,sameOrigin:G,isCancelled:H,isAborted:I,isErrorLike:J,fullyReadBody:K,readableStreamClose:L,urlIsLocal:M,urlIsHttpHttpsScheme:N,urlHasHttpsScheme:O,clampAndCoarsenConnectionTimingInfo:P,simpleRangeHeaderValue:Q,buildContentRange:R,createInflate:S,extractMimeType:T,hasAuthenticationEntry:U,includesCredentials:V,isTraversableNavigable:W}=c(42425),X=c(34589),{safelyExtractBody:Y,extractBody:Z}=c(35381),{redirectStatusSet:$,nullBodyStatus:_,safeMethodsSet:aa,requestBodyHeader:ab,subresourceSet:ac}=c(19608),ad=c(78474),{Readable:ae,pipeline:af,finished:ag,isErrored:ah,isReadable:ai}=c(57075),{addAbortListener:aj,bufferToLowerCasedHeaderName:ak}=c(84285),{dataURLProcessor:al,serializeAMimeType:am,minimizeSupportedMimeType:an}=c(16537),{getGlobalDispatcher:ao}=c(59970),{webidl:ap}=c(32984),{STATUS_CODES:aq}=c(37067),{bytesMatch:ar}=c(64371),{isomorphicEncode:as}=c(70745),at=["GET","HEAD"],au="u">typeof __UNDICI_IS_NODE__||"u">typeof esbuildDetection?"node":"undici";function av(a,b,c){if(Array.isArray(c)){for(let b=0;b<c.length;b+=2){let d=ak(c[b]),e=c[b+1];if(Array.isArray(e)&&!Buffer.isBuffer(e))for(let b of e)a.append(d,b.toString("latin1"),!0);else a.append(d,e.toString("latin1"),!0)}return}for(let[c,d]of Object.entries(b??{}))if(Array.isArray(d))for(let b of d)a.append(c,`${b}`,!0);else a.append(c,`${d}`,!0)}class aw extends ad{constructor(a){super(),this.dispatcher=a,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(a){"ongoing"===this.state&&(this.state="terminated",this.connection?.destroy(a),this.emit("terminated",a))}abort(a){"ongoing"===this.state&&(this.state="aborted",a||(a=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=a,this.connection?.destroy(a),this.emit("terminated",a))}}function ax(a,b="other"){if("error"===a.type&&a.aborted||!a.urlList?.length)return;let c=a.urlList[0],d=a.timingInfo,e=a.cacheState;N(c)&&null!==d&&(a.timingAllowPassed||(d=A({startTime:d.startTime}),e=""),d.endTime=F(),a.timingInfo=d,ay(d,c.href,b,globalThis,e,"",a.status))}let ay=performance.markResourceTiming;function az(a,b,c,d,e){if(a&&a.reject(d),b.body?.stream!=null&&ai(b.body.stream)&&b.body.stream.cancel(d).catch(a=>{if("ERR_INVALID_STATE"!==a.code)throw a}),null==c)return;let f=j(c);f.body?.stream!=null&&ai(f.body.stream)&&e.error(d)}function aA({request:a,processRequestBodyChunkLength:b,processRequestEndOfBody:c,processResponse:d,processResponseEndOfBody:e,processResponseConsumeBody:f,useParallelQueue:g=!1,dispatcher:h=ao(),requestObject:i=null}){X(h);let j=null,k=!1;null!=a.client&&(j=a.client.globalObject,k=a.client.crossOriginIsolatedCapability);let l=A({startTime:F(k)}),m={controller:new aw(h),request:a,timingInfo:l,processRequestBodyChunkLength:b,processRequestEndOfBody:c,processResponse:d,processResponseConsumeBody:f,processResponseEndOfBody:e,taskDestination:j,crossOriginIsolatedCapability:k,requestObject:i};return X(!a.body||a.body.stream),"client"===a.window&&(a.window=a.client?.globalObject?.constructor?.name==="Window"?a.client:"no-window"),"client"===a.origin&&(a.origin=a.client.origin),"client"===a.policyContainer&&(null!=a.client?a.policyContainer=s(a.client.policyContainer):a.policyContainer=r()),a.headersList.contains("accept",!0)||a.headersList.append("accept","*/*",!0),a.headersList.contains("accept-language",!0)||a.headersList.append("accept-language","*",!0),a.priority,ac.has(a.destination),aB(m,!1),m.controller}async function aB(a,b){try{let c=a.request,d=null;if(c.localURLsOnly&&!M(x(c))&&(d=e("local URLs only")),z(c),"blocked"===t(c)&&(d=e("bad port")),""===c.referrerPolicy&&(c.referrerPolicy=c.policyContainer.referrerPolicy),"no-referrer"!==c.referrer&&(c.referrer=E(c)),null===d){let b=x(c);G(b,c.url)&&"basic"===c.responseTainting||"data:"===b.protocol||"navigate"===c.mode||"websocket"===c.mode?(c.responseTainting="basic",d=await aC(a)):"same-origin"===c.mode?d=e('request mode cannot be "same-origin"'):"no-cors"===c.mode?"follow"!==c.redirect?d=e('redirect mode cannot be "follow" for "no-cors" request'):(c.responseTainting="opaque",d=await aC(a)):N(x(c))?(c.responseTainting="cors",d=await aE(a)):d=e("URL scheme must be a HTTP(S) scheme")}if(b)return d;0===d.status||d.internalResponse||(c.responseTainting,"basic"===c.responseTainting?d=g(d,"basic"):"cors"===c.responseTainting?d=g(d,"cors"):"opaque"===c.responseTainting?d=g(d,"opaque"):X(!1));let f=0===d.status?d:d.internalResponse;if(0===f.urlList.length&&f.urlList.push(...c.urlList),c.timingAllowFailed||(d.timingAllowPassed=!0),"opaque"===d.type&&206===f.status&&f.rangeRequested&&!c.headers.contains("range",!0)&&(d=f=e()),0!==d.status&&("HEAD"===c.method||"CONNECT"===c.method||_.includes(f.status))&&(f.body=null,a.controller.dump=!0),c.integrity){let b=b=>aD(a,e(b));if("opaque"===c.responseTainting||null==d.body)return void b(d.error);K(d.body,e=>{ar(e,c.integrity)?(d.body=Y(e)[0],aD(a,d)):b("integrity mismatch")},b)}else aD(a,d)}catch(b){a.controller.terminate(b)}}function aC(a){if(H(a)&&0===a.request.redirectCount)return Promise.resolve(f(a));let{request:b}=a,{protocol:g}=x(b);switch(g){case"about:":return Promise.resolve(e("about scheme is not supported"));case"blob:":{d||(d=c(4573).resolveObjectURL);let a=x(b);if(0!==a.search.length)return Promise.resolve(e("NetworkError when attempting to fetch resource."));let f=d(a.toString());if("GET"!==b.method||!ap.is.Blob(f))return Promise.resolve(e("invalid method"));let g=h(),i=f.size,j=as(`${i}`),k=f.type;if(b.headersList.contains("range",!0)){g.rangeRequested=!0;let a=Q(b.headersList.get("range",!0),!0);if("failure"===a)return Promise.resolve(e("failed to fetch the data URL"));let{rangeStartValue:c,rangeEndValue:d}=a;if(null===c)d=(c=i-d)+d-1;else{if(c>=i)return Promise.resolve(e("Range start is greater than the blob's size."));(null===d||d>=i)&&(d=i-1)}let h=f.slice(c,d+1,k);g.body=Z(h)[0];let j=as(`${h.size}`),l=R(c,d,i);g.status=206,g.statusText="Partial Content",g.headersList.set("content-length",j,!0),g.headersList.set("content-type",k,!0),g.headersList.set("content-range",l,!0)}else{let a=Z(f);g.statusText="OK",g.body=a[0],g.headersList.set("content-length",j,!0),g.headersList.set("content-type",k,!0)}return Promise.resolve(g)}case"data:":{let a=al(x(b));if("failure"===a)return Promise.resolve(e("failed to fetch the data URL"));return Promise.resolve(h({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:am(a.mimeType)}]],body:Y(a.body)[0]}))}case"file:":return Promise.resolve(e("not implemented... yet..."));case"http:":case"https:":return aE(a).catch(a=>e(a));default:return Promise.resolve(e("unknown scheme"))}}function aD(a,b){let c=a.timingInfo,d=()=>{let d=Date.now();"document"===a.request.destination&&(a.controller.fullTimingInfo=c),a.controller.reportTimingSteps=()=>{if(!N(a.request.url))return;c.endTime=d;let e=b.cacheState,f=b.bodyInfo;b.timingAllowPassed||(c=A(c),e="");let g=0;if("navigate"!==a.request.mode||!b.hasCrossOriginRedirects){g=b.status;let a=T(b.headersList);"failure"!==a&&(f.contentType=an(a))}null!=a.request.initiatorType&&ay(c,a.request.url.href,a.request.initiatorType,globalThis,e,f,g)},queueMicrotask(()=>void(a.request.done=!0,null!=a.processResponseEndOfBody&&queueMicrotask(()=>a.processResponseEndOfBody(b)),null!=a.request.initiatorType&&a.controller.reportTimingSteps()))};null!=a.processResponse&&queueMicrotask(()=>{a.processResponse(b),a.processResponse=null});let e="error"===b.type?b:b.internalResponse??b;null==e.body?d():ag(e.body.stream,()=>{d()})}async function aE(a){let b=a.request,c=null,d=null,f=a.timingInfo;if(b.serviceWorkers,null===c){if("follow"===b.redirect&&(b.serviceWorkers="none"),d=c=await aF(a),"cors"===b.responseTainting&&"failure"===C(b,c))return e("cors failure");"failure"===u(b,c)&&(b.timingAllowFailed=!0)}return("opaque"===b.responseTainting||"opaque"===c.type)&&"blocked"===D(b.origin,b.client,b.destination,d)?e("blocked"):($.has(d.status)&&("manual"!==b.redirect&&a.controller.connection.destroy(void 0,!1),"error"===b.redirect?c=e("unexpected redirect"):"manual"===b.redirect?c=d:"follow"===b.redirect?c=await function(a,b){let c,d=a.request,f=b.internalResponse?b.internalResponse:b;try{if(c=w(f,x(d).hash),null==c)return b}catch(a){return Promise.resolve(e(a))}if(!N(c))return Promise.resolve(e("URL scheme must be a HTTP(S) scheme"));if(20===d.redirectCount)return Promise.resolve(e("redirect count exceeded"));if(d.redirectCount+=1,"cors"===d.mode&&(c.username||c.password)&&!G(d,c))return Promise.resolve(e('cross origin not allowed for request mode "cors"'));if("cors"===d.responseTainting&&(c.username||c.password))return Promise.resolve(e('URL cannot contain credentials for request mode "cors"'));if(303!==f.status&&null!=d.body&&null==d.body.source)return Promise.resolve(e());if([301,302].includes(f.status)&&"POST"===d.method||303===f.status&&!at.includes(d.method))for(let a of(d.method="GET",d.body=null,ab))d.headersList.delete(a);G(x(d),c)||(d.headersList.delete("authorization",!0),d.headersList.delete("proxy-authorization",!0),d.headersList.delete("cookie",!0),d.headersList.delete("host",!0)),null!=d.body&&(X(null!=d.body.source),d.body=Y(d.body.source)[0]);let g=a.timingInfo;return g.redirectEndTime=g.postRedirectStartTime=F(a.crossOriginIsolatedCapability),0===g.redirectStartTime&&(g.redirectStartTime=g.startTime),d.urlList.push(c),y(d,f),aB(a,!0)}(a,c):X(!1)),c.timingInfo=f,c)}async function aF(a,b=!1,c=!1){let d=a.request,g=null,h=null,i=null;"no-window"===d.window&&"error"===d.redirect?(g=a,h=d):(d.body?.source!=null?h=m(d):(h=m({...d,body:null})).body=d.body,(g={...a}).request=h);let j="include"===d.credentials||"same-origin"===d.credentials&&"basic"===d.responseTainting,k=h.body?h.body.length:null,l=null;if(null==h.body&&["POST","PUT"].includes(h.method)&&(l="0"),null!=k&&(l=as(`${k}`)),null==l||h.headersList.contains("content-length",!0)||h.headersList.append("content-length",l,!0),null!=k&&h.keepalive,ap.is.URL(h.referrer)&&h.headersList.append("referer",as(h.referrer.href),!0),v(h),B(h),h.headersList.contains("user-agent",!0)||h.headersList.append("user-agent",au,!0),"default"===h.cache&&(h.headersList.contains("if-modified-since",!0)||h.headersList.contains("if-none-match",!0)||h.headersList.contains("if-unmodified-since",!0)||h.headersList.contains("if-match",!0)||h.headersList.contains("if-range",!0))&&(h.cache="no-store"),"no-cache"!==h.cache||h.preventNoCacheCacheControlHeaderModification||h.headersList.contains("cache-control",!0)||h.headersList.append("cache-control","max-age=0",!0),("no-store"===h.cache||"reload"===h.cache)&&(h.headersList.contains("pragma",!0)||h.headersList.append("pragma","no-cache",!0),h.headersList.contains("cache-control",!0)||h.headersList.append("cache-control","no-cache",!0)),h.headersList.contains("range",!0)&&h.headersList.append("accept-encoding","identity",!0),h.headersList.contains("accept-encoding",!0)||(O(x(h))?h.headersList.append("accept-encoding","br, gzip, deflate, zstd",!0):h.headersList.append("accept-encoding","gzip, deflate",!0)),h.headersList.delete("host",!0),j&&!h.headersList.contains("authorization",!0)){let a=null;if(U(h)&&(void 0===h.useURLCredentials||!V(x(h))));else if(V(x(h))&&b){let{username:b,password:c}=x(h);a=`Basic ${Buffer.from(`${b}:${c}`).toString("base64")}`}null!==a&&h.headersList.append("Authorization",a,!1)}if(h.cache="no-store","no-store"!==h.cache&&h.cache,null==i){if("only-if-cached"===h.cache)return e("only if cached");let a=await aG(g,j,c);!aa.has(h.method)&&a.status>=200&&a.status,null==i&&(i=a)}if(i.urlList=[...h.urlList],h.headersList.contains("range",!0)&&(i.rangeRequested=!0),i.requestIncludesCredentials=j,401===i.status&&"cors"!==h.responseTainting&&j&&(void 0!==d.useURLCredentials||W(d.traversableForUserPrompts))){if(null!=d.body){if(null==d.body.source)return i;d.body=Y(d.body.source)[0]}if(void 0===d.useURLCredentials||b)return H(a)?f(a):i;a.controller.connection.destroy(),i=await aF(a,!0)}if(407===i.status)return"no-window"===d.window?e():H(a)?f(a):e("proxy authentication required");if(421===i.status&&!c&&(null==d.body||null!=d.body.source)){if(H(a))return f(a);a.controller.connection.destroy(),i=await aF(a,b,!0)}return i}async function aG(a,b=!1,c=!1){X(!a.controller.connection||a.controller.connection.destroyed),a.controller.connection={abort:null,destroyed:!1,destroy(a,b=!0){!this.destroyed&&(this.destroyed=!0,b&&this.abort?.(a??new DOMException("The operation was aborted.","AbortError")))}};let d=a.request,g=null,i=a.timingInfo;d.cache="no-store",d.mode;let j=null;if(null==d.body&&a.processRequestEndOfBody)queueMicrotask(()=>a.processRequestEndOfBody());else if(null!=d.body){let b=async function*(b){H(a)||(yield b,a.processRequestBodyChunkLength?.(b.byteLength))};j=async function*(){try{for await(let a of d.body.stream)yield*b(a);!H(a)&&a.processRequestEndOfBody&&a.processRequestEndOfBody()}catch(b){H(a)||("AbortError"===b.name?a.controller.abort():a.controller.terminate(b))}}()}try{let{body:b,status:c,statusText:e,headersList:f,socket:l}=await function({body:b}){let c=x(d),e=a.controller.dispatcher,f=c.pathname+c.search,g=0===c.search.length&&"?"===c.href[c.href.length-c.hash.length-1];return function b(h,j){return new Promise((l,m)=>e.dispatch({path:g?`${f}?`:f,origin:c.origin,method:d.method,body:e.isMockActive?d.body&&(d.body.source||d.body.stream):h,__mockAgentBodyForDispatch:h,headers:d.headersList.entries,maxRedirections:0,upgrade:"websocket"===d.mode?"websocket":void 0,...!1===j?{allowH2:j}:null},{body:null,abort:null,onRequestStart(b){let{connection:c}=a.controller;i.finalConnectionTimingInfo=P(void 0,i.postRedirectStartTime,a.crossOriginIsolatedCapability);let d=a=>b.abort(a);c.destroyed?d(new DOMException("The operation was aborted.","AbortError")):(a.controller.on("terminated",d),this.abort=c.abort=d),i.finalNetworkRequestStartTime=F(a.crossOriginIsolatedCapability)},onResponseStarted(){i.finalNetworkResponseStartTime=F(a.crossOriginIsolatedCapability)},onResponseStart(a,b,c,e){if(b<200)return;let f=a?.rawHeaders??[],g=new k;av(g,c,f);let h=g.get("location",!0);this.body=new ae({read:()=>a.resume()});let i=h&&"follow"===d.redirect&&$.has(b),j=[];if("HEAD"!==d.method&&"CONNECT"!==d.method&&!_.includes(b)&&!i){let a=g.get("content-encoding",!0),b=a?a.toLowerCase().split(","):[];if(b.length>5)return void m(Error(`too many content-encodings in response: ${b.length}, maximum allowed is 5`));for(let a=b.length-1;a>=0;--a){let c=b[a].trim();if("x-gzip"===c||"gzip"===c)j.push(q.createGunzip({flush:q.constants.Z_SYNC_FLUSH,finishFlush:q.constants.Z_SYNC_FLUSH}));else if("deflate"===c)j.push(S({flush:q.constants.Z_SYNC_FLUSH,finishFlush:q.constants.Z_SYNC_FLUSH}));else if("br"===c)j.push(q.createBrotliDecompress({flush:q.constants.BROTLI_OPERATION_FLUSH,finishFlush:q.constants.BROTLI_OPERATION_FLUSH}));else if("zstd"===c)j.push(q.createZstdDecompress({flush:q.constants.ZSTD_e_continue,finishFlush:q.constants.ZSTD_e_end}));else{j.length=0;break}}}let n=b=>this.onResponseError(a,b);l({status:b,statusText:e,headersList:g,body:j.length?af(this.body,...j,b=>{b&&this.onResponseError(a,b)}).on("error",n):this.body.on("error",n)})},onResponseData(b,c){a.controller.dump||(i.encodedBodySize+=c.byteLength,!1===this.body.push(c)&&b.pause())},onResponseEnd(){this.abort&&a.controller.off("terminated",this.abort),a.controller.ended=!0,this.body?.push(null)},onResponseError(c,e){(this.abort&&a.controller.off("terminated",this.abort),"websocket"===d.mode&&!1!==j&&e?.code==="UND_ERR_INFO"&&e?.message==="HTTP/2: Extended CONNECT protocol not supported by server")?l(b(h,!1)):(this.body?.destroy(e),a.controller.terminate(e),m(e))},onRequestUpgrade(a,b,c,d){if(null!=d.session&&200!==b||null==d.session&&101!==b)return!1;let e=a?.rawHeaders??[],f=new k;return av(f,c,e),l({status:b,statusText:aq[b],headersList:f,socket:d}),!0}}))}(b)}({body:j});if(l)g=h({status:c,statusText:e,headersList:f,socket:l});else{let d=b[Symbol.asyncIterator]();a.controller.next=()=>d.next(),g=h({status:c,statusText:e,headersList:f})}}catch(b){if("AbortError"===b.name)return a.controller.connection.destroy(),f(a,b);return e(b)}let l=new ReadableStream({start(b){a.controller.controller=b},pull:()=>a.controller.resume(),cancel:b=>{H(a)||a.controller.abort(b)},type:"bytes"});return g.body={stream:l,source:null,length:null},a.controller.resume||a.controller.on("terminated",function(b){I(a)?(g.aborted=!0,ai(l)&&a.controller.controller.error(a.controller.serializedAbortReason)):ai(l)&&a.controller.controller.error(TypeError("terminated",{cause:J(b)?b:void 0})),a.controller.connection.destroy()}),a.controller.resume=async()=>{for(;;){let b,c;try{let{done:c,value:d}=await a.controller.next();if(I(a))break;b=c?void 0:d}catch(d){a.controller.ended&&!i.encodedBodySize?b=void 0:(b=d,c=!0)}if(void 0===b){L(a.controller.controller),function(a,b){a.request.done=!0,null!=a.processResponseDone&&queueMicrotask(()=>a.processResponseDone(b))}(a,g);return}if(i.decodedBodySize+=b?.byteLength??0,c)return void a.controller.terminate(b);let d=new Uint8Array(b);if(d.byteLength&&a.controller.controller.enqueue(d),ah(l))return void a.controller.terminate();if(a.controller.controller.desiredSize<=0)return}},g}a.exports={fetch:function(a,b){let c;ap.argumentLengthCheck(arguments,1,"globalThis.fetch");let d=Promise.withResolvers();try{c=new l(a,b)}catch(a){return d.reject(a),d.promise}let e=o(c);if(c.signal.aborted)return az(d,e,null,c.signal.reason,null),d.promise;let f=e.client.globalObject;f?.constructor?.name==="ServiceWorkerGlobalScope"&&(e.serviceWorkers="none");let g=null,h=!1,j=null,k=aj(c.signal,()=>{h=!0,X(null!=j),j.abort(c.signal.reason);let a=g?.deref();az(d,e,a,c.signal.reason,j.controller)}),m=()=>{k(),p(c)};return j=aA({request:e,processResponseEndOfBody:a=>{ax(a,"fetch"),m()},processResponse:a=>{if(!h){if(a.aborted){az(d,e,g,j.serializedAbortReason,j.controller),m();return}if("error"===a.type){d.reject(TypeError("fetch failed",{cause:a.error})),m();return}g=new WeakRef(i(a,"immutable")),d.resolve(g.deref()),d=null}},dispatcher:n(c),requestObject:c}),d.promise},Fetch:aw,fetching:aA,finalizeAndReportTiming:ax}},76816:(a,b,c)=>{"use strict";c.d(b,{bI:()=>f.cleanupProviderConnections,iE:()=>f.createProviderConnection,tV:()=>l,PX:()=>m.getApiKeys,Mc:()=>f.getProviderConnectionById,P:()=>f.getProviderConnections,hr:()=>h,LF:()=>k,mt:()=>e.getSettings,Op:()=>f.mutateProviderConnection,Iu:()=>f.mutateProviderConnectionQuota,KK:()=>i,rj:()=>f.updateProviderConnection,Xx:()=>e.Xx});var d=c(24081);c(34050);var e=c(45874),f=c(92216);c(7044);var g=c(50743);async function h(a){var b;return(b=(await (0,d.cK)()).get("SELECT * FROM proxyPools WHERE id = ?",[a]))?{...(0,g.q)(b.data,{}),id:b.id,isActive:1===b.isActive||!0===b.isActive,testStatus:b.testStatus,createdAt:b.createdAt,updatedAt:b.updatedAt}:null}async function i(a,b,c){if(!a)return;let e=await (0,d.cK)(),f=new Date().toISOString();e.run(`INSERT INTO quotaCache(connectionId, provider, data, fetchedAt) VALUES(?, ?, ?, ?)
436
436
  ON CONFLICT(connectionId) DO UPDATE SET provider = excluded.provider, data = excluded.data, fetchedAt = excluded.fetchedAt`,[a,b||"",(0,g.s)(c||{}),f])}function j(a){return a?{connectionId:a.connectionId,provider:a.provider,fetchedAt:a.fetchedAt,usage:(0,g.q)(a.data,{})}:null}async function k(a){return a?j((await (0,d.cK)()).get("SELECT connectionId, provider, data, fetchedAt FROM quotaCache WHERE connectionId = ?",[a])):null}async function l(a=null){let b=await (0,d.cK)();return(a?b.all("SELECT connectionId, provider, data, fetchedAt FROM quotaCache WHERE provider = ?",[a]):b.all("SELECT connectionId, provider, data, fetchedAt FROM quotaCache")).map(j)}var m=c(57431);c(37703),c(90181),c(25346),c(18922)},77745:()=>{},77801:(a,b,c)=>{"use strict";c.r(b),c.d(b,{convertKiroToOpenAI:()=>f});var d=c(70556),e=c(42541);function f(a,b){if(!a)return null;if("chat.completion.chunk"===a.object&&a.choices)return a;let c=a;if("string"==typeof a){let b=a.split("\n"),d="",e="";for(let a of b)a.startsWith("event:")?d=a.slice(6).trim():a.startsWith(":event-type:")?d=a.slice(12).trim():a.startsWith("data:")?e=a.slice(5).trim():a.startsWith(":content-type:")||a.trim()&&!a.startsWith(":")&&(e=a.trim());if(!e)return null;try{(c=JSON.parse(e))._eventType=d}catch{c={text:e,_eventType:d}}}b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.chunkIndex=0);let d=c._eventType||c.event||"";if("assistantResponseEvent"===d||c.assistantResponseEvent){let a=c.assistantResponseEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:a},finish_reason:null}]};return b.chunkIndex++,d}if("reasoningContentEvent"===d||c.reasoningContentEvent){let a=c.reasoningContentEvent||c,d="string"==typeof a?a:a.text||a.content||c.content||"";if(!d)return null;let e={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},reasoning_content:d},finish_reason:null}]};return b.chunkIndex++,e}if("toolUseEvent"===d||c.toolUseEvent){let a=c.toolUseEvent||c,d=a.toolUseId||`call_${Date.now()}`,e=a.name||"",f=b.toolNameMap?.get(e)||e,g=a.input||{},h={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:d,type:"function",function:{name:f,arguments:JSON.stringify(g)}}]},finish_reason:null}]};return b.chunkIndex++,h}if("messageStopEvent"===d||"done"===d||c.messageStopEvent){b.finishReason="stop";let a={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return b.usage&&"object"==typeof b.usage&&(a.usage=b.usage),a}if("usageEvent"===d||c.usageEvent){let a=c.usageEvent||c;a&&"object"==typeof a&&(b.usage={prompt_tokens:a.inputTokens||0,completion_tokens:a.outputTokens||0,total_tokens:(a.inputTokens||0)+(a.outputTokens||0)})}return null}(0,d.kz)(e.h.KIRO,e.h.OPENAI,null,f)},77855:(a,b,c)=>{"use strict";c.d(b,{rR:()=>r,tH:()=>k});var d=c(54838);let e=/^[a-zA-Z0-9_-]+$/,f=/[^a-zA-Z0-9_-]/g;function g(a){return null==a?a:JSON.parse(JSON.stringify(a))}function h(a){if("string"==typeof a)return a;if(null==a)return"";try{return JSON.stringify(a)}catch{return String(a)}}function i(a,b){b&&(a.content=a.content?`${a.content}
@@ -451,7 +451,7 @@ ${b}`:b);continue}}if(e&&c.messages.push(e),h.length>0){let a=new Set;c.tools=h.
451
451
 
452
452
  `),o("data: [DONE]\n\n")}catch(b){let a=b?.message?String(b.message):String(b);o(`data: ${JSON.stringify({error:{message:`Windsurf stream error: ${a}`,type:"windsurf_error"}})}
453
453
 
454
- `),o("data: [DONE]\n\n")}f.close()}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(){return null}}},84285:(a,b,c)=>{"use strict";let d=c(34589),{kDestroyed:e,kBodyUsed:f,kListeners:g,kBody:h}=c(49176),{IncomingMessage:i}=c(37067),j=c(57075),k=c(77030),{stringify:l}=c(41792),{EventEmitter:m,addAbortListener:n}=c(78474),o=c(64704),{InvalidArgumentError:p,ConnectTimeoutError:q}=c(61448),{headerNameLowerCasedRecord:r}=c(28820),{tree:s}=c(36649);class t{constructor(a){this[h]=a,this[f]=!1}async *[Symbol.asyncIterator](){d(!this[f],"disturbed"),this[f]=!0,yield*this[h]}}function u(){}function v(a){return a&&"object"==typeof a&&"function"==typeof a.pipe&&"function"==typeof a.on}function w(a){return a instanceof Blob}function x(a){return a.includes("?")||a.includes("#")}function y(a){let b=parseInt(a,10);return b===Number(a)&&b>=0&&b<=65535}function z(a){return null!=a&&"h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3]&&(":"===a[4]||"s"===a[4]&&":"===a[5])}function A(a){if("string"==typeof a){if(!z((a=new URL(a)).origin||a.protocol))throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.");return a}if(!a||"object"!=typeof a)throw new p("Invalid URL: The URL argument must be a non-null object.");if(!(a instanceof URL)){if(null!=a.port&&""!==a.port&&!1===y(a.port))throw new p("Invalid URL: port must be a valid integer or a string representation of an integer.");if(null!=a.path&&"string"!=typeof a.path)throw new p("Invalid URL path: the path must be a string or null/undefined.");if(null!=a.pathname&&"string"!=typeof a.pathname)throw new p("Invalid URL pathname: the pathname must be a string or null/undefined.");if(null!=a.hostname&&"string"!=typeof a.hostname)throw new p("Invalid URL hostname: the hostname must be a string or null/undefined.");if(null!=a.origin&&"string"!=typeof a.origin)throw new p("Invalid URL origin: the origin must be a string or null/undefined.");if(!z(a.origin||a.protocol))throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.");let b=null!=a.port?a.port:"https:"===a.protocol?443:80,c=null!=a.origin?a.origin:`${a.protocol||""}//${a.hostname||""}:${b}`,d=null!=a.path?a.path:`${a.pathname||""}${a.search||""}`;return"/"===c[c.length-1]&&(c=c.slice(0,c.length-1)),d&&"/"!==d[0]&&(d=`/${d}`),new URL(`${c}${d}`)}if(!z(a.origin||a.protocol))throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.");return a}function B(a){return null!=a&&("function"==typeof a[Symbol.iterator]||"function"==typeof a[Symbol.asyncIterator])}function C(a){if(null==a)return 0;if(v(a)){let b=a._readableState;return b&&!1===b.objectMode&&!0===b.ended&&Number.isFinite(b.length)?b.length:null}return w(a)?null!=a.size?a.size:null:H(a)?a.byteLength:null}function D(a){return a&&!!(a.destroyed||a[e]||j.isDestroyed?.(a))}function E(a,b){if(!(null==a||!v(a)||D(a))){if("function"==typeof a.destroy){Object.getPrototypeOf(a).constructor===i&&(a.socket=null);try{a.destroy(b)}catch{}}else b&&queueMicrotask(()=>{a.emit("error",b)});!0!==a.destroyed&&(a[e]=!0)}}let F=/timeout=(\d+)/;function G(a){return"string"==typeof a?r[a]??a.toLowerCase():s.lookup(a)??a.toString("latin1").toLowerCase()}function H(a){return a instanceof Uint8Array||Buffer.isBuffer(a)}function I(a){return a&&"object"==typeof a&&"function"==typeof a.append&&"function"==typeof a.delete&&"function"==typeof a.get&&"function"==typeof a.getAll&&"function"==typeof a.has&&"function"==typeof a.set&&"FormData"===a[Symbol.toStringTag]}let J=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),K=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,L=/[^\t\x20-\x7e\x80-\xff]/,M=/^bytes (\d+)-(\d+)\/(\d+|\*)?$/,N="win32"===process.platform?(a,b)=>{if(!b.timeout)return u;let c=null,d=null,e=o.setFastTimeout(()=>{c=setImmediate(()=>{d=setImmediate(()=>O(a.deref(),b))})},b.timeout);return()=>{o.clearFastTimeout(e),clearImmediate(c),clearImmediate(d)}}:(a,b)=>{if(!b.timeout)return u;let c=null,d=o.setFastTimeout(()=>{c=setImmediate(()=>{O(a.deref(),b)})},b.timeout);return()=>{o.clearFastTimeout(d),clearImmediate(c)}};function O(a,b){if(null==a)return;let c="Connect Timeout Error";Array.isArray(a.autoSelectFamilyAttemptedAddresses)?c+=` (attempted addresses: ${a.autoSelectFamilyAttemptedAddresses.join(", ")},`:c+=` (attempted address: ${b.hostname}:${b.port},`,E(a,new q(c+=` timeout: ${b.timeout}ms)`))}let P=null,Q=null,R={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT",query:"QUERY",QUERY:"QUERY"},S={...R,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(R,null),Object.setPrototypeOf(S,null),a.exports={kEnumerableProperty:{__proto__:null,enumerable:!0},isDisturbed:function(a){return!!(a&&(j.isDisturbed(a)||a[f]))},isBlobLike:w,parseOrigin:function(a){if("/"!==(a=A(a)).pathname||a.search||a.hash)throw new p("invalid url");return a},parseURL:A,getServerName:function(a){if(!a)return null;d("string"==typeof a);let b=function(a){if("["===a[0]){let b=a.indexOf("]");return d(-1!==b),a.substring(1,b)}let b=a.indexOf(":");return -1===b?a:a.substring(0,b)}(a);return k.isIP(b)?"":b},isStream:v,isIterable:B,hasSafeIterator:function(a){let b=Object.getPrototypeOf(a);return Object.hasOwn(a,Symbol.iterator)||null!=b&&b!==Object.prototype&&"function"==typeof a[Symbol.iterator]},isAsyncIterable:function(a){return null!=a&&"function"==typeof a[Symbol.asyncIterator]},isDestroyed:D,headerNameToString:G,bufferToLowerCasedHeaderName:function(a){return s.lookup(a)??a.toString("latin1").toLowerCase()},addListener:function(a,b,c){return(a[g]??=[]).push([b,c]),a.on(b,c),a},removeAllListeners:function(a){if(null!=a[g]){for(let[b,c]of a[g])a.removeListener(b,c);a[g]=null}return a},errorRequest:function(a,b,c){try{b.onResponseError(c),d(b.aborted)}catch(b){a.emit("error",b)}},parseRawHeaders:function(a){let b,c;if(null==a)return[];if(!Array.isArray(a)){let b=[];for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.push(c,`${a}`);else b.push(c,`${d}`);return b}let d=a.length,e=Array(d);for(let f=0;f<d;f+=2)b=a[f],c=a[f+1],"string"!=typeof b&&(b=b.toString()),"string"!=typeof c&&(c=c.toString("latin1")),e[f]=b,e[f+1]=c;return e},toRawHeaders:function(a){let b=[];for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.push(Buffer.from(c,"latin1"),Buffer.from(`${a}`,"latin1"));else b.push(Buffer.from(c,"latin1"),Buffer.from(`${d}`,"latin1"));return b},encodeRawHeaders:function(a){if(!Array.isArray(a))throw TypeError("expected headers to be an array");return a.map(a=>Buffer.from(a))},parseHeaders:function(a,b){void 0===b&&(b={});for(let c=0;c<a.length;c+=2){let d=G(a[c]),e=b[d];if(void 0!==e)if(Object.hasOwn(b,d))"string"==typeof e&&(e=[e],b[d]=e),e.push(a[c+1].toString("latin1"));else{let e="string"==typeof a[c+1]?a[c+1]:Array.isArray(a[c+1])?a[c+1].map(a=>a.toString("latin1")):a[c+1].toString("latin1");"__proto__"===d?Object.defineProperty(b,d,{value:e,enumerable:!0,configurable:!0,writable:!0}):b[d]=e}else{let e="string"==typeof a[c+1]?a[c+1]:Array.isArray(a[c+1])?a[c+1].map(a=>a.toString("latin1")):a[c+1].toString("latin1");b[d]=e}}return b},parseKeepAliveTimeout:function(a){let b=a.match(F);return b?1e3*parseInt(b[1],10):null},destroy:E,bodyLength:C,deepClone:function(a){return JSON.parse(JSON.stringify(a))},ReadableStreamFrom:function(a){let b;return new ReadableStream({start(){b=a[Symbol.asyncIterator]()},pull(a){return b.next().then(({done:b,value:c})=>{if(b)return queueMicrotask(()=>{a.close(),a.byobRequest?.respond(0)});{let b=Buffer.isBuffer(c)?c:Buffer.from(c);return b.byteLength?a.enqueue(new Uint8Array(b)):this.pull(a)}})},cancel:()=>b.return(),type:"bytes"})},isBuffer:H,assertRequestHandler:function(a,b,c){if(!a||"object"!=typeof a)throw new p("handler must be an object");if("function"!=typeof a.onRequestStart)throw new p("invalid onRequestStart method");if("function"!=typeof a.onResponseError)throw new p("invalid onResponseError method");if("function"!=typeof a.onBodySent&&void 0!==a.onBodySent)throw new p("invalid onBodySent method");if("function"!=typeof a.onRequestSent&&void 0!==a.onRequestSent)throw new p("invalid onRequestSent method");if(c||"CONNECT"===b){if("function"!=typeof a.onRequestUpgrade)throw new p("invalid onRequestUpgrade method")}else{if("function"!=typeof a.onResponseStart)throw new p("invalid onResponseStart method");if("function"!=typeof a.onResponseData)throw new p("invalid onResponseData method");if("function"!=typeof a.onResponseEnd)throw new p("invalid onResponseEnd method")}},getSocketInfo:function(a){return{localAddress:a.localAddress,localPort:a.localPort,remoteAddress:a.remoteAddress,remotePort:a.remotePort,remoteFamily:a.remoteFamily,timeout:a.timeout,bytesWritten:a.bytesWritten,bytesRead:a.bytesRead}},isFormDataLike:I,pathHasQueryOrFragment:x,serializePathWithQuery:function(a,b){if(x(a))throw Error('Query params cannot be passed when url already contains "?" or "#".');let c=l(b);return c&&(a+="?"+c),a},addAbortListener:function(a,b){return!a||"aborted"in a?n(a,b)[Symbol.dispose]:"function"==typeof a.addEventListener?(a.addEventListener("abort",b,{once:!0}),()=>a.removeEventListener("abort",b)):(a.once("abort",b),()=>a.removeListener("abort",b))},isValidHTTPToken:function(a){if(a.length>=12)return K.test(a);if(0===a.length)return!1;for(let b=0;b<a.length;b++)if(1!==J[a.charCodeAt(b)])return!1;return!0},isValidHeaderValue:function(a){return!L.test(a)},isTokenCharCode:function(a){return 1===J[a]},parseRangeHeader:function(a){if(null==a||""===a)return{start:0,end:null,size:null};if(!a)return null;let b=M.exec(a);return b?{start:parseInt(b[1]),end:b[2]?parseInt(b[2]):null,size:b[3]&&"*"!==b[3]?parseInt(b[3]):null}:null},normalizedMethodRecordsBase:R,normalizedMethodRecords:S,isValidPort:y,isHttpOrHttpsPrefixed:z,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:function(a){return v(a)?(0===C(a)&&a.on("data",function(){d(!1)}),"boolean"!=typeof a.readableDidRead&&(a[f]=!1,m.prototype.on.call(a,"data",function(){this[f]=!0})),a):a&&"function"==typeof a.pipeTo?new t(a):a&&I(a)?a:a&&"string"!=typeof a&&!ArrayBuffer.isView(a)&&B(a)?new t(a):a},setupConnectTimeout:N,getProtocolFromUrlString:function(a){if(a===P)return Q;let b=function(a){if("h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3])switch(a[4]){case":":return"http:";case"s":if(":"===a[5])return"https:"}return a.slice(0,a.indexOf(":")+1)}(a);return P=a,Q=b,b}}},84698:a=>{"use strict";function b(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c<33||c>126||34===c||40===c||41===c||60===c||62===c||64===c||44===c||59===c||58===c||92===c||47===c||91===c||93===c||63===c||61===c||123===c||125===c)throw Error("Invalid cookie name")}}function c(a){let b=a.length,c=0;if('"'===a[0]){if(1===b||'"'!==a[b-1])throw Error("Invalid cookie value");--b,++c}for(;c<b;){let b=a.charCodeAt(c++);if(b<33||b>126||34===b||44===b||59===b||92===b)throw Error("Invalid cookie value")}}function d(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c<32||c>126||59===c)throw Error("Invalid cookie path")}}function e(a){return a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122}let f=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],g=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],h=Array(61).fill(0).map((a,b)=>b.toString().padStart(2,"0"));function i(a){return"number"==typeof a&&(a=new Date(a)),`${f[a.getUTCDay()]}, ${h[a.getUTCDate()]} ${g[a.getUTCMonth()]} ${a.getUTCFullYear()} ${h[a.getUTCHours()]}:${h[a.getUTCMinutes()]}:${h[a.getUTCSeconds()]} GMT`}a.exports={isCTLExcludingHtab:function(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c>=0&&c<=8||c>=10&&c<=31||127===c)return!0}return!1},validateCookieName:b,validateCookiePath:d,validateCookieValue:c,toIMFDate:i,stringify:function(a){if(0===a.name.length)return null;b(a.name),c(a.value);let f=[`${a.name}=${a.value}`];if(a.name.startsWith("__Secure-")&&(a.secure=!0),a.name.startsWith("__Host-")&&(a.secure=!0,a.domain=null,a.path="/"),a.secure&&f.push("Secure"),a.httpOnly&&f.push("HttpOnly"),"number"==typeof a.maxAge){if(a.maxAge<0)throw Error("Invalid cookie max-age");f.push(`Max-Age=${a.maxAge}`)}for(let g of(a.domain&&(!function(a){if(" "===a)return;if(a.length>255)throw Error("Invalid cookie domain");let b=0;for(let c=0;c<a.length;++c){let d=a.charCodeAt(c);if(46===d){if(0===b||45===a.charCodeAt(c-1))throw Error("Invalid cookie domain");b=0;continue}if(0===b&&!e(d)||!e(d)&&45!==d||++b>63)throw Error("Invalid cookie domain")}if(0===b||45===a.charCodeAt(a.length-1))throw Error("Invalid cookie domain")}(a.domain),f.push(`Domain=${a.domain}`)),a.path&&(d(a.path),f.push(`Path=${a.path}`)),a.expires&&"Invalid Date"!==a.expires.toString()&&f.push(`Expires=${i(a.expires)}`),a.sameSite&&f.push(`SameSite=${a.sameSite}`),a.unparsed)){if(!g.includes("="))throw Error("Invalid unparsed");let[a,...d]=g.split("="),e=a.trim(),h=d.join("=");b(e),c(h),f.push(`${e}=${h}`)}return f.join("; ")}}},84955:(a,b,c)=>{"use strict";c.d(b,{V:()=>h});var d=c(69384),e=c(30395),f=c(48991),g=c(11484);class h extends d.Hv{constructor(){super("gemini-cli",e.xq["gemini-cli"])}buildUrl(a,b,c=0){return`${this.config.baseUrl}:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":(0,f.sX)(this._currentModel),"X-Goog-Api-Client":f.go,Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b,c,d){return(this._currentModel=a,b&&b.request&&b.model)?b:{project:d?.projectId||b?.project,model:a,request:b}}parseError(a,b){let c=super.parseError(a,b);if(429!==a.status||!b)return c;try{let a=JSON.parse(b),d=a?.error?.details;if(Array.isArray(d)){for(let a of d)if(a?.["@type"]==="type.googleapis.com/google.rpc.RetryInfo"&&a?.retryDelay){c.retryAfter=a.retryDelay;break}}}catch{}return c}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{let c=await fetch(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!c.ok)return await (0,g.aI)(c),null;let d=await c.json();return b?.info?.("TOKEN","Gemini CLI refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Gemini CLI refresh error: ${a.message}`),null}}}},86625:(a,b,c)=>{"use strict";let{promisify:d}=c(57975),e=c(35689),{buildMockDispatch:f}=c(70634),{kDispatches:g,kMockAgent:h,kClose:i,kOriginalClose:j,kOrigin:k,kOriginalDispatch:l,kConnected:m,kIgnoreTrailingSlash:n}=c(80830),{MockInterceptor:o}=c(55720),p=c(49176),{InvalidArgumentError:q}=c(61448);class r extends e{constructor(a,b){if(!b||!b.agent||"function"!=typeof b.agent.dispatch)throw new q("Argument opts.agent must implement Agent");super(a,b),this[h]=b.agent,this[k]=a,this[n]=b.ignoreTrailingSlash??!1,this[g]=[],this[m]=1,this[l]=this.dispatch,this[j]=this.close.bind(this),this.dispatch=f.call(this),this.close=this[i]}get[p.kConnected](){return this[m]}intercept(a){return new o(a&&{ignoreTrailingSlash:this[n],...a},this[g])}cleanMocks(){this[g]=[]}async [i](){await d(this[j])(),this[m]=0,this[h][p.kClients].delete(this[k])}}a.exports=r},86767:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{EW:()=>j,UT:()=>k});var e=c(70321),f=c(21263),g=a([f]);f=(g.then?(await g)():g)[0],globalThis._quotaRefreshState||(globalThis._quotaRefreshState={started:!1,startTimer:null,timer:null,running:!1,runningPromise:null});let l=globalThis._quotaRefreshState;async function h(a,b={}){return(await (0,f.J4)({connections:a,force:!0===b.force,...void 0!==b.concurrency?{concurrency:b.concurrency}:{},...b.resolveUsage?{resolveUsage:b.resolveUsage}:{},replaceAccounts:!1,retainWithoutSubscribers:!0})).attempted}function i(){if(l.runningPromise)return l.runningPromise;l.running=!0;let a=(async()=>{let a=[];try{a=await (0,e.getProviderConnections)({isActive:!0})}catch(a){console.warn(`[QuotaRefresh] failed to list connections: ${a.message}`);return}await h(a)})().finally(()=>{l.runningPromise===a&&(l.runningPromise=null,l.running=!1)});return l.runningPromise=a,a}function j(){!l.started&&(l.started=!0,l.startTimer=setTimeout(()=>{l.startTimer=null,i(),l.timer=setInterval(()=>void i(),3e5),l.timer.unref&&l.timer.unref()},15e3),l.startTimer.unref&&l.startTimer.unref())}function k(){return l.startTimer&&clearTimeout(l.startTimer),l.timer&&clearInterval(l.timer),l.startTimer=null,l.timer=null,l.started=!1,l.runningPromise||Promise.resolve()}l.runningPromise??=null,d()}catch(a){d(a)}})},87085:(a,b,c)=>{"use strict";let{InvalidArgumentError:d,RequestAbortedError:e}=c(61448),f=c(83204);class g extends f{#ai=1048576;#bB=!1;#aj=0;#G=null;aborted=!1;reason=!1;constructor({maxSize:a,signal:b},c){if(null!=a&&(!Number.isFinite(a)||a<1))throw new d("maxSize must be a number greater than 0");super(c),this.#ai=a??this.#ai}#bx(a){this.aborted=!0,this.reason=a}onRequestStart(a,b){return a.abort=this.#bx.bind(this),this.#G=a,super.onRequestStart(a,b)}onResponseStart(a,b,c,d){let f=c["content-length"];if(null!=f&&f>this.#ai)throw new e(`Response size (${f}) larger than maxSize (${this.#ai})`);return!0===this.aborted||super.onResponseStart(a,b,c,d)}onResponseError(a,b){this.#bB||(b=this.#G?.reason??b,super.onResponseError(a,b))}onResponseData(a,b){return this.#aj=this.#aj+b.length,this.#aj>=this.#ai&&(this.#bB=!0,!0===this.aborted?super.onResponseError(a,this.reason):super.onResponseEnd(a,{})),!0}onResponseEnd(a,b){if(!this.#bB){if(!0===this.#G.aborted)return void super.onResponseError(a,this.reason);super.onResponseEnd(a,b)}}}a.exports=function({maxSize:a}={maxSize:1048576}){return b=>function(c,d){let{dumpMaxSize:e=a}=c,f=new g({maxSize:e,signal:c.signal},d);return b(c,f)}}},87164:(a,b,c)=>{"use strict";c.d(b,{R_:()=>q,Og:()=>r,jT:()=>p,Sc:()=>H,Ql:()=>D,$B:()=>G,pb:()=>J});var d=c(30395),e=c(48991),f=c(46956);let g=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function h(a){return"string"==typeof a?a.trim():""}var i=c(13335);let j=null;async function k(a,b){return a?o("xai",a,async()=>{try{j||(j=new(await c.e(4621).then(c.bind(c,14621))).XaiService);let b=await j.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH","xAI OAuth refresh failed",{status:c?.status||null,code:y(c?.code,c?.status),permanent:c?.permanent===!0});let a=String(c?.message||"");if(c?.permanent===!0||a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant",code:y(c?.code||"invalid_grant",c?.status)};return null}},b):null}let l=new Map;function m(){let a=Error("Request aborted");return a.name="AbortError",a}function n(a,b){return a.waiterCount+=1,new Promise((c,d)=>{let e=!1,f=(c,d)=>{e||(e=!0,b?.removeEventListener?.("abort",g),a.waiterCount=Math.max(0,a.waiterCount-1),0!==a.waiterCount||a.settled||(a.acceptingWaiters=!1,a.controller.abort(m())),c(d))},g=()=>f(d,m());b?.addEventListener?.("abort",g,{once:!0}),b?.aborted&&g(),a.promise.then(a=>f(c,a),a=>f(d,a))})}async function o(a,b,c,d,e=null){let f,g;if(e?.aborted)throw m();if(!b)return c();let h=`${a}:${b}`,i=l.get(h);if(i){if(i.promise){if(!1===i.acceptingWaiters||i.controller.signal.aborted)try{return await (e?.aborted?Promise.reject(m()):new Promise((a,b)=>{let c=!1,d=(a,b)=>{c||(c=!0,e?.removeEventListener?.("abort",f),a(b))},f=()=>d(b,m());e?.addEventListener?.("abort",f,{once:!0}),e?.aborted&&f(),i.promise.then(b=>d(a,b),a=>d(b,a))}))}catch(f){if(e?.aborted)throw m();if(i.controller.signal.aborted&&f?.name==="AbortError")return o(a,b,c,d,e);throw f}return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),n(i,e)}if(i.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),i.result;l.delete(h)}let j={controller:new AbortController,promise:new Promise((a,b)=>{f=a,g=b}),acceptingWaiters:!0,settled:!1,waiterCount:0};return l.set(h,j),(async()=>{try{let a=await c(j.controller.signal),b={result:a,expiresAt:Date.now()+1e4};l.set(h,b);let d=setTimeout(()=>{l.get(h)===b&&l.delete(h)},1e4);d.unref?.(),j.settled=!0,f(a)}catch(a){l.get(h)===j&&l.delete(h),j.settled=!0,g(a)}})(),n(j,e)}function p(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function q(a={}){let b=String(a.code||a.error||"refresh_token_rejected").slice(0,120),c=Error("Refresh credential rejected; re-authentication required.");return c.name="RefreshCredentialError",c.code=b,c.permanent=!0,c}function r(a){return e.Wu[a]||3e5}async function s(a,b,c,e){let f=d.xq[a];return f&&f.refreshUrl?b?o(a,b,async()=>{try{let c=await fetch(f.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:f.clientId,client_secret:f.clientSecret})});if(!c.ok){let b=await c.text();return z(b,c.status,e,a)}let d=await c.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||b,expiresIn:d.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function t(a,b){return a?o("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return z(a,c.status,b,"Claude")}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function u(a,b,c,d){return a?o(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return z(a,f.status,d,"Google")}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function v(a,b){return a?o("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");return z(a,e.status,b,"Qwen")}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function w(a,b,c="codebuddy"){return a?o(c,a,async()=>{try{let e=d.xq[c]||d.xq.codebuddy,g=e.refreshUrl,h=e.domain||"www.codebuddy.ai",j=await (0,f.proxyAwareFetch)(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":i.C,"X-Requested-With":"XMLHttpRequest","X-Domain":h,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!j.ok){let a=await j.text().catch(()=>"");return z(a,j.status,b,c)}let k=await j.json(),l=k?.data||k,m=l?.accessToken||l?.access_token;if(!m)return null;return{accessToken:m,refreshToken:l?.refreshToken||l?.refresh_token||a,expiresIn:l?.expiresIn||l?.expires_in||86400}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing token for ${c}`,{error:a.message}),null}},b):null}function x(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error&&"object"==typeof c.error?c.error:null,e=d?.code||d?.type||("string"==typeof c?.error?c.error:"")||c?.error_code||"",f=d?.message||d?.error_description||c?.error_description||c?.message||a||"",g=`${e} ${f}`.toLowerCase(),h=400===b||401===b||["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_refresh_token","invalid_grant"].some(a=>g.includes(a));return{status:b,code:e,description:f,permanent:h}}function y(a,b){let c="string"==typeof a?a.trim():"";return/^[a-zA-Z0-9_.:-]{1,120}$/.test(c)?c:`HTTP_${Number(b)||0}`}function z(a,b,c,d){let e=x(a,b),f=y(e.code,b);return c?.error?.("TOKEN_REFRESH",`${d} OAuth refresh failed`,{status:b,code:f,permanent:e.permanent}),e.permanent?{error:"unrecoverable_refresh_error",code:f}:null}function A(a,b,c,d){let e=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error&&"object"==typeof c.error?c.error:c,e=[d?.reason,c?.reason,d?.code,c?.code,d?.errorCode,c?.errorCode,d?.type,c?.type,d?.__type,c?.__type,"string"==typeof c?.error?c.error:""].filter(a=>("string"==typeof a||"number"==typeof a)&&String(a).trim()),f=e.map(a=>String(a).trim()).find(a=>/^[A-Za-z0-9_.:#/-]{1,200}$/.test(a)&&!/^aor[A-Za-z0-9._~+/=-]{8,}$/.test(a)&&!/^eyJ[A-Za-z0-9_-]{8,}\./.test(a))||null,g=[d?.message,d?.Message,d?.error_description,c?.message,c?.Message,c?.error_description,c?"":a].find(a=>"string"==typeof a&&a.trim())||"",h=e.map(a=>String(a).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")),i=["invalid_grant","invalid_grant_exception","invalid_refresh_token","refresh_token_expired","refresh_token_revoked","refresh_token_reused","refresh_token_invalidated","expired_token","token_revoked","invalid_token","invalid_token_exception","invalid_client","invalid_client_exception","unauthorized_client"],j=h.some(a=>{let b=a.replace(/_exception$/,"");return i.some(a=>b===a||b.endsWith(`_${a}`))}),k=g.toLowerCase().slice(0,4e3),l=400===b||401===b||j||/\binvalid[_ -]?grant\b/.test(k)||/\brefresh token\b.{0,60}\b(?:expired|invalid|revoked|reused|disabled)\b/.test(k)||/\b(?:expired|invalid|revoked|reused|disabled)\b.{0,60}\brefresh token\b/.test(k);return{status:b,code:f,permanent:l}}(b,a.status);c?.error?.("TOKEN_REFRESH",`Kiro ${d} refresh failed`,{status:a.status,code:e.code,permanent:e.permanent});let f=Error(e.permanent?"Kiro refresh credential rejected":"Kiro refresh temporarily unavailable");throw f.name=e.permanent?"KiroRefreshCredentialError":"KiroRefreshTransientError",f.status=a.status,f.code=e.code,f.permanent=e.permanent,f}function B(a,b){a?.error?.("TOKEN_REFRESH",`Kiro ${b} refresh returned no access token`);let c=Error("Kiro refresh returned an invalid response");throw c.name="KiroRefreshTransientError",c.status=502,c.code="MISSING_ACCESS_TOKEN",c.permanent=!1,c}async function C(a,b){return a?o("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text();return x(a,c.status).permanent,z(a,c.status,b,"Codex")}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function D(a,b,c,e=null,i=null){return a?o("kiro",a,async i=>{let j=b?.authMethod,k=b?.clientId,l=b?.clientSecret,m=b?.region;if("external_idp"===j){let d;try{d=function(a,b={}){var c;let d=h(b.clientId||b.client_id),e=function(a){let b,c=h(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");if(!g.has(b.hostname.toLowerCase()))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}(b.tokenEndpoint||b.token_endpoint),f=Array.isArray(c=b.scope||b.scopes)?c.map(h).filter(Boolean).join(" "):h(c);if(!a)throw Error("refresh token is required");if(!d)throw Error("clientId is required for external_idp refresh");if(!f)throw Error("scope is required for external_idp refresh");return{tokenEndpoint:e,body:new URLSearchParams({grant_type:"refresh_token",client_id:d,refresh_token:a,scope:f}),providerSpecificData:{...b,authMethod:"external_idp",clientId:d,tokenEndpoint:e,scope:f}}}(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Kiro external IdP refresh rejected: ${a.message}`),null}let j=await (0,f.proxyAwareFetch)(d.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.body,signal:i},{...e,singleTransportAttempt:!0});if(!j.ok){let a=await j.text();return A(j,a,c,"external IdP")}let k=await j.json();return k?.access_token?{accessToken:k.access_token,refreshToken:k.refresh_token||a,expiresIn:k.expires_in,providerSpecificData:d.providerSpecificData}:B(c,"external IdP")}if(k&&l){let b="idc"===j&&m?`https://oidc.${m}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await (0,f.proxyAwareFetch)(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:k,clientSecret:l,refreshToken:a,grantType:"refresh_token"}),signal:i},{...e,singleTransportAttempt:!0});if(!d.ok){let a=await d.text();return A(d,a,c,"AWS")}let g=await d.json();return g?.accessToken?(c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!g.accessToken,expiresIn:g.expiresIn}),{accessToken:g.accessToken,refreshToken:g.refreshToken||a,expiresIn:g.expiresIn}):B(c,"AWS")}let n=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/2.12.2"},body:JSON.stringify({refreshToken:a}),signal:i},{...e,singleTransportAttempt:!0});if(!n.ok){let a=await n.text();return A(n,a,c,"social")}let o=await n.json();return o?.accessToken?(c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!o.accessToken,expiresIn:o.expiresIn}),{accessToken:o.accessToken,refreshToken:o.refreshToken||a,expiresIn:o.expiresIn}):B(c,"social")},c,i):null}async function E(a,b){return a?o("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok)return z(await f.text(),f.status,b,"iFlow");let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function F(a,b){return a?o("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok)return z(await f.text(),f.status,b,"GitHub");let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function G(a,b,c){if(!b.refreshToken&&"vertex"!==a&&"vertex-partner"!==a)return null;switch(a){case"gemini-cli":case"antigravity":return u(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return t(b.refreshToken,c);case"codex":return C(b.refreshToken,c);case"qwen":return v(b.refreshToken,c);case"codebuddy":return w(b.refreshToken,c,"codebuddy");case"codebuddy-cn":return w(b.refreshToken,c,"codebuddy-cn");case"iflow":return E(b.refreshToken,c);case"github":return F(b.refreshToken,c);case"kiro":return D(b.refreshToken,b.providerSpecificData,c);case"xai":case"grok-cli":return k(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=H(b.apiKey);if(!a)return null;return J(a,c)}default:return s(a,b.refreshToken,b,c)}}function H(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let I=new Map;async function J(a,b){let d=a.client_email,e=I.get(d);if(e&&e.expiresAt-Date.now()>3e5)return{accessToken:e.token,expiresAt:e.expiresAt};try{let{SignJWT:e,importPKCS8:f}=await c.e(3675).then(c.bind(c,3675));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let g=await f(a.private_key.replace(/\\n/g,"\n"),"RS256"),h=Math.floor(Date.now()/1e3),i=await new e({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience("https://oauth2.googleapis.com/token").setIssuedAt(h).setExpirationTime(h+3600).sign(g),j=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:i})});if(!j.ok){let a=await j.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:k,expires_in:l}=await j.json(),m=Date.now()+(l??3600)*1e3;return I.set(d,{token:k,expiresAt:m}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:k,expiresAt:m}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}},87404:(a,b,c)=>{"use strict";let{webidl:d}=c(32984),{validateCloseCodeAndReason:e}=c(94050),{kConstruct:f}=c(49176),{kEnumerableProperty:g}=c(84285);function h(){class a extends DOMException{get reason(){return""}}return void 0!==new a().reason?DOMException:new Proxy(DOMException,{construct(a,b,c){let d=Reflect.construct(a,b,a);return Object.setPrototypeOf(d,c.prototype),d}})}class i extends h(){#bC;#bw;constructor(a="",b){if(super(a=d.converters.DOMString(a,"WebSocketError","message"),"WebSocketError"),b===f)return;null!==b&&(b=d.converters.WebSocketCloseInfo(b));let c=b.closeCode??null;const g=b.reason??"";e(c,g),0!==g.length&&null===c&&(c=1e3),this.#bC=c,this.#bw=g}get closeCode(){return this.#bC}get reason(){return this.#bw}static createUnvalidatedWebSocketError(a,b,c){let d=new i(a,f);return d.#bC=b,d.#bw=c,d}}let{createUnvalidatedWebSocketError:j}=i;delete i.createUnvalidatedWebSocketError,Object.defineProperties(i.prototype,{closeCode:g,reason:g,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}}),d.is.WebSocketError=d.util.MakeTypeAssertion(i),a.exports={WebSocketError:i,createUnvalidatedWebSocketError:j}},87585:a=>{"use strict";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}}},87658:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToClaudeResponse:()=>i});var d=c(70556),e=c(42541);let f="proxy_";function g(a,b){a.thinkingBlockStarted&&(b.push({type:"content_block_stop",index:a.thinkingBlockIndex}),a.thinkingBlockStarted=!1)}function h(a,b){a.textBlockStarted&&!a.textBlockClosed&&(a.textBlockClosed=!0,b.push({type:"content_block_stop",index:a.textBlockIndex}),a.textBlockStarted=!1)}function i(a,b){if(!a||!a.choices?.[0])return null;let c=[],d=a.choices[0],e=d.delta;if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.prompt_tokens?a.usage.prompt_tokens:0,d="number"==typeof a.usage.completion_tokens?a.usage.completion_tokens:0,e=a.usage.prompt_tokens_details?.cached_tokens,f=a.usage.prompt_tokens_details?.cache_creation_tokens,g="number"==typeof e?e:0,h="number"==typeof f?f:0;b.usage={input_tokens:c-g-h,output_tokens:d},g>0&&(b.usage.cache_read_input_tokens=g),h>0&&(b.usage.cache_creation_input_tokens=h)}b.messageStartSent||(b.messageStartSent=!0,b.messageId=a.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!b.messageId||"chat"===b.messageId||b.messageId.length<8)&&(b.messageId=a.extend_fields?.requestId||a.extend_fields?.traceId||`msg_${Date.now()}`),b.model=a.model||"unknown",b.nextBlockIndex=0,c.push({type:"message_start",message:{id:b.messageId,type:"message",role:"assistant",model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let i=e?.reasoning_content||e?.reasoning;if(i&&(h(b,c),b.thinkingBlockStarted||(b.thinkingBlockIndex=b.nextBlockIndex++,b.thinkingBlockStarted=!0,c.push({type:"content_block_start",index:b.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),c.push({type:"content_block_delta",index:b.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:i}})),e?.content&&(g(b,c),b.textBlockStarted||(b.textBlockIndex=b.nextBlockIndex++,b.textBlockStarted=!0,b.textBlockClosed=!1,c.push({type:"content_block_start",index:b.textBlockIndex,content_block:{type:"text",text:""}})),c.push({type:"content_block_delta",index:b.textBlockIndex,delta:{type:"text_delta",text:e.content}})),e?.tool_calls)for(let a of e.tool_calls){let d=a.index??0;if(a.id){g(b,c),h(b,c);let e=b.nextBlockIndex++;b.toolCalls.set(d,{id:a.id,name:a.function?.name||"",blockIndex:e});let i=a.function?.name||"";i.startsWith(f)&&(i=i.slice(f.length)),c.push({type:"content_block_start",index:e,content_block:{type:"tool_use",id:a.id,name:i,input:{}}})}a.function?.arguments&&b.toolCalls.get(d)&&(b.toolArgBuffers||(b.toolArgBuffers=new Map),b.toolArgBuffers.set(d,(b.toolArgBuffers.get(d)||"")+a.function.arguments))}if(d.finish_reason){for(let[a,d]of(g(b,c),h(b,c),b.toolCalls)){let e=b.toolArgBuffers?.get(a);if(e){let a=function(a,b){try{let c=JSON.parse(b),d=a.startsWith(f)?a.slice(f.length):a;return"Read"===d&&function(a){var b,c;"string"==typeof a.limit&&/^\d+$/.test(a.limit)&&(a.limit=Number(a.limit)),"string"==typeof a.offset&&/^-?\d+$/.test(a.offset)&&(a.offset=Number(a.offset)),"number"==typeof a.limit&&(a.limit>2e3&&(a.limit=2e3),a.limit<1&&delete a.limit),"number"==typeof a.offset&&a.offset<0&&(a.offset=0),"pages"in a&&(b=a.file_path,c=a.pages,!("string"==typeof b&&b.toLowerCase().endsWith(".pdf")&&"string"==typeof c&&/^\d+(?:-\d+)?$/.test(c)))&&delete a.pages}(c),JSON.stringify(c)}catch{return b}}(d.name,e);c.push({type:"content_block_delta",index:d.blockIndex,delta:{type:"input_json_delta",partial_json:a}})}c.push({type:"content_block_stop",index:d.blockIndex})}b.finishReason=d.finish_reason;let a=b.usage||{input_tokens:0,output_tokens:0};c.push({type:"message_delta",delta:{stop_reason:function(a){switch(a){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(d.finish_reason)},usage:a}),c.push({type:"message_stop"})}return c.length>0?c:null}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,null,i)},87886:(a,b,c)=>{"use strict";c.r(b),c.d(b,{debug:()=>o,error:()=>r,errorLine:()=>l,fmtThink:()=>m,info:()=>p,line:()=>k,maskKey:()=>v,nextTag:()=>i,request:()=>s,response:()=>t,stream:()=>u,tagForSession:()=>j,warn:()=>q});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[process.env.LOG_LEVEL?.toUpperCase?.()]??d.INFO;function f(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let g=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],h=0;function i(){let a=g[h%g.length];return h+=1,a}function j(a){if(!a)return i();let b=0,c=String(a);for(let a=0;a<c.length;a+=1)b=31*b+c.charCodeAt(a)|0;return g[Math.abs(b)%g.length]}function k(a,b,c){e>d.INFO||console.log(`[${f()}] ${a||"⚪"} ${b} ${c}`)}function l(a,b,c){console.log(`[${f()}] ${a||"⚪"} ${b} ${c}`)}function m(a){return a&&a.mode?"none"===a.mode?"off":"auto"===a.mode?"auto":"budget"===a.mode?a.budget>=1e3?`${Math.round(a.budget/1e3)}k`:`${a.budget}`:"level"===a.mode?a.level:null:null}function n(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function o(a,b,c){if(e<=d.DEBUG){let d=c?` ${n(c)}`:"";console.log(`[${f()}] 🔍 [${a}] ${b}${d}`)}}function p(a,b,c){if(e<=d.INFO){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ℹ️ [${a}] ${b}${d}`)}}function q(a,b,c){if(e<=d.WARN){let d=c?` ${n(c)}`:"";console.warn(`[${f()}] ⚠️ [${a}] ${b}${d}`)}}function r(a,b,c){if(e<=d.ERROR){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ❌ [${a}] ${b}${d}`)}}function s(a,b,c){let d=c?` ${n(c)}`:"";console.log(`\x1b[36m[${f()}] 📥 ${a} ${b}${d}\x1b[0m`)}function t(a,b,c){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${d}`)}function u(a,b){let c=b?` ${n(b)}`:"";console.log(`[${f()}] 🌊 [STREAM] ${a}${c}`)}function v(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},88998:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A:()=>n});var e=c(70321),f=c(18922),g=c(25346),h=c(24081),i=c(86767),j=c(96947),k=c(39193),l=a([i]);i=(l.then?(await l)():l)[0],process.setMaxListeners(20);let m=globalThis.__appSingleton??={signalHandlersRegistered:!1,optionalConfigTimer:null,watchdogInterval:null,networkMonitorInterval:null,shutdownPromise:null,shuttingDown:!1},n=async function(){!function(){if(m.signalHandlersRegistered)return;let a=()=>(m.shutdownPromise||(m.shuttingDown=!0,m.optionalConfigTimer&&clearTimeout(m.optionalConfigTimer),m.optionalConfigTimer=null,m.shutdownPromise=(async()=>{try{await (0,k.fD)()}catch(a){console.error("[InitApp] optional services stop failed:",a)}try{await (0,j.DO)()}catch(a){console.error("[InitApp] token refresh stop failed:",a)}try{await (0,i.UT)()}catch(a){console.error("[InitApp] quota refresh stop failed:",a)}try{await (0,g.d_)()}catch(a){console.error("[InitApp] usage flush failed:",a)}try{await (0,f.cj)()}catch(a){console.error("[InitApp] request detail flush failed:",a)}try{await (0,h.y5)()}catch(a){console.error("[InitApp] database close failed:",a)}process.exit()})()),m.shutdownPromise);process.on("SIGINT",a),process.on("SIGTERM",a),m.signalHandlersRegistered=!0}();try{await (0,e.bI)(),await (0,e.mt)(),(0,i.EW)(),(0,j.LP)(),m.optionalConfigTimer||m.shuttingDown||(m.optionalConfigTimer=setTimeout(()=>{m.optionalConfigTimer=null,(0,e.mt)().then(a=>(0,k.rg)(a,"startup")).catch(a=>{console.error("[InitApp] optional service configuration failed:",a)})},3e3),m.optionalConfigTimer.unref?.())}catch(a){console.error("[InitApp] Error:",a)}};d()}catch(a){d(a)}})},89409:(a,b,c)=>{"use strict";let d=c(84285),{parseCacheControlHeader:e,hasInvalidCacheControlDirective:f,parseVaryHeader:g,hasVaryStar:h,isInvalidOrWildcardVaryHeader:i,isEtagUsable:j}=c(79468),{parseHttpDate:k}=c(24214);function l(){}let m=[200,203,204,206,300,301,308,404,405,410,414,501],n=[206];function o(a,b){for(let c=0;c<a.length;c++)if(a[c]===b)return!0;return!1}function p(a,b,c){s(a,{...b,path:c});for(let e=0;e<d.safeHTTPMethods.length;e++){let f=d.safeHTTPMethods[e];f!==b.method&&s(a,{...b,method:f,path:c})}}function q(a,b,c){if(void 0===c)return;let d=Array.isArray(c)?c:[c];for(let c=0;c<d.length;c++){let e=function(a,b){let c,d,e;if("string"==typeof b){try{c=new URL(a.origin),d=new URL(a.path,c),e=new URL(b,d)}catch{return}if(e.origin===c.origin)return e.pathname+e.search}}(b,d[c]);void 0!==e&&p(a,b,e)}}class r{#bD;#bE;#bF;#bG;#ay;#bH;constructor({store:a,type:b,cacheByDefault:c},d,e){this.#bG=a,this.#bE=b,this.#bF=c,this.#bD=d,this.#ay=e}onRequestStart(a,b){this.#bH?.destroy(),this.#bH=void 0,this.#ay.onRequestStart?.(a,b)}onRequestUpgrade(a,b,c,d){this.#ay.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,l){var r,u,v,w,x,y,z,A,B,C;let D,E=()=>this.#ay.onResponseStart?.(a,b,c,l),F=this;if(!o(d.safeHTTPMethods,this.#bD.method)&&b>=200&&b<=399){return r=this.#bG,u=this.#bD,p(r,u,u.path),q(r,u,c.location),q(r,u,c["content-location"]),E()}let G=c["cache-control"],H=c["last-modified"]&&o(m,b);if(!G&&!c.expires&&!H&&!this.#bF)return 304===b&&c.vary&&i(c.vary)&&s(this.#bG,this.#bD),E();let I=G?e(G):{};if(v=this.#bE,w=b,x=c,y=I,z=this.#bD.headers,w<200||o(n,w)||!o(m,w)&&!x.expires&&!y.public&&void 0===y["max-age"]&&!(y.private&&"private"===v)&&(void 0===y["s-maxage"]||"shared"!==v)||y["no-store"]||"shared"===v&&!0===y.private||x.vary&&h(x.vary)||null!=z&&Object.hasOwn(z,"authorization")&&(!y.public&&!y["s-maxage"]&&!y["must-revalidate"]||"string"!=typeof z.authorization||Array.isArray(y["no-cache"])&&o(y["no-cache"],"authorization")||Array.isArray(y.private)&&o(y.private,"authorization"))||0){return 304===b&&(G||(A=this.#bE,B=c,!0===(C=I)["no-store"]||"shared"===A&&!0===C.private||B.vary&&i(B.vary)))&&s(this.#bG,this.#bD),E()}let J=Date.now(),K=Object.hasOwn(c,"age")?function(a){let b=a;if(Array.isArray(b)){if(1!==b.length)return 2147483647e3;b=b[0]}if("string"!=typeof b||!/^[\t ]*[0-9]+[\t ]*$/.test(b))return 2147483647e3;let c=BigInt(b.replace(/^[\t ]+|[\t ]+$/g,""));return c>=BigInt(0x7fffffff)?2147483647e3:1e3*Number(c)}(c.age):void 0;if(void 0!==K&&K>=2147483647e3)return t(b,this.#bG,this.#bD),E();let L=Object.hasOwn(c,"date")?function(a){let b=a;if(Array.isArray(b)){if(1!==b.length)return null;b=b[0]}return"string"!=typeof b?null:k(b)}(c.date):void 0;if(null===L)return t(b,this.#bG,this.#bD),E();let M=Math.max(L?Math.max(0,J-L.getTime()):0,K??0),N="string"==typeof c.etag&&j(c.etag)||"string"==typeof c["last-modified"],O=function(a,b,c,d,e,g,h){if("shared"===a){if(f(g,"s-maxage"))return 0;let a=g["s-maxage"];if(void 0!==a)return a>0?1e3*a:0}if(f(g,"max-age"))return 0;let i=g["max-age"];if(void 0!==i)return i>0?1e3*i:0;if(Object.hasOwn(d,"expires")){if("string"!=typeof d.expires)return 0;let a=k(d.expires);if(!a||b>=a.getTime())return 0;if(e){if(e>=a)return 0;let b=a.getTime()-e.getTime();return void 0!==c&&c>=b?0:b}return a.getTime()-b}if("string"==typeof d["last-modified"]){let a=k(d["last-modified"]);if(a){if(a.getTime()>=b)return;return .1*(b-a.getTime())}}return g.immutable?31536e6:!0===g["no-cache"]&&h?0:void 0}(this.#bE,J,K,c,L,I,N)??this.#bF,P=0===O&&N;if(void 0===O||M>=O&&!P)return(G||void 0!==O)&&t(b,this.#bG,this.#bD),E();let Q=J-M,R=O+Q;if(J>=R&&!P)return t(b,this.#bG,this.#bD),E();if(this.#bD.headers&&c.vary&&!(D=g(c.vary,this.#bD.headers)))return E();let S=function(a,b,c,d){let e=-1/0,f=-1/0,g=-1/0;if(c["stale-while-revalidate"]&&(e=d+1e3*c["stale-while-revalidate"]),c["stale-if-error"]&&(f=d+1e3*c["stale-if-error"]),c.immutable&&e===-1/0&&f===-1/0&&(g=b+31536e6),e===-1/0&&f===-1/0&&g===-1/0){let c=d-a;return c<=0?b+864e5:d+c+Math.min(Math.max(b-a,0),1e3)}return Math.max(d,e,f,g)}(Q,J,I,R),T=function(a,b){let c,d=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];for(let e of(a.connection&&function(a,b){let c=Array.isArray(b)?b:[b];for(let b=0;b<c.length;b++){let d=c[b].split(",");for(let b=0;b<d.length;b++)a.push(d[b].replace(/^[\t ]+|[\t ]+$/g,"").toLowerCase())}}(d,a.connection),Array.isArray(b["no-cache"])&&d.push(...b["no-cache"]),Array.isArray(b.private)&&d.push(...b.private),d))Object.hasOwn(a,e)&&(c??={...a},delete c[e]);return c??a}(c,I),U={statusCode:b,statusMessage:l,headers:T,vary:D,cacheControlDirectives:I,cachedAt:Q,staleAt:R,deleteAt:S};if(304===b){let b=b=>{if(!b)return E();if(U.statusCode=b.statusCode,U.statusMessage=b.statusMessage,U.etag=b.etag,U.vary=D??b.vary,U.headers={...b.headers,...T},E(),this.#bH=this.#bG.createWriteStream(this.#bD,U),this.#bH&&b?.body)if("function"==typeof b.body.values){let c=b.body.values(),d=()=>{for(let b of c){let c=!1===this.#bH.write(b);if(this.#ay.onResponseData?.(a,b),c)break}};this.#bH.on("error",function(){F.#bH=void 0,F.#bG.delete(F.#bD)}).on("drain",()=>{d()}).on("close",function(){F.#bH===this&&(F.#bH=void 0)}),d()}else"function"==typeof b.body.on&&(b.body.on("data",b=>{this.#bH.write(b),this.#ay.onResponseData?.(a,b)}).on("end",()=>{this.#bH.end()}).on("error",()=>{this.#bH=void 0,this.#bG.delete(this.#bD)}),this.#bH.on("error",function(){F.#bH=void 0,F.#bG.delete(F.#bD)}).on("close",function(){F.#bH===this&&(F.#bH=void 0)}))},c=this.#bG.get(this.#bD);c&&"function"==typeof c.then?c.then(b):b(c)}else{if("string"==typeof c.etag&&j(c.etag)&&(U.etag=c.etag),this.#bH=this.#bG.createWriteStream(this.#bD,U),!this.#bH)return E();this.#bH.on("drain",()=>a.resume()).on("error",function(){F.#bH=void 0,F.#bG.delete(F.#bD)}).on("close",function(){F.#bH===this&&(F.#bH=void 0),a.resume()}),E()}}onResponseData(a,b){this.#bH?.write(b)===!1&&a.pause(),this.#ay.onResponseData?.(a,b)}onResponseEnd(a,b){this.#bH?.end(),this.#ay.onResponseEnd?.(a,b)}onResponseError(a,b){this.#bH?.destroy(b),this.#bH=void 0,this.#ay.onResponseError?.(a,b)}}function s(a,b){try{a.delete(b)?.catch?.(l)}catch{}}function t(a,b,c){304===a&&s(b,c)}a.exports=r},89512:(a,b,c)=>{"use strict";let d=c(37417),e=c(65630),{SnapshotRecorder:f}=c(94279),{InvalidArgumentError:g,UndiciError:h}=c(61448),i=c(84285),{validateSnapshotMode:j}=c(47800),k=Symbol("kSnapshotRecorder"),l=Symbol("kSnapshotMode"),m=Symbol("kSnapshotPath"),n=Symbol("kSnapshotLoaded"),o=Symbol("kRealAgent"),p=!1;class q extends e{constructor(a={}){p||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),p=!0);const{mode:b="record",snapshotPath:c=null,...e}=a;if(super(e),j(b),("playback"===b||"update"===b)&&!c)throw new g(`snapshotPath is required when mode is '${b}'`);this[l]=b,this[m]=c,this[k]=new f({snapshotPath:this[m],mode:this[l],maxSnapshots:a.maxSnapshots,autoFlush:a.autoFlush,flushInterval:a.flushInterval,matchHeaders:a.matchHeaders,ignoreHeaders:a.ignoreHeaders,excludeHeaders:a.excludeHeaders,matchBody:a.matchBody,normalizeBody:a.normalizeBody,matchQuery:a.matchQuery,normalizeQuery:a.normalizeQuery,caseSensitive:a.caseSensitive,shouldRecord:a.shouldRecord,shouldPlayback:a.shouldPlayback,excludeUrls:a.excludeUrls}),this[n]=!1,("record"===this[l]||"update"===this[l]||"playback"===this[l]&&a.excludeUrls&&a.excludeUrls.length>0)&&(this[o]=new d(a)),("playback"===this[l]||"update"===this[l])&&this[m]&&this.loadSnapshots().catch(()=>{})}dispatch(a,b){let c=this[l];if(this[k].isUrlExcluded(a))return this[o].dispatch(a,b);if("playback"===c||"update"===c){if(!this[n])return this.#bI(a,b);let d=this[k].findSnapshot(a);if(d)return this.#bJ(d,b);{if("update"===c)return this.#bK(a,b);let d=new h(`No snapshot found for ${a.method||"GET"} ${a.path}`);if(b.onResponseError)return void b.onResponseError(null,d);throw d}}if("record"===c)return this.#bK(a,b)}async #bI(a,b){return await this.loadSnapshots(),this.dispatch(a,b)}#bK(a,b){let c={statusCode:null,headers:{},trailers:{},body:[]},d=this;return this[o].dispatch(a,{onRequestStart(a,c){return b.onRequestStart(a,{...c,history:this.history})},onRequestUpgrade:(a,c,d,e)=>b.onRequestUpgrade(a,c,d,e),onResponseStart:(a,d,e,f)=>(c.statusCode=d,c.headers=e,b.onResponseStart(a,d,e,f)),onResponseData:(a,d)=>(c.body.push(d),b.onResponseData(a,d)),onResponseEnd(e,f){c.trailers=f;let g=Buffer.concat(c.body);d[k].record(a,{statusCode:c.statusCode,headers:c.headers,body:g,trailers:c.trailers}).then(()=>b.onResponseEnd(e,f)).catch(a=>b.onResponseError(e,a))},onResponseError:(a,c)=>b.onResponseError(a,c)})}#bJ(a,b){try{let{response:c}=a,d=c.headers?i.toRawHeaders(c.headers):[],e=c.trailers?i.toRawHeaders(c.trailers):[],f={rawHeaders:d,rawTrailers:e,pause(){},resume(){},abort(a){this.aborted=!0,this.reason=a},aborted:!1,paused:!1};b.onRequestStart(f),b.onResponseStart(f,c.statusCode,c.headers,c.statusMessage);let g=Buffer.from(c.body,"base64");b.onResponseData(f,g),b.onResponseEnd(f,c.trailers)}catch(a){b.onResponseError?.(null,a)}}async loadSnapshots(a){await this[k].loadSnapshots(a||this[m]),this[n]=!0,"playback"===this[l]&&this.#bL()}async saveSnapshots(a){return this[k].saveSnapshots(a||this[m])}#bL(){for(let a of this[k].getSnapshots()){let{request:b,responses:c,response:d}=a,e=new URL(b.url),f=this.get(e.origin),g=c?c[0]:d;g&&f.intercept({path:e.pathname+e.search,method:b.method,headers:b.headers,body:b.body}).reply(g.statusCode,g.body,{headers:g.headers,trailers:g.trailers}).persist()}}getRecorder(){return this[k]}getMode(){return this[l]}clearSnapshots(){this[k].clear()}resetCallCounts(){this[k].resetCallCounts()}deleteSnapshot(a){return this[k].deleteSnapshot(a)}getSnapshotInfo(a){return this[k].getSnapshotInfo(a)}replaceSnapshots(a){this[k].replaceSnapshots(a)}async close(){"playback"===this[l]?this[k].destroy():await this[k].close(),await this[o]?.close(),await super.close()}}a.exports=q},90053:a=>{"use strict";a.exports={rE:"1.1.28"}},90181:(a,b,c)=>{"use strict";c.d(b,{getPricingForModel:()=>f}),c(24081);let d=(0,c(58609).U)("pricing");async function e(){return await d.getAll()}async function f(a,b){if(!b)return null;let d=await e();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:f}=await c.e(7464).then(c.bind(c,87464));return f(a,b)}},90249:(a,b,c)=>{"use strict";let d=c(53053),e=c(84285),f=c(32264),{normalizeHeaders:g,makeCacheKey:h,makeDeduplicationKey:i}=c(79468),j=d.channel("undici:request:pending-requests");a.exports=(a={})=>{let{methods:b=["GET"],skipHeaderNames:c=[],excludeHeaderNames:d=[],maxBufferSize:k=5242880}=a;if("object"!=typeof a||null===a)throw TypeError(`expected type of opts to be an Object, got ${null===a?"null":typeof a}`);if(!Array.isArray(b))throw TypeError(`expected opts.methods to be an array, got ${typeof b}`);for(let a of b)if(!e.safeHTTPMethods.includes(a))throw TypeError(`expected opts.methods to only contain safe HTTP methods, got ${a}`);if(!Array.isArray(c))throw TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof c}`);if(!Array.isArray(d))throw TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof d}`);if(!Number.isFinite(k)||k<=0)throw TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${k}`);let l=new Set(c.map(a=>a.toLowerCase())),m=new Set(d.map(a=>a.toLowerCase())),n=new Map;return a=>(c,d)=>{if(c.upgrade||!1===b.includes(c.method))return a(c,d);if(c={...c,headers:g(c)},l.size>0){for(let b of Object.keys(c.headers))if(l.has(b.toLowerCase()))return a(c,d)}let e=i(h(c),m),o=n.get(e);if(o)return!!o.addWaitingHandler(d)||a(c,d);let p=new f(d,()=>{n.delete(e),j.hasSubscribers&&j.publish({size:n.size,key:e,type:"removed"})},k);return n.set(e,p),j.hasSubscribers&&j.publish({size:n.size,key:e,type:"added"}),a(c,p)}}},90548:(a,b,c)=>{"use strict";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(8735),i=c(42541),j=c(21616),k=c(79499),l=c(84238);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)},90943:(a,b,c)=>{"use strict";c.d(b,{Jm:()=>h,od:()=>i});let d=new Set(["blocklist","content-filter","content_filter","image_safety","model_armor","prohibited_content","recitation","refusal","safety","spii"]),e=new Set(["length","max-tokens","max_tokens"]),f=new Set(["tool-calls","tool-use","tool_calls","tool_use"]),g=new Set(["completed","end-turn","end_of_sequence","end_turn","eos","finish_reason_unspecified","stop","stop_sequence"]);function h(a,{hasToolCalls:b=!1}={}){let c=String(a||"").trim().toLowerCase();return d.has(c)?"content_filter":e.has(c)?"length":f.has(c)?"tool_calls":(g.has(c),b?"tool_calls":"stop")}function i(a){return d.has(String(a||"").trim().toLowerCase())}},91083:(a,b,c)=>{"use strict";"u">typeof process&&process.versions?.node,"u">typeof process&&process.env?.ENABLE_REQUEST_LOGS},91120:(a,b,c)=>{"use strict";c.d(b,{j:()=>h});var d=c(69384),e=c(30395),f=c(80015);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"}}}},91297:(a,b,c)=>{"use strict";c.d(b,{cV:()=>x});var d=c(55511),e=c.n(d),f=c(69384),g=c(30395),h=c(48991),i=c(8735),j=c(46956),k=c(11484),l=c(13324);let m=["opencode","open-code","cline","roo-cline","roo_cline","cursor","windsurf","aider","continue.dev","copilot","avante","codecompanion","claude code","claude-code","kilo code","kilocode","zevairouter","zevairouter"],n=new Map,o=new Set(["properties","patternProperties","$defs","definitions","dependencies","dependentSchemas","dependentRequired"]),p=new Set(["name","enum","const"]),q=new Set(["args","arguments","response"]),r=new Set(["x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-forwarded-port","x-real-ip","forwarded","via","x-title","x-stainless-lang","x-stainless-package-version","x-stainless-os","x-stainless-arch","x-stainless-runtime","x-stainless-runtime-version","x-stainless-timeout","x-stainless-retry-count","x-stainless-helper-method","http-referer","referer","sec-ch-ua","sec-ch-ua-mobile","sec-ch-ua-platform","sec-fetch-mode","sec-fetch-site","sec-fetch-dest","priority","accept-encoding"]);var s=c(22067);let t=/restricted from using Gemini Code Assist for individuals in your organization/i,u=[/image/i,/imagen/i];function v(a){return!!a&&u.some(b=>b.test(a))}function w(a){if(!a||"object"!=typeof a||a.thought&&!a.functionCall||a.thoughtSignature&&!a.functionCall&&!a.text)return!1;let b="string"==typeof a.text&&a.text.trim().length>0,c=Object.entries(a).some(([a,b])=>"text"!==a&&"thought"!==a&&"thoughtSignature"!==a&&null!=b);return b||c}class x extends f.Hv{constructor(){super("antigravity",g.xq.antigravity)}buildUrl(a,b,c=0){let d=this.getBaseUrls(),e=d[c]||d[0],f=v(a);return`${e}/v1internal:${b&&!f?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0,c=null,d=null){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":(0,h.rJ)(d)}}transformRequest(a,b,c,d){let e=d?.projectId||d?.providerSpecificData?.projectId||this.generateProjectId();if(v(a)){let c=function(a){let b={aspectRatio:"1:1"},c=String(a).match(/(\d+)x(\d+)$/);if(c){let a=parseInt(c[1]),d=parseInt(c[2]);if(a<=16&&d<=16)b.aspectRatio=`${a}:${d}`;else{let c=(a,b)=>b?c(b,a%b):a,e=c(a,d)||1;b.aspectRatio=`${a/e}:${d/e}`}}return b}(a),f=String(a).replace(/-(\d+)x(\d+)$/,""),g=[];for(let a of b.request?.contents||b.contents||[]){let b=(a.parts||[]).filter(a=>void 0!==a.text||void 0!==a.inlineData);b.length>0&&g.push({role:a.role||"user",parts:b})}let h={contents:g,generationConfig:{temperature:1,topP:.95,topK:40,maxOutputTokens:8192,imageConfig:c},sessionId:b.request?.sessionId||(0,s.a0)(d)};return{project:e,model:f,userAgent:(0,s.Xv)(d),requestType:"image_gen",requestId:(0,s.VC)({body:b,request:h,credentials:d,model:f,requestType:"image_gen"}),request:h}}let f=b.request?.contents?function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a){let a=Array.isArray(c?.parts)?c.parts.filter(w):[];0!==a.length&&b.push({...c,role:a.some(a=>a.functionResponse)?"user":c.role||"user",parts:a})}if(0===b.length)return[];"user"!==b[0].role&&(b[0]={...b[0],role:"user"});let c=new Map,d=new Set;for(let a=0;a<b.length;a++){let e=b[a];for(let b=0;b<e.parts.length;b++){let f=e.parts[b],g=f.functionCall?.name;if(g){let d=c.get(g)||[];d.push(`${a}:${b}`),c.set(g,d);continue}let h=f.functionResponse?.name,i=h&&c.get(h);i?.length&&d.add(i.shift())}}let e=[],f=a=>{let b=e[e.length-1];b?.role===a.role?b.parts.push(...a.parts):e.push(a)};for(let a=0;a<b.length;a++){let c=b[a];if(f({...c,parts:[...c.parts]}),a+1>=b.length)continue;let e=[];for(let b=0;b<c.parts.length;b++){let f=c.parts[b].functionCall?.name;f&&!d.has(`${a}:${b}`)&&e.push({functionResponse:{name:f,response:{}}})}e.length>0&&f({role:"user",parts:e})}return e}(b.request.contents):void 0,g=b.request?.tools;if(g&&g.length>0){let a=g.flatMap(a=>(a.functionDeclarations||[]).map(a=>({...a,name:function(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}(a.name),parameters:a.parameters?(0,l.Yr)(structuredClone(a.parameters)):{type:"object",properties:{reason:{type:"string",description:"Brief explanation"}},required:["reason"]}})));g=a.length>0?[{functionDeclarations:a}]:[]}let{tools:h,toolConfig:i,...j}=b.request||{},k={...j.generationConfig||{}};k.maxOutputTokens>64e3&&(k.maxOutputTokens=64e3);let m={...j,generationConfig:k,...f&&{contents:f},...g&&{tools:g},sessionId:b.request?.sessionId||(0,s.a0)(d),safetySettings:void 0,...g?.length>0&&{toolConfig:i?.functionCallingConfig?i:{functionCallingConfig:{mode:"VALIDATED"}}}};return{...b,project:e,model:a,userAgent:(0,s.Xv)(d),requestType:"agent",requestId:(0,s.VC)({body:b,request:m,credentials:d,model:a,requestType:"agent"}),request:m}}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;try{let d=await (0,j.proxyAwareFetch)(h.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})},c);if(!d.ok)return await (0,k.aI)(d),null;let e=await d.json();return b?.info?.("TOKEN","Antigravity refreshed"),{accessToken:e.access_token,refreshToken:e.refresh_token||a.refreshToken,expiresIn:e.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Antigravity refresh error: ${a.message}`),null}}generateProjectId(){let a=["useful","bright","swift","calm","bold"][Math.floor(5*Math.random())],b=["fuze","wave","spark","flow","core"][Math.floor(5*Math.random())];return`${a}-${b}-${e().randomUUID().slice(0,5)}`}generateSessionId(){return e().randomUUID()+Date.now().toString()}parseRetryHeaders(a){if(!a?.get)return null;let b=a.get("retry-after");if(b){let a=parseInt(b,10);if(!isNaN(a)&&a>0)return 1e3*a;let c=new Date(b);if(!isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}}let c=a.get("x-ratelimit-reset-after");if(c){let a=parseInt(c,10);if(!isNaN(a)&&a>0)return 1e3*a}let d=a.get("x-ratelimit-reset");if(d){let a=1e3*parseInt(d,10)-Date.now();return a>0?a:null}return null}parseRetryFromErrorMessage(a){if(!a||"string"!=typeof a)return null;let b=a.match(/reset(?:s)?(?: after| in)?\s*:?\s*(\d+h)?(\d+m)?(\d+(?:\.\d+)?s)?/i);if(!b||!b[1]&&!b[2]&&!b[3])return null;let c=0;return b[1]&&(c+=3600*parseInt(b[1])*1e3),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=Math.round(1e3*parseFloat(b[3]))),c>0?c:null}parseError(a,b){if(a.status===i.gx.FORBIDDEN){let a=null;try{a=JSON.parse(b)}catch{}let c=a?.error?.message||a?.message||b;if((Array.isArray(a?.error?.details)?a.error.details:[]).find(a=>a?.["@type"]==="type.googleapis.com/google.rpc.ErrorInfo"&&a?.reason==="VALIDATION_REQUIRED"))return{status:i.gx.FORBIDDEN,message:c,failureClass:"account_validation_required",providerErrorCode:"VALIDATION_REQUIRED",refreshRecommended:!1};if(t.test(b||""))return{status:i.gx.FORBIDDEN,message:c,failureClass:"policy_suspended",providerErrorCode:"ORG_CODE_ASSIST_RESTRICTED",refreshRecommended:!1}}if(a.status===i.gx.RATE_LIMITED&&b)try{let a=JSON.parse(b),c=a?.error,d=Array.isArray(c?.details)?c.details:[],e=Date.now(),f=null;for(let a of d){let b=a?.metadata;if(b?.quotaResetTimeStamp){let a=Date.parse(b.quotaResetTimeStamp);if(!Number.isNaN(a)&&a>e){f=a;break}}let c=function(a){if("string"!=typeof a)return null;let b=a.trim();if(!b)return null;if(b.endsWith("ms")){let a=parseFloat(b.slice(0,-2));return Number.isFinite(a)?a:null}let c=b.match(/^(?:(\d+(?:\.\d+)?)h)?(?:(\d+(?:\.\d+)?)m)?(?:(\d+(?:\.\d+)?)s)?$/);if(c&&(c[1]||c[2]||c[3])){let a=parseFloat(c[1]||"0"),b=parseFloat(c[2]||"0");return Math.round((3600*a+60*b+parseFloat(c[3]||"0"))*1e3)}return null}(b?.quotaResetDelay||a?.retryDelay);if(null!==c&&c>0){let a=e+c;(!f||a>f)&&(f=a)}}if(f)return{status:429,message:c?.message||b,resetsAtMs:f}}catch{}return super.parseError(a,b)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.getFallbackCount(),l=null,s=0,t={},u={},v=!1,w=!1;for(let x=0;x<h;x++){let y=this.buildUrl(a,c,x),z=this.transformRequest(a,b,c,d);w&&z.request&&(z.enabledCreditTypes=["GOOGLE_ONE_AI"]),z=function(a){if(null==a||"object"!=typeof a)return a;try{let{value:b}=function a(b){if("string"==typeof b){let a=function(a){if(!a||0===m.length)return a;let b=a;for(let a of m){if(!a)continue;let c=function(a){let b=n.get(a);return b||(n.size>2e3&&n.clear(),b=RegExp(a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi"),n.set(a,b)),b}(a);b=b.replace(c,a=>a.length<=1?a:a[0]+"‍"+a.slice(1))}return b}(b);return{value:a,changed:a!==b}}if(Array.isArray(b)){let c=!1,d=b.map(b=>{let d=a(b);return d.changed&&(c=!0),d.value});return c?{value:d,changed:!0}:{value:b,changed:!1}}if(b&&"object"==typeof b){let c=!1,d={};for(let[e,f]of Object.entries(b))if(o.has(e)&&f&&"object"==typeof f&&!Array.isArray(f)){let b={},g=!1;for(let[c,d]of Object.entries(f)){let e=a(d);e.changed&&(g=!0),b[c]=e.value}d[e]=g?b:f,g&&(c=!0)}else if("required"===e||"propertyNames"===e)d[e]=f;else if(p.has(e))d[e]=f;else if(q.has(e)||("input"===e?b?.type==="tool_use":"content"===e&&b?.type==="tool_result"))d[e]=f;else{let b=a(f);b.changed&&(c=!0),d[e]=b.value}return c?{value:d,changed:!0}:{value:b,changed:!1}}return{value:b,changed:!1}}(a);return b}catch{return a}}(z);let A=z.request?.sessionId,B=function(a){let b,c={};for(let[d,e]of Object.entries(a||{})){let a=d.toLowerCase();if(!(a.startsWith("x-zevai-")||r.has(a))){if("authorization"===a){b=e;continue}c[d]=e}}return void 0!==b&&(c.Authorization=b),c}(this.buildHeaders(d,c,A,a));t[x]||(t[x]=0),u[x]||(u[x]=0);try{let a=await (0,j.proxyAwareFetch)(y,{method:"POST",headers:B,body:JSON.stringify(z),signal:e},g);if(a.status===i.gx.RATE_LIMITED||a.status===i.gx.SERVICE_UNAVAILABLE){if(a.status===i.gx.RATE_LIMITED&&!1===this.config.retrySameCredential429)return{response:a,url:y,headers:B,transformedBody:z};let b=this.parseRetryHeaders(a.headers),c="";if(!b)try{let d=await a.clone().text(),e=JSON.parse(d);c=e?.error?.message||e?.message||"",b=this.parseRetryFromErrorMessage(c)}catch(a){}if(a.status===i.gx.RATE_LIMITED&&!v&&/quota[_ ]?exhausted|quota reached|individual quota|enable overages/i.test(c)){v=!0,w=!0,f?.debug?.("RETRY","429 quota exhausted → retrying once with GOOGLE_ONE_AI credits"),await (0,k.aI)(a),x--;continue}if(a.status===i.gx.RATE_LIMITED&&/quota[_ ]?exhausted|quota reached|individual quota|enable overages/i.test(c)&&(!b||b>1e4))return f?.debug?.("RETRY",`429 quota exhausted${b?` (resets in ${Math.ceil(b/36e5)}h)`:""} — skipping futile retries, moving to next account`),s=a.status,{response:a,url:y,headers:B,transformedBody:z};if(b&&b<=1e4&&u[x]<3){u[x]++,f?.debug?.("RETRY",`${a.status} with Retry-After: ${Math.ceil(b/1e3)}s, waiting... (${u[x]}/3)`),await (0,k.aI)(a),await new Promise(a=>setTimeout(a,b)),x--;continue}if(a.status===i.gx.RATE_LIMITED&&(!b||0===b)&&t[x]<3){t[x]++;let b=Math.min(1e3*2**t[x],1e4);f?.debug?.("RETRY",`429 auto retry ${t[x]}/3 after ${b/1e3}s`),await (0,k.aI)(a),await new Promise(a=>setTimeout(a,b)),x--;continue}if(f?.debug?.("RETRY",`${a.status}, Retry-After ${b?`too long (${Math.ceil(b/1e3)}s)`:"missing"}, trying fallback`),s=a.status,x+1<h){await (0,k.aI)(a);continue}}if(this.shouldRetry(a.status,x)){f?.debug?.("RETRY",`${a.status} on ${y}, trying fallback ${x+1}`),s=a.status,await (0,k.aI)(a);continue}return{response:a,url:y,headers:B,transformedBody:z}}catch(a){if(l=a,x+1<h){f?.debug?.("RETRY",`Error on ${y}, trying fallback ${x+1}`);continue}throw a}}throw l||Error(`All ${h} URLs failed with status ${s}`)}}},91358:(a,b,c)=>{"use strict";c.d(b,{K:()=>e});var d=c(66678);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}}},91492:(a,b,c)=>{"use strict";c.d(b,{A:()=>u});var d=c(69384),e=c(42541),f=c(70556),g=c(15822),h=c(42671),i=c(70884),j=c(41222),k=c(28113),l=c(56248),m=c(98151);let n="Anthropic",o="OpenAi",p="Google";function q(a,b){let c=String(a||"").toLowerCase();if("anthropic"===c)return n;if("openai"===c||"open_ai"===c)return o;if("google"===c||"gemini"===c)return p;if("xai"===c||"x_ai"===c||"x-ai"===c)return"XAi";let d=String(b||"").toLowerCase();return d.includes("claude")?n:d.includes("gemini")?p:d.includes("grok")||d.includes("xai")?"XAi":o}function r(a,b,c){return a===n?(0,j.claudeToOpenAIResponse)(b,c):a===p?(0,k.geminiToOpenAIResponse)(b,c):a===o?(0,l.openaiResponsesToOpenAIResponse)(b,c):b}function s(a,b,c){if(c)for(let d of Array.isArray(c)?c:[c])d&&a.enqueue(b.encode(`data: ${JSON.stringify(d)}
454
+ `),o("data: [DONE]\n\n")}f.close()}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(){return null}}},84285:(a,b,c)=>{"use strict";let d=c(34589),{kDestroyed:e,kBodyUsed:f,kListeners:g,kBody:h}=c(49176),{IncomingMessage:i}=c(37067),j=c(57075),k=c(77030),{stringify:l}=c(41792),{EventEmitter:m,addAbortListener:n}=c(78474),o=c(64704),{InvalidArgumentError:p,ConnectTimeoutError:q}=c(61448),{headerNameLowerCasedRecord:r}=c(28820),{tree:s}=c(36649);class t{constructor(a){this[h]=a,this[f]=!1}async *[Symbol.asyncIterator](){d(!this[f],"disturbed"),this[f]=!0,yield*this[h]}}function u(){}function v(a){return a&&"object"==typeof a&&"function"==typeof a.pipe&&"function"==typeof a.on}function w(a){return a instanceof Blob}function x(a){return a.includes("?")||a.includes("#")}function y(a){let b=parseInt(a,10);return b===Number(a)&&b>=0&&b<=65535}function z(a){return null!=a&&"h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3]&&(":"===a[4]||"s"===a[4]&&":"===a[5])}function A(a){if("string"==typeof a){if(!z((a=new URL(a)).origin||a.protocol))throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.");return a}if(!a||"object"!=typeof a)throw new p("Invalid URL: The URL argument must be a non-null object.");if(!(a instanceof URL)){if(null!=a.port&&""!==a.port&&!1===y(a.port))throw new p("Invalid URL: port must be a valid integer or a string representation of an integer.");if(null!=a.path&&"string"!=typeof a.path)throw new p("Invalid URL path: the path must be a string or null/undefined.");if(null!=a.pathname&&"string"!=typeof a.pathname)throw new p("Invalid URL pathname: the pathname must be a string or null/undefined.");if(null!=a.hostname&&"string"!=typeof a.hostname)throw new p("Invalid URL hostname: the hostname must be a string or null/undefined.");if(null!=a.origin&&"string"!=typeof a.origin)throw new p("Invalid URL origin: the origin must be a string or null/undefined.");if(!z(a.origin||a.protocol))throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.");let b=null!=a.port?a.port:"https:"===a.protocol?443:80,c=null!=a.origin?a.origin:`${a.protocol||""}//${a.hostname||""}:${b}`,d=null!=a.path?a.path:`${a.pathname||""}${a.search||""}`;return"/"===c[c.length-1]&&(c=c.slice(0,c.length-1)),d&&"/"!==d[0]&&(d=`/${d}`),new URL(`${c}${d}`)}if(!z(a.origin||a.protocol))throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.");return a}function B(a){return null!=a&&("function"==typeof a[Symbol.iterator]||"function"==typeof a[Symbol.asyncIterator])}function C(a){if(null==a)return 0;if(v(a)){let b=a._readableState;return b&&!1===b.objectMode&&!0===b.ended&&Number.isFinite(b.length)?b.length:null}return w(a)?null!=a.size?a.size:null:H(a)?a.byteLength:null}function D(a){return a&&!!(a.destroyed||a[e]||j.isDestroyed?.(a))}function E(a,b){if(!(null==a||!v(a)||D(a))){if("function"==typeof a.destroy){Object.getPrototypeOf(a).constructor===i&&(a.socket=null);try{a.destroy(b)}catch{}}else b&&queueMicrotask(()=>{a.emit("error",b)});!0!==a.destroyed&&(a[e]=!0)}}let F=/timeout=(\d+)/;function G(a){return"string"==typeof a?r[a]??a.toLowerCase():s.lookup(a)??a.toString("latin1").toLowerCase()}function H(a){return a instanceof Uint8Array||Buffer.isBuffer(a)}function I(a){return a&&"object"==typeof a&&"function"==typeof a.append&&"function"==typeof a.delete&&"function"==typeof a.get&&"function"==typeof a.getAll&&"function"==typeof a.has&&"function"==typeof a.set&&"FormData"===a[Symbol.toStringTag]}let J=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),K=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,L=/[^\t\x20-\x7e\x80-\xff]/,M=/^bytes (\d+)-(\d+)\/(\d+|\*)?$/,N="win32"===process.platform?(a,b)=>{if(!b.timeout)return u;let c=null,d=null,e=o.setFastTimeout(()=>{c=setImmediate(()=>{d=setImmediate(()=>O(a.deref(),b))})},b.timeout);return()=>{o.clearFastTimeout(e),clearImmediate(c),clearImmediate(d)}}:(a,b)=>{if(!b.timeout)return u;let c=null,d=o.setFastTimeout(()=>{c=setImmediate(()=>{O(a.deref(),b)})},b.timeout);return()=>{o.clearFastTimeout(d),clearImmediate(c)}};function O(a,b){if(null==a)return;let c="Connect Timeout Error";Array.isArray(a.autoSelectFamilyAttemptedAddresses)?c+=` (attempted addresses: ${a.autoSelectFamilyAttemptedAddresses.join(", ")},`:c+=` (attempted address: ${b.hostname}:${b.port},`,E(a,new q(c+=` timeout: ${b.timeout}ms)`))}let P=null,Q=null,R={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT",query:"QUERY",QUERY:"QUERY"},S={...R,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(R,null),Object.setPrototypeOf(S,null),a.exports={kEnumerableProperty:{__proto__:null,enumerable:!0},isDisturbed:function(a){return!!(a&&(j.isDisturbed(a)||a[f]))},isBlobLike:w,parseOrigin:function(a){if("/"!==(a=A(a)).pathname||a.search||a.hash)throw new p("invalid url");return a},parseURL:A,getServerName:function(a){if(!a)return null;d("string"==typeof a);let b=function(a){if("["===a[0]){let b=a.indexOf("]");return d(-1!==b),a.substring(1,b)}let b=a.indexOf(":");return -1===b?a:a.substring(0,b)}(a);return k.isIP(b)?"":b},isStream:v,isIterable:B,hasSafeIterator:function(a){let b=Object.getPrototypeOf(a);return Object.hasOwn(a,Symbol.iterator)||null!=b&&b!==Object.prototype&&"function"==typeof a[Symbol.iterator]},isAsyncIterable:function(a){return null!=a&&"function"==typeof a[Symbol.asyncIterator]},isDestroyed:D,headerNameToString:G,bufferToLowerCasedHeaderName:function(a){return s.lookup(a)??a.toString("latin1").toLowerCase()},addListener:function(a,b,c){return(a[g]??=[]).push([b,c]),a.on(b,c),a},removeAllListeners:function(a){if(null!=a[g]){for(let[b,c]of a[g])a.removeListener(b,c);a[g]=null}return a},errorRequest:function(a,b,c){try{b.onResponseError(c),d(b.aborted)}catch(b){a.emit("error",b)}},parseRawHeaders:function(a){let b,c;if(null==a)return[];if(!Array.isArray(a)){let b=[];for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.push(c,`${a}`);else b.push(c,`${d}`);return b}let d=a.length,e=Array(d);for(let f=0;f<d;f+=2)b=a[f],c=a[f+1],"string"!=typeof b&&(b=b.toString()),"string"!=typeof c&&(c=c.toString("latin1")),e[f]=b,e[f+1]=c;return e},toRawHeaders:function(a){let b=[];for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.push(Buffer.from(c,"latin1"),Buffer.from(`${a}`,"latin1"));else b.push(Buffer.from(c,"latin1"),Buffer.from(`${d}`,"latin1"));return b},encodeRawHeaders:function(a){if(!Array.isArray(a))throw TypeError("expected headers to be an array");return a.map(a=>Buffer.from(a))},parseHeaders:function(a,b){void 0===b&&(b={});for(let c=0;c<a.length;c+=2){let d=G(a[c]),e=b[d];if(void 0!==e)if(Object.hasOwn(b,d))"string"==typeof e&&(e=[e],b[d]=e),e.push(a[c+1].toString("latin1"));else{let e="string"==typeof a[c+1]?a[c+1]:Array.isArray(a[c+1])?a[c+1].map(a=>a.toString("latin1")):a[c+1].toString("latin1");"__proto__"===d?Object.defineProperty(b,d,{value:e,enumerable:!0,configurable:!0,writable:!0}):b[d]=e}else{let e="string"==typeof a[c+1]?a[c+1]:Array.isArray(a[c+1])?a[c+1].map(a=>a.toString("latin1")):a[c+1].toString("latin1");b[d]=e}}return b},parseKeepAliveTimeout:function(a){let b=a.match(F);return b?1e3*parseInt(b[1],10):null},destroy:E,bodyLength:C,deepClone:function(a){return JSON.parse(JSON.stringify(a))},ReadableStreamFrom:function(a){let b;return new ReadableStream({start(){b=a[Symbol.asyncIterator]()},pull(a){return b.next().then(({done:b,value:c})=>{if(b)return queueMicrotask(()=>{a.close(),a.byobRequest?.respond(0)});{let b=Buffer.isBuffer(c)?c:Buffer.from(c);return b.byteLength?a.enqueue(new Uint8Array(b)):this.pull(a)}})},cancel:()=>b.return(),type:"bytes"})},isBuffer:H,assertRequestHandler:function(a,b,c){if(!a||"object"!=typeof a)throw new p("handler must be an object");if("function"!=typeof a.onRequestStart)throw new p("invalid onRequestStart method");if("function"!=typeof a.onResponseError)throw new p("invalid onResponseError method");if("function"!=typeof a.onBodySent&&void 0!==a.onBodySent)throw new p("invalid onBodySent method");if("function"!=typeof a.onRequestSent&&void 0!==a.onRequestSent)throw new p("invalid onRequestSent method");if(c||"CONNECT"===b){if("function"!=typeof a.onRequestUpgrade)throw new p("invalid onRequestUpgrade method")}else{if("function"!=typeof a.onResponseStart)throw new p("invalid onResponseStart method");if("function"!=typeof a.onResponseData)throw new p("invalid onResponseData method");if("function"!=typeof a.onResponseEnd)throw new p("invalid onResponseEnd method")}},getSocketInfo:function(a){return{localAddress:a.localAddress,localPort:a.localPort,remoteAddress:a.remoteAddress,remotePort:a.remotePort,remoteFamily:a.remoteFamily,timeout:a.timeout,bytesWritten:a.bytesWritten,bytesRead:a.bytesRead}},isFormDataLike:I,pathHasQueryOrFragment:x,serializePathWithQuery:function(a,b){if(x(a))throw Error('Query params cannot be passed when url already contains "?" or "#".');let c=l(b);return c&&(a+="?"+c),a},addAbortListener:function(a,b){return!a||"aborted"in a?n(a,b)[Symbol.dispose]:"function"==typeof a.addEventListener?(a.addEventListener("abort",b,{once:!0}),()=>a.removeEventListener("abort",b)):(a.once("abort",b),()=>a.removeListener("abort",b))},isValidHTTPToken:function(a){if(a.length>=12)return K.test(a);if(0===a.length)return!1;for(let b=0;b<a.length;b++)if(1!==J[a.charCodeAt(b)])return!1;return!0},isValidHeaderValue:function(a){return!L.test(a)},isTokenCharCode:function(a){return 1===J[a]},parseRangeHeader:function(a){if(null==a||""===a)return{start:0,end:null,size:null};if(!a)return null;let b=M.exec(a);return b?{start:parseInt(b[1]),end:b[2]?parseInt(b[2]):null,size:b[3]&&"*"!==b[3]?parseInt(b[3]):null}:null},normalizedMethodRecordsBase:R,normalizedMethodRecords:S,isValidPort:y,isHttpOrHttpsPrefixed:z,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:function(a){return v(a)?(0===C(a)&&a.on("data",function(){d(!1)}),"boolean"!=typeof a.readableDidRead&&(a[f]=!1,m.prototype.on.call(a,"data",function(){this[f]=!0})),a):a&&"function"==typeof a.pipeTo?new t(a):a&&I(a)?a:a&&"string"!=typeof a&&!ArrayBuffer.isView(a)&&B(a)?new t(a):a},setupConnectTimeout:N,getProtocolFromUrlString:function(a){if(a===P)return Q;let b=function(a){if("h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3])switch(a[4]){case":":return"http:";case"s":if(":"===a[5])return"https:"}return a.slice(0,a.indexOf(":")+1)}(a);return P=a,Q=b,b}}},84698:a=>{"use strict";function b(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c<33||c>126||34===c||40===c||41===c||60===c||62===c||64===c||44===c||59===c||58===c||92===c||47===c||91===c||93===c||63===c||61===c||123===c||125===c)throw Error("Invalid cookie name")}}function c(a){let b=a.length,c=0;if('"'===a[0]){if(1===b||'"'!==a[b-1])throw Error("Invalid cookie value");--b,++c}for(;c<b;){let b=a.charCodeAt(c++);if(b<33||b>126||34===b||44===b||59===b||92===b)throw Error("Invalid cookie value")}}function d(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c<32||c>126||59===c)throw Error("Invalid cookie path")}}function e(a){return a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122}let f=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],g=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],h=Array(61).fill(0).map((a,b)=>b.toString().padStart(2,"0"));function i(a){return"number"==typeof a&&(a=new Date(a)),`${f[a.getUTCDay()]}, ${h[a.getUTCDate()]} ${g[a.getUTCMonth()]} ${a.getUTCFullYear()} ${h[a.getUTCHours()]}:${h[a.getUTCMinutes()]}:${h[a.getUTCSeconds()]} GMT`}a.exports={isCTLExcludingHtab:function(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c>=0&&c<=8||c>=10&&c<=31||127===c)return!0}return!1},validateCookieName:b,validateCookiePath:d,validateCookieValue:c,toIMFDate:i,stringify:function(a){if(0===a.name.length)return null;b(a.name),c(a.value);let f=[`${a.name}=${a.value}`];if(a.name.startsWith("__Secure-")&&(a.secure=!0),a.name.startsWith("__Host-")&&(a.secure=!0,a.domain=null,a.path="/"),a.secure&&f.push("Secure"),a.httpOnly&&f.push("HttpOnly"),"number"==typeof a.maxAge){if(a.maxAge<0)throw Error("Invalid cookie max-age");f.push(`Max-Age=${a.maxAge}`)}for(let g of(a.domain&&(!function(a){if(" "===a)return;if(a.length>255)throw Error("Invalid cookie domain");let b=0;for(let c=0;c<a.length;++c){let d=a.charCodeAt(c);if(46===d){if(0===b||45===a.charCodeAt(c-1))throw Error("Invalid cookie domain");b=0;continue}if(0===b&&!e(d)||!e(d)&&45!==d||++b>63)throw Error("Invalid cookie domain")}if(0===b||45===a.charCodeAt(a.length-1))throw Error("Invalid cookie domain")}(a.domain),f.push(`Domain=${a.domain}`)),a.path&&(d(a.path),f.push(`Path=${a.path}`)),a.expires&&"Invalid Date"!==a.expires.toString()&&f.push(`Expires=${i(a.expires)}`),a.sameSite&&f.push(`SameSite=${a.sameSite}`),a.unparsed)){if(!g.includes("="))throw Error("Invalid unparsed");let[a,...d]=g.split("="),e=a.trim(),h=d.join("=");b(e),c(h),f.push(`${e}=${h}`)}return f.join("; ")}}},84955:(a,b,c)=>{"use strict";c.d(b,{V:()=>h});var d=c(69384),e=c(30395),f=c(48991),g=c(11484);class h extends d.Hv{constructor(){super("gemini-cli",e.xq["gemini-cli"])}buildUrl(a,b,c=0){return`${this.config.baseUrl}:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":(0,f.sX)(this._currentModel),"X-Goog-Api-Client":f.go,Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b,c,d){return(this._currentModel=a,b&&b.request&&b.model)?b:{project:d?.projectId||b?.project,model:a,request:b}}parseError(a,b){let c=super.parseError(a,b);if(429!==a.status||!b)return c;try{let a=JSON.parse(b),d=a?.error?.details;if(Array.isArray(d)){for(let a of d)if(a?.["@type"]==="type.googleapis.com/google.rpc.RetryInfo"&&a?.retryDelay){c.retryAfter=a.retryDelay;break}}}catch{}return c}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{let c=await fetch(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!c.ok)return await (0,g.aI)(c),null;let d=await c.json();return b?.info?.("TOKEN","Gemini CLI refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Gemini CLI refresh error: ${a.message}`),null}}}},86625:(a,b,c)=>{"use strict";let{promisify:d}=c(57975),e=c(35689),{buildMockDispatch:f}=c(70634),{kDispatches:g,kMockAgent:h,kClose:i,kOriginalClose:j,kOrigin:k,kOriginalDispatch:l,kConnected:m,kIgnoreTrailingSlash:n}=c(80830),{MockInterceptor:o}=c(55720),p=c(49176),{InvalidArgumentError:q}=c(61448);class r extends e{constructor(a,b){if(!b||!b.agent||"function"!=typeof b.agent.dispatch)throw new q("Argument opts.agent must implement Agent");super(a,b),this[h]=b.agent,this[k]=a,this[n]=b.ignoreTrailingSlash??!1,this[g]=[],this[m]=1,this[l]=this.dispatch,this[j]=this.close.bind(this),this.dispatch=f.call(this),this.close=this[i]}get[p.kConnected](){return this[m]}intercept(a){return new o(a&&{ignoreTrailingSlash:this[n],...a},this[g])}cleanMocks(){this[g]=[]}async [i](){await d(this[j])(),this[m]=0,this[h][p.kClients].delete(this[k])}}a.exports=r},86767:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{EW:()=>j,UT:()=>k});var e=c(70321),f=c(21263),g=a([f]);f=(g.then?(await g)():g)[0],globalThis._quotaRefreshState||(globalThis._quotaRefreshState={started:!1,startTimer:null,timer:null,running:!1,runningPromise:null});let l=globalThis._quotaRefreshState;async function h(a,b={}){return(await (0,f.J4)({connections:a,force:!0===b.force,...void 0!==b.concurrency?{concurrency:b.concurrency}:{},...b.resolveUsage?{resolveUsage:b.resolveUsage}:{},replaceAccounts:!1,retainWithoutSubscribers:!0})).attempted}function i(){if(l.runningPromise)return l.runningPromise;l.running=!0;let a=(async()=>{let a=[];try{a=await (0,e.getProviderConnections)({isActive:!0})}catch(a){console.warn(`[QuotaRefresh] failed to list connections: ${a.message}`);return}await h(a)})().finally(()=>{l.runningPromise===a&&(l.runningPromise=null,l.running=!1)});return l.runningPromise=a,a}function j(){!l.started&&(l.started=!0,l.startTimer=setTimeout(()=>{l.startTimer=null,i(),l.timer=setInterval(()=>void i(),3e5),l.timer.unref&&l.timer.unref()},15e3),l.startTimer.unref&&l.startTimer.unref())}function k(){return l.startTimer&&clearTimeout(l.startTimer),l.timer&&clearInterval(l.timer),l.startTimer=null,l.timer=null,l.started=!1,l.runningPromise||Promise.resolve()}l.runningPromise??=null,d()}catch(a){d(a)}})},87085:(a,b,c)=>{"use strict";let{InvalidArgumentError:d,RequestAbortedError:e}=c(61448),f=c(83204);class g extends f{#ai=1048576;#bB=!1;#aj=0;#G=null;aborted=!1;reason=!1;constructor({maxSize:a,signal:b},c){if(null!=a&&(!Number.isFinite(a)||a<1))throw new d("maxSize must be a number greater than 0");super(c),this.#ai=a??this.#ai}#bx(a){this.aborted=!0,this.reason=a}onRequestStart(a,b){return a.abort=this.#bx.bind(this),this.#G=a,super.onRequestStart(a,b)}onResponseStart(a,b,c,d){let f=c["content-length"];if(null!=f&&f>this.#ai)throw new e(`Response size (${f}) larger than maxSize (${this.#ai})`);return!0===this.aborted||super.onResponseStart(a,b,c,d)}onResponseError(a,b){this.#bB||(b=this.#G?.reason??b,super.onResponseError(a,b))}onResponseData(a,b){return this.#aj=this.#aj+b.length,this.#aj>=this.#ai&&(this.#bB=!0,!0===this.aborted?super.onResponseError(a,this.reason):super.onResponseEnd(a,{})),!0}onResponseEnd(a,b){if(!this.#bB){if(!0===this.#G.aborted)return void super.onResponseError(a,this.reason);super.onResponseEnd(a,b)}}}a.exports=function({maxSize:a}={maxSize:1048576}){return b=>function(c,d){let{dumpMaxSize:e=a}=c,f=new g({maxSize:e,signal:c.signal},d);return b(c,f)}}},87164:(a,b,c)=>{"use strict";c.d(b,{R_:()=>q,Og:()=>r,jT:()=>p,Sc:()=>H,Ql:()=>D,$B:()=>G,pb:()=>J});var d=c(30395),e=c(48991),f=c(46956);let g=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function h(a){return"string"==typeof a?a.trim():""}var i=c(13335);let j=null;async function k(a,b){return a?o("xai",a,async()=>{try{j||(j=new(await c.e(4621).then(c.bind(c,14621))).XaiService);let b=await j.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH","xAI OAuth refresh failed",{status:c?.status||null,code:y(c?.code,c?.status),permanent:c?.permanent===!0});let a=String(c?.message||"");if(c?.permanent===!0||a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant",code:y(c?.code||"invalid_grant",c?.status)};return null}},b):null}let l=new Map;function m(){let a=Error("Request aborted");return a.name="AbortError",a}function n(a,b){return a.waiterCount+=1,new Promise((c,d)=>{let e=!1,f=(c,d)=>{e||(e=!0,b?.removeEventListener?.("abort",g),a.waiterCount=Math.max(0,a.waiterCount-1),0!==a.waiterCount||a.settled||(a.acceptingWaiters=!1,a.controller.abort(m())),c(d))},g=()=>f(d,m());b?.addEventListener?.("abort",g,{once:!0}),b?.aborted&&g(),a.promise.then(a=>f(c,a),a=>f(d,a))})}async function o(a,b,c,d,e=null){let f,g;if(e?.aborted)throw m();if(!b)return c();let h=`${a}:${b}`,i=l.get(h);if(i){if(i.promise){if(!1===i.acceptingWaiters||i.controller.signal.aborted)try{return await (e?.aborted?Promise.reject(m()):new Promise((a,b)=>{let c=!1,d=(a,b)=>{c||(c=!0,e?.removeEventListener?.("abort",f),a(b))},f=()=>d(b,m());e?.addEventListener?.("abort",f,{once:!0}),e?.aborted&&f(),i.promise.then(b=>d(a,b),a=>d(b,a))}))}catch(f){if(e?.aborted)throw m();if(i.controller.signal.aborted&&f?.name==="AbortError")return o(a,b,c,d,e);throw f}return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),n(i,e)}if(i.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),i.result;l.delete(h)}let j={controller:new AbortController,promise:new Promise((a,b)=>{f=a,g=b}),acceptingWaiters:!0,settled:!1,waiterCount:0};return l.set(h,j),(async()=>{try{let a=await c(j.controller.signal),b={result:a,expiresAt:Date.now()+1e4};l.set(h,b);let d=setTimeout(()=>{l.get(h)===b&&l.delete(h)},1e4);d.unref?.(),j.settled=!0,f(a)}catch(a){l.get(h)===j&&l.delete(h),j.settled=!0,g(a)}})(),n(j,e)}function p(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function q(a={}){let b=String(a.code||a.error||"refresh_token_rejected").slice(0,120),c=Error("Refresh credential rejected; re-authentication required.");return c.name="RefreshCredentialError",c.code=b,c.permanent=!0,c}function r(a){return e.Wu[a]||3e5}async function s(a,b,c,e){let f=d.xq[a];return f&&f.refreshUrl?b?o(a,b,async()=>{try{let c=await fetch(f.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:f.clientId,client_secret:f.clientSecret})});if(!c.ok){let b=await c.text();return z(b,c.status,e,a)}let d=await c.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||b,expiresIn:d.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function t(a,b){return a?o("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return z(a,c.status,b,"Claude")}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function u(a,b,c,d){return a?o(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return z(a,f.status,d,"Google")}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function v(a,b){return a?o("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");return z(a,e.status,b,"Qwen")}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function w(a,b,c="codebuddy"){return a?o(c,a,async()=>{try{let e=d.xq[c]||d.xq.codebuddy,g=e.refreshUrl,h=e.domain||"www.codebuddy.ai",j=await (0,f.proxyAwareFetch)(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":i.C,"X-Requested-With":"XMLHttpRequest","X-Domain":h,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!j.ok){let a=await j.text().catch(()=>"");return z(a,j.status,b,c)}let k=await j.json(),l=k?.data||k,m=l?.accessToken||l?.access_token;if(!m)return null;return{accessToken:m,refreshToken:l?.refreshToken||l?.refresh_token||a,expiresIn:l?.expiresIn||l?.expires_in||86400}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing token for ${c}`,{error:a.message}),null}},b):null}function x(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error&&"object"==typeof c.error?c.error:null,e=d?.code||d?.type||("string"==typeof c?.error?c.error:"")||c?.error_code||"",f=d?.message||d?.error_description||c?.error_description||c?.message||a||"",g=`${e} ${f}`.toLowerCase(),h=400===b||401===b||["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_refresh_token","invalid_grant"].some(a=>g.includes(a));return{status:b,code:e,description:f,permanent:h}}function y(a,b){let c="string"==typeof a?a.trim():"";return/^[a-zA-Z0-9_.:-]{1,120}$/.test(c)?c:`HTTP_${Number(b)||0}`}function z(a,b,c,d){let e=x(a,b),f=y(e.code,b);return c?.error?.("TOKEN_REFRESH",`${d} OAuth refresh failed`,{status:b,code:f,permanent:e.permanent}),e.permanent?{error:"unrecoverable_refresh_error",code:f}:null}function A(a,b,c,d){let e=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error&&"object"==typeof c.error?c.error:c,e=[d?.reason,c?.reason,d?.code,c?.code,d?.errorCode,c?.errorCode,d?.type,c?.type,d?.__type,c?.__type,"string"==typeof c?.error?c.error:""].filter(a=>("string"==typeof a||"number"==typeof a)&&String(a).trim()),f=e.map(a=>String(a).trim()).find(a=>/^[A-Za-z0-9_.:#/-]{1,200}$/.test(a)&&!/^aor[A-Za-z0-9._~+/=-]{8,}$/.test(a)&&!/^eyJ[A-Za-z0-9_-]{8,}\./.test(a))||null,g=[d?.message,d?.Message,d?.error_description,c?.message,c?.Message,c?.error_description,c?"":a].find(a=>"string"==typeof a&&a.trim())||"",h=e.map(a=>String(a).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")),i=["invalid_grant","invalid_grant_exception","invalid_refresh_token","refresh_token_expired","refresh_token_revoked","refresh_token_reused","refresh_token_invalidated","expired_token","token_revoked","invalid_token","invalid_token_exception","invalid_client","invalid_client_exception","unauthorized_client"],j=h.some(a=>{let b=a.replace(/_exception$/,"");return i.some(a=>b===a||b.endsWith(`_${a}`))}),k=g.toLowerCase().slice(0,4e3),l=400===b||401===b||j||/\binvalid[_ -]?grant\b/.test(k)||/\brefresh token\b.{0,60}\b(?:expired|invalid|revoked|reused|disabled)\b/.test(k)||/\b(?:expired|invalid|revoked|reused|disabled)\b.{0,60}\brefresh token\b/.test(k);return{status:b,code:f,permanent:l}}(b,a.status);c?.error?.("TOKEN_REFRESH",`Kiro ${d} refresh failed`,{status:a.status,code:e.code,permanent:e.permanent});let f=Error(e.permanent?"Kiro refresh credential rejected":"Kiro refresh temporarily unavailable");throw f.name=e.permanent?"KiroRefreshCredentialError":"KiroRefreshTransientError",f.status=a.status,f.code=e.code,f.permanent=e.permanent,f}function B(a,b){a?.error?.("TOKEN_REFRESH",`Kiro ${b} refresh returned no access token`);let c=Error("Kiro refresh returned an invalid response");throw c.name="KiroRefreshTransientError",c.status=502,c.code="MISSING_ACCESS_TOKEN",c.permanent=!1,c}async function C(a,b){return a?o("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text();return x(a,c.status).permanent,z(a,c.status,b,"Codex")}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function D(a,b,c,e=null,i=null){return a?o("kiro",a,async i=>{let j=b?.authMethod,k=b?.clientId,l=b?.clientSecret,m=b?.region;if("external_idp"===j){let d;try{d=function(a,b={}){var c;let d=h(b.clientId||b.client_id),e=function(a){let b,c=h(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");if(!g.has(b.hostname.toLowerCase()))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}(b.tokenEndpoint||b.token_endpoint),f=Array.isArray(c=b.scope||b.scopes)?c.map(h).filter(Boolean).join(" "):h(c);if(!a)throw Error("refresh token is required");if(!d)throw Error("clientId is required for external_idp refresh");if(!f)throw Error("scope is required for external_idp refresh");return{tokenEndpoint:e,body:new URLSearchParams({grant_type:"refresh_token",client_id:d,refresh_token:a,scope:f}),providerSpecificData:{...b,authMethod:"external_idp",clientId:d,tokenEndpoint:e,scope:f}}}(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Kiro external IdP refresh rejected: ${a.message}`),null}let j=await (0,f.proxyAwareFetch)(d.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.body,signal:i},{...e,singleTransportAttempt:!0});if(!j.ok){let a=await j.text();return A(j,a,c,"external IdP")}let k=await j.json();return k?.access_token?{accessToken:k.access_token,refreshToken:k.refresh_token||a,expiresIn:k.expires_in,providerSpecificData:d.providerSpecificData}:B(c,"external IdP")}if(k&&l){let b="idc"===j&&m?`https://oidc.${m}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await (0,f.proxyAwareFetch)(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:k,clientSecret:l,refreshToken:a,grantType:"refresh_token"}),signal:i},{...e,singleTransportAttempt:!0});if(!d.ok){let a=await d.text();return A(d,a,c,"AWS")}let g=await d.json();return g?.accessToken?(c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!g.accessToken,expiresIn:g.expiresIn}),{accessToken:g.accessToken,refreshToken:g.refreshToken||a,expiresIn:g.expiresIn}):B(c,"AWS")}let n=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/2.12.2"},body:JSON.stringify({refreshToken:a}),signal:i},{...e,singleTransportAttempt:!0});if(!n.ok){let a=await n.text();return A(n,a,c,"social")}let o=await n.json();return o?.accessToken?(c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!o.accessToken,expiresIn:o.expiresIn}),{accessToken:o.accessToken,refreshToken:o.refreshToken||a,expiresIn:o.expiresIn}):B(c,"social")},c,i):null}async function E(a,b){return a?o("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok)return z(await f.text(),f.status,b,"iFlow");let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function F(a,b){return a?o("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok)return z(await f.text(),f.status,b,"GitHub");let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function G(a,b,c){if(!b.refreshToken&&"vertex"!==a&&"vertex-partner"!==a)return null;switch(a){case"gemini-cli":case"antigravity":return u(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return t(b.refreshToken,c);case"codex":return C(b.refreshToken,c);case"qwen":return v(b.refreshToken,c);case"codebuddy":return w(b.refreshToken,c,"codebuddy");case"codebuddy-cn":return w(b.refreshToken,c,"codebuddy-cn");case"iflow":return E(b.refreshToken,c);case"github":return F(b.refreshToken,c);case"kiro":return D(b.refreshToken,b.providerSpecificData,c);case"xai":case"grok-cli":return k(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=H(b.apiKey);if(!a)return null;return J(a,c)}default:return s(a,b.refreshToken,b,c)}}function H(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let I=new Map;async function J(a,b){let d=a.client_email,e=I.get(d);if(e&&e.expiresAt-Date.now()>3e5)return{accessToken:e.token,expiresAt:e.expiresAt};try{let{SignJWT:e,importPKCS8:f}=await c.e(3675).then(c.bind(c,3675));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let g=await f(a.private_key.replace(/\\n/g,"\n"),"RS256"),h=Math.floor(Date.now()/1e3),i=await new e({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience("https://oauth2.googleapis.com/token").setIssuedAt(h).setExpirationTime(h+3600).sign(g),j=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:i})});if(!j.ok){let a=await j.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:k,expires_in:l}=await j.json(),m=Date.now()+(l??3600)*1e3;return I.set(d,{token:k,expiresAt:m}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:k,expiresAt:m}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}},87404:(a,b,c)=>{"use strict";let{webidl:d}=c(32984),{validateCloseCodeAndReason:e}=c(94050),{kConstruct:f}=c(49176),{kEnumerableProperty:g}=c(84285);function h(){class a extends DOMException{get reason(){return""}}return void 0!==new a().reason?DOMException:new Proxy(DOMException,{construct(a,b,c){let d=Reflect.construct(a,b,a);return Object.setPrototypeOf(d,c.prototype),d}})}class i extends h(){#bC;#bw;constructor(a="",b){if(super(a=d.converters.DOMString(a,"WebSocketError","message"),"WebSocketError"),b===f)return;null!==b&&(b=d.converters.WebSocketCloseInfo(b));let c=b.closeCode??null;const g=b.reason??"";e(c,g),0!==g.length&&null===c&&(c=1e3),this.#bC=c,this.#bw=g}get closeCode(){return this.#bC}get reason(){return this.#bw}static createUnvalidatedWebSocketError(a,b,c){let d=new i(a,f);return d.#bC=b,d.#bw=c,d}}let{createUnvalidatedWebSocketError:j}=i;delete i.createUnvalidatedWebSocketError,Object.defineProperties(i.prototype,{closeCode:g,reason:g,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}}),d.is.WebSocketError=d.util.MakeTypeAssertion(i),a.exports={WebSocketError:i,createUnvalidatedWebSocketError:j}},87585:a=>{"use strict";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}}},87658:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToClaudeResponse:()=>i});var d=c(70556),e=c(42541);let f="proxy_";function g(a,b){a.thinkingBlockStarted&&(b.push({type:"content_block_stop",index:a.thinkingBlockIndex}),a.thinkingBlockStarted=!1)}function h(a,b){a.textBlockStarted&&!a.textBlockClosed&&(a.textBlockClosed=!0,b.push({type:"content_block_stop",index:a.textBlockIndex}),a.textBlockStarted=!1)}function i(a,b){if(!a||!a.choices?.[0])return null;let c=[],d=a.choices[0],e=d.delta;if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.prompt_tokens?a.usage.prompt_tokens:0,d="number"==typeof a.usage.completion_tokens?a.usage.completion_tokens:0,e=a.usage.prompt_tokens_details?.cached_tokens,f=a.usage.prompt_tokens_details?.cache_creation_tokens,g="number"==typeof e?e:0,h="number"==typeof f?f:0;b.usage={input_tokens:c-g-h,output_tokens:d},g>0&&(b.usage.cache_read_input_tokens=g),h>0&&(b.usage.cache_creation_input_tokens=h)}b.messageStartSent||(b.messageStartSent=!0,b.messageId=a.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!b.messageId||"chat"===b.messageId||b.messageId.length<8)&&(b.messageId=a.extend_fields?.requestId||a.extend_fields?.traceId||`msg_${Date.now()}`),b.model=a.model||"unknown",b.nextBlockIndex=0,c.push({type:"message_start",message:{id:b.messageId,type:"message",role:"assistant",model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let i=e?.reasoning_content||e?.reasoning;if(i&&(h(b,c),b.thinkingBlockStarted||(b.thinkingBlockIndex=b.nextBlockIndex++,b.thinkingBlockStarted=!0,c.push({type:"content_block_start",index:b.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),c.push({type:"content_block_delta",index:b.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:i}})),e?.content&&(g(b,c),b.textBlockStarted||(b.textBlockIndex=b.nextBlockIndex++,b.textBlockStarted=!0,b.textBlockClosed=!1,c.push({type:"content_block_start",index:b.textBlockIndex,content_block:{type:"text",text:""}})),c.push({type:"content_block_delta",index:b.textBlockIndex,delta:{type:"text_delta",text:e.content}})),e?.tool_calls)for(let a of e.tool_calls){let d=a.index??0;if(a.id){g(b,c),h(b,c);let e=b.nextBlockIndex++;b.toolCalls.set(d,{id:a.id,name:a.function?.name||"",blockIndex:e});let i=a.function?.name||"";i.startsWith(f)&&(i=i.slice(f.length)),c.push({type:"content_block_start",index:e,content_block:{type:"tool_use",id:a.id,name:i,input:{}}})}a.function?.arguments&&b.toolCalls.get(d)&&(b.toolArgBuffers||(b.toolArgBuffers=new Map),b.toolArgBuffers.set(d,(b.toolArgBuffers.get(d)||"")+a.function.arguments))}if(d.finish_reason){for(let[a,d]of(g(b,c),h(b,c),b.toolCalls)){let e=b.toolArgBuffers?.get(a);if(e){let a=function(a,b){try{let c=JSON.parse(b),d=a.startsWith(f)?a.slice(f.length):a;return"Read"===d&&function(a){var b,c;"string"==typeof a.limit&&/^\d+$/.test(a.limit)&&(a.limit=Number(a.limit)),"string"==typeof a.offset&&/^-?\d+$/.test(a.offset)&&(a.offset=Number(a.offset)),"number"==typeof a.limit&&(a.limit>2e3&&(a.limit=2e3),a.limit<1&&delete a.limit),"number"==typeof a.offset&&a.offset<0&&(a.offset=0),"pages"in a&&(b=a.file_path,c=a.pages,!("string"==typeof b&&b.toLowerCase().endsWith(".pdf")&&"string"==typeof c&&/^\d+(?:-\d+)?$/.test(c)))&&delete a.pages}(c),JSON.stringify(c)}catch{return b}}(d.name,e);c.push({type:"content_block_delta",index:d.blockIndex,delta:{type:"input_json_delta",partial_json:a}})}c.push({type:"content_block_stop",index:d.blockIndex})}b.finishReason=d.finish_reason;let a=b.usage||{input_tokens:0,output_tokens:0};c.push({type:"message_delta",delta:{stop_reason:function(a){switch(a){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(d.finish_reason)},usage:a}),c.push({type:"message_stop"})}return c.length>0?c:null}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,null,i)},87886:(a,b,c)=>{"use strict";c.r(b),c.d(b,{debug:()=>o,error:()=>r,errorLine:()=>l,fmtThink:()=>m,info:()=>p,line:()=>k,maskKey:()=>v,nextTag:()=>i,request:()=>s,response:()=>t,stream:()=>u,tagForSession:()=>j,warn:()=>q});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[process.env.LOG_LEVEL?.toUpperCase?.()]??d.INFO;function f(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let g=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],h=0;function i(){let a=g[h%g.length];return h+=1,a}function j(a){if(!a)return i();let b=0,c=String(a);for(let a=0;a<c.length;a+=1)b=31*b+c.charCodeAt(a)|0;return g[Math.abs(b)%g.length]}function k(a,b,c){e>d.INFO||console.log(`[${f()}] ${a||"⚪"} ${b} ${c}`)}function l(a,b,c){console.log(`[${f()}] ${a||"⚪"} ${b} ${c}`)}function m(a){return a&&a.mode?"none"===a.mode?"off":"auto"===a.mode?"auto":"budget"===a.mode?a.budget>=1e3?`${Math.round(a.budget/1e3)}k`:`${a.budget}`:"level"===a.mode?a.level:null:null}function n(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function o(a,b,c){if(e<=d.DEBUG){let d=c?` ${n(c)}`:"";console.log(`[${f()}] 🔍 [${a}] ${b}${d}`)}}function p(a,b,c){if(e<=d.INFO){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ℹ️ [${a}] ${b}${d}`)}}function q(a,b,c){if(e<=d.WARN){let d=c?` ${n(c)}`:"";console.warn(`[${f()}] ⚠️ [${a}] ${b}${d}`)}}function r(a,b,c){if(e<=d.ERROR){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ❌ [${a}] ${b}${d}`)}}function s(a,b,c){let d=c?` ${n(c)}`:"";console.log(`\x1b[36m[${f()}] 📥 ${a} ${b}${d}\x1b[0m`)}function t(a,b,c){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${d}`)}function u(a,b){let c=b?` ${n(b)}`:"";console.log(`[${f()}] 🌊 [STREAM] ${a}${c}`)}function v(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},88998:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A:()=>n});var e=c(70321),f=c(18922),g=c(25346),h=c(24081),i=c(86767),j=c(96947),k=c(39193),l=a([i]);i=(l.then?(await l)():l)[0],process.setMaxListeners(20);let m=globalThis.__appSingleton??={signalHandlersRegistered:!1,optionalConfigTimer:null,watchdogInterval:null,networkMonitorInterval:null,shutdownPromise:null,shuttingDown:!1},n=async function(){!function(){if(m.signalHandlersRegistered)return;let a=()=>(m.shutdownPromise||(m.shuttingDown=!0,m.optionalConfigTimer&&clearTimeout(m.optionalConfigTimer),m.optionalConfigTimer=null,m.shutdownPromise=(async()=>{try{await (0,k.fD)()}catch(a){console.error("[InitApp] optional services stop failed:",a)}try{await (0,j.DO)()}catch(a){console.error("[InitApp] token refresh stop failed:",a)}try{await (0,i.UT)()}catch(a){console.error("[InitApp] quota refresh stop failed:",a)}try{await (0,g.d_)()}catch(a){console.error("[InitApp] usage flush failed:",a)}try{await (0,f.cj)()}catch(a){console.error("[InitApp] request detail flush failed:",a)}try{await (0,h.y5)()}catch(a){console.error("[InitApp] database close failed:",a)}process.exit()})()),m.shutdownPromise);process.on("SIGINT",a),process.on("SIGTERM",a),m.signalHandlersRegistered=!0}();try{await (0,e.bI)(),await (0,e.mt)(),(0,i.EW)(),(0,j.LP)(),m.optionalConfigTimer||m.shuttingDown||(m.optionalConfigTimer=setTimeout(()=>{m.optionalConfigTimer=null,(0,e.mt)().then(a=>(0,k.rg)(a,"startup")).catch(a=>{console.error("[InitApp] optional service configuration failed:",a)})},3e3),m.optionalConfigTimer.unref?.())}catch(a){console.error("[InitApp] Error:",a)}};d()}catch(a){d(a)}})},89409:(a,b,c)=>{"use strict";let d=c(84285),{parseCacheControlHeader:e,hasInvalidCacheControlDirective:f,parseVaryHeader:g,hasVaryStar:h,isInvalidOrWildcardVaryHeader:i,isEtagUsable:j}=c(79468),{parseHttpDate:k}=c(24214);function l(){}let m=[200,203,204,206,300,301,308,404,405,410,414,501],n=[206];function o(a,b){for(let c=0;c<a.length;c++)if(a[c]===b)return!0;return!1}function p(a,b,c){s(a,{...b,path:c});for(let e=0;e<d.safeHTTPMethods.length;e++){let f=d.safeHTTPMethods[e];f!==b.method&&s(a,{...b,method:f,path:c})}}function q(a,b,c){if(void 0===c)return;let d=Array.isArray(c)?c:[c];for(let c=0;c<d.length;c++){let e=function(a,b){let c,d,e;if("string"==typeof b){try{c=new URL(a.origin),d=new URL(a.path,c),e=new URL(b,d)}catch{return}if(e.origin===c.origin)return e.pathname+e.search}}(b,d[c]);void 0!==e&&p(a,b,e)}}class r{#bD;#bE;#bF;#bG;#ay;#bH;constructor({store:a,type:b,cacheByDefault:c},d,e){this.#bG=a,this.#bE=b,this.#bF=c,this.#bD=d,this.#ay=e}onRequestStart(a,b){this.#bH?.destroy(),this.#bH=void 0,this.#ay.onRequestStart?.(a,b)}onRequestUpgrade(a,b,c,d){this.#ay.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,l){var r,u,v,w,x,y,z,A,B,C;let D,E=()=>this.#ay.onResponseStart?.(a,b,c,l),F=this;if(!o(d.safeHTTPMethods,this.#bD.method)&&b>=200&&b<=399){return r=this.#bG,u=this.#bD,p(r,u,u.path),q(r,u,c.location),q(r,u,c["content-location"]),E()}let G=c["cache-control"],H=c["last-modified"]&&o(m,b);if(!G&&!c.expires&&!H&&!this.#bF)return 304===b&&c.vary&&i(c.vary)&&s(this.#bG,this.#bD),E();let I=G?e(G):{};if(v=this.#bE,w=b,x=c,y=I,z=this.#bD.headers,w<200||o(n,w)||!o(m,w)&&!x.expires&&!y.public&&void 0===y["max-age"]&&!(y.private&&"private"===v)&&(void 0===y["s-maxage"]||"shared"!==v)||y["no-store"]||"shared"===v&&!0===y.private||x.vary&&h(x.vary)||null!=z&&Object.hasOwn(z,"authorization")&&(!y.public&&!y["s-maxage"]&&!y["must-revalidate"]||"string"!=typeof z.authorization||Array.isArray(y["no-cache"])&&o(y["no-cache"],"authorization")||Array.isArray(y.private)&&o(y.private,"authorization"))||0){return 304===b&&(G||(A=this.#bE,B=c,!0===(C=I)["no-store"]||"shared"===A&&!0===C.private||B.vary&&i(B.vary)))&&s(this.#bG,this.#bD),E()}let J=Date.now(),K=Object.hasOwn(c,"age")?function(a){let b=a;if(Array.isArray(b)){if(1!==b.length)return 2147483647e3;b=b[0]}if("string"!=typeof b||!/^[\t ]*[0-9]+[\t ]*$/.test(b))return 2147483647e3;let c=BigInt(b.replace(/^[\t ]+|[\t ]+$/g,""));return c>=BigInt(0x7fffffff)?2147483647e3:1e3*Number(c)}(c.age):void 0;if(void 0!==K&&K>=2147483647e3)return t(b,this.#bG,this.#bD),E();let L=Object.hasOwn(c,"date")?function(a){let b=a;if(Array.isArray(b)){if(1!==b.length)return null;b=b[0]}return"string"!=typeof b?null:k(b)}(c.date):void 0;if(null===L)return t(b,this.#bG,this.#bD),E();let M=Math.max(L?Math.max(0,J-L.getTime()):0,K??0),N="string"==typeof c.etag&&j(c.etag)||"string"==typeof c["last-modified"],O=function(a,b,c,d,e,g,h){if("shared"===a){if(f(g,"s-maxage"))return 0;let a=g["s-maxage"];if(void 0!==a)return a>0?1e3*a:0}if(f(g,"max-age"))return 0;let i=g["max-age"];if(void 0!==i)return i>0?1e3*i:0;if(Object.hasOwn(d,"expires")){if("string"!=typeof d.expires)return 0;let a=k(d.expires);if(!a||b>=a.getTime())return 0;if(e){if(e>=a)return 0;let b=a.getTime()-e.getTime();return void 0!==c&&c>=b?0:b}return a.getTime()-b}if("string"==typeof d["last-modified"]){let a=k(d["last-modified"]);if(a){if(a.getTime()>=b)return;return .1*(b-a.getTime())}}return g.immutable?31536e6:!0===g["no-cache"]&&h?0:void 0}(this.#bE,J,K,c,L,I,N)??this.#bF,P=0===O&&N;if(void 0===O||M>=O&&!P)return(G||void 0!==O)&&t(b,this.#bG,this.#bD),E();let Q=J-M,R=O+Q;if(J>=R&&!P)return t(b,this.#bG,this.#bD),E();if(this.#bD.headers&&c.vary&&!(D=g(c.vary,this.#bD.headers)))return E();let S=function(a,b,c,d){let e=-1/0,f=-1/0,g=-1/0;if(c["stale-while-revalidate"]&&(e=d+1e3*c["stale-while-revalidate"]),c["stale-if-error"]&&(f=d+1e3*c["stale-if-error"]),c.immutable&&e===-1/0&&f===-1/0&&(g=b+31536e6),e===-1/0&&f===-1/0&&g===-1/0){let c=d-a;return c<=0?b+864e5:d+c+Math.min(Math.max(b-a,0),1e3)}return Math.max(d,e,f,g)}(Q,J,I,R),T=function(a,b){let c,d=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];for(let e of(a.connection&&function(a,b){let c=Array.isArray(b)?b:[b];for(let b=0;b<c.length;b++){let d=c[b].split(",");for(let b=0;b<d.length;b++)a.push(d[b].replace(/^[\t ]+|[\t ]+$/g,"").toLowerCase())}}(d,a.connection),Array.isArray(b["no-cache"])&&d.push(...b["no-cache"]),Array.isArray(b.private)&&d.push(...b.private),d))Object.hasOwn(a,e)&&(c??={...a},delete c[e]);return c??a}(c,I),U={statusCode:b,statusMessage:l,headers:T,vary:D,cacheControlDirectives:I,cachedAt:Q,staleAt:R,deleteAt:S};if(304===b){let b=b=>{if(!b)return E();if(U.statusCode=b.statusCode,U.statusMessage=b.statusMessage,U.etag=b.etag,U.vary=D??b.vary,U.headers={...b.headers,...T},E(),this.#bH=this.#bG.createWriteStream(this.#bD,U),this.#bH&&b?.body)if("function"==typeof b.body.values){let c=b.body.values(),d=()=>{for(let b of c){let c=!1===this.#bH.write(b);if(this.#ay.onResponseData?.(a,b),c)break}};this.#bH.on("error",function(){F.#bH=void 0,F.#bG.delete(F.#bD)}).on("drain",()=>{d()}).on("close",function(){F.#bH===this&&(F.#bH=void 0)}),d()}else"function"==typeof b.body.on&&(b.body.on("data",b=>{this.#bH.write(b),this.#ay.onResponseData?.(a,b)}).on("end",()=>{this.#bH.end()}).on("error",()=>{this.#bH=void 0,this.#bG.delete(this.#bD)}),this.#bH.on("error",function(){F.#bH=void 0,F.#bG.delete(F.#bD)}).on("close",function(){F.#bH===this&&(F.#bH=void 0)}))},c=this.#bG.get(this.#bD);c&&"function"==typeof c.then?c.then(b):b(c)}else{if("string"==typeof c.etag&&j(c.etag)&&(U.etag=c.etag),this.#bH=this.#bG.createWriteStream(this.#bD,U),!this.#bH)return E();this.#bH.on("drain",()=>a.resume()).on("error",function(){F.#bH=void 0,F.#bG.delete(F.#bD)}).on("close",function(){F.#bH===this&&(F.#bH=void 0),a.resume()}),E()}}onResponseData(a,b){this.#bH?.write(b)===!1&&a.pause(),this.#ay.onResponseData?.(a,b)}onResponseEnd(a,b){this.#bH?.end(),this.#ay.onResponseEnd?.(a,b)}onResponseError(a,b){this.#bH?.destroy(b),this.#bH=void 0,this.#ay.onResponseError?.(a,b)}}function s(a,b){try{a.delete(b)?.catch?.(l)}catch{}}function t(a,b,c){304===a&&s(b,c)}a.exports=r},89512:(a,b,c)=>{"use strict";let d=c(37417),e=c(65630),{SnapshotRecorder:f}=c(94279),{InvalidArgumentError:g,UndiciError:h}=c(61448),i=c(84285),{validateSnapshotMode:j}=c(47800),k=Symbol("kSnapshotRecorder"),l=Symbol("kSnapshotMode"),m=Symbol("kSnapshotPath"),n=Symbol("kSnapshotLoaded"),o=Symbol("kRealAgent"),p=!1;class q extends e{constructor(a={}){p||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),p=!0);const{mode:b="record",snapshotPath:c=null,...e}=a;if(super(e),j(b),("playback"===b||"update"===b)&&!c)throw new g(`snapshotPath is required when mode is '${b}'`);this[l]=b,this[m]=c,this[k]=new f({snapshotPath:this[m],mode:this[l],maxSnapshots:a.maxSnapshots,autoFlush:a.autoFlush,flushInterval:a.flushInterval,matchHeaders:a.matchHeaders,ignoreHeaders:a.ignoreHeaders,excludeHeaders:a.excludeHeaders,matchBody:a.matchBody,normalizeBody:a.normalizeBody,matchQuery:a.matchQuery,normalizeQuery:a.normalizeQuery,caseSensitive:a.caseSensitive,shouldRecord:a.shouldRecord,shouldPlayback:a.shouldPlayback,excludeUrls:a.excludeUrls}),this[n]=!1,("record"===this[l]||"update"===this[l]||"playback"===this[l]&&a.excludeUrls&&a.excludeUrls.length>0)&&(this[o]=new d(a)),("playback"===this[l]||"update"===this[l])&&this[m]&&this.loadSnapshots().catch(()=>{})}dispatch(a,b){let c=this[l];if(this[k].isUrlExcluded(a))return this[o].dispatch(a,b);if("playback"===c||"update"===c){if(!this[n])return this.#bI(a,b);let d=this[k].findSnapshot(a);if(d)return this.#bJ(d,b);{if("update"===c)return this.#bK(a,b);let d=new h(`No snapshot found for ${a.method||"GET"} ${a.path}`);if(b.onResponseError)return void b.onResponseError(null,d);throw d}}if("record"===c)return this.#bK(a,b)}async #bI(a,b){return await this.loadSnapshots(),this.dispatch(a,b)}#bK(a,b){let c={statusCode:null,headers:{},trailers:{},body:[]},d=this;return this[o].dispatch(a,{onRequestStart(a,c){return b.onRequestStart(a,{...c,history:this.history})},onRequestUpgrade:(a,c,d,e)=>b.onRequestUpgrade(a,c,d,e),onResponseStart:(a,d,e,f)=>(c.statusCode=d,c.headers=e,b.onResponseStart(a,d,e,f)),onResponseData:(a,d)=>(c.body.push(d),b.onResponseData(a,d)),onResponseEnd(e,f){c.trailers=f;let g=Buffer.concat(c.body);d[k].record(a,{statusCode:c.statusCode,headers:c.headers,body:g,trailers:c.trailers}).then(()=>b.onResponseEnd(e,f)).catch(a=>b.onResponseError(e,a))},onResponseError:(a,c)=>b.onResponseError(a,c)})}#bJ(a,b){try{let{response:c}=a,d=c.headers?i.toRawHeaders(c.headers):[],e=c.trailers?i.toRawHeaders(c.trailers):[],f={rawHeaders:d,rawTrailers:e,pause(){},resume(){},abort(a){this.aborted=!0,this.reason=a},aborted:!1,paused:!1};b.onRequestStart(f),b.onResponseStart(f,c.statusCode,c.headers,c.statusMessage);let g=Buffer.from(c.body,"base64");b.onResponseData(f,g),b.onResponseEnd(f,c.trailers)}catch(a){b.onResponseError?.(null,a)}}async loadSnapshots(a){await this[k].loadSnapshots(a||this[m]),this[n]=!0,"playback"===this[l]&&this.#bL()}async saveSnapshots(a){return this[k].saveSnapshots(a||this[m])}#bL(){for(let a of this[k].getSnapshots()){let{request:b,responses:c,response:d}=a,e=new URL(b.url),f=this.get(e.origin),g=c?c[0]:d;g&&f.intercept({path:e.pathname+e.search,method:b.method,headers:b.headers,body:b.body}).reply(g.statusCode,g.body,{headers:g.headers,trailers:g.trailers}).persist()}}getRecorder(){return this[k]}getMode(){return this[l]}clearSnapshots(){this[k].clear()}resetCallCounts(){this[k].resetCallCounts()}deleteSnapshot(a){return this[k].deleteSnapshot(a)}getSnapshotInfo(a){return this[k].getSnapshotInfo(a)}replaceSnapshots(a){this[k].replaceSnapshots(a)}async close(){"playback"===this[l]?this[k].destroy():await this[k].close(),await this[o]?.close(),await super.close()}}a.exports=q},90053:a=>{"use strict";a.exports={rE:"1.1.29"}},90181:(a,b,c)=>{"use strict";c.d(b,{getPricingForModel:()=>f}),c(24081);let d=(0,c(58609).U)("pricing");async function e(){return await d.getAll()}async function f(a,b){if(!b)return null;let d=await e();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:f}=await c.e(7464).then(c.bind(c,87464));return f(a,b)}},90249:(a,b,c)=>{"use strict";let d=c(53053),e=c(84285),f=c(32264),{normalizeHeaders:g,makeCacheKey:h,makeDeduplicationKey:i}=c(79468),j=d.channel("undici:request:pending-requests");a.exports=(a={})=>{let{methods:b=["GET"],skipHeaderNames:c=[],excludeHeaderNames:d=[],maxBufferSize:k=5242880}=a;if("object"!=typeof a||null===a)throw TypeError(`expected type of opts to be an Object, got ${null===a?"null":typeof a}`);if(!Array.isArray(b))throw TypeError(`expected opts.methods to be an array, got ${typeof b}`);for(let a of b)if(!e.safeHTTPMethods.includes(a))throw TypeError(`expected opts.methods to only contain safe HTTP methods, got ${a}`);if(!Array.isArray(c))throw TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof c}`);if(!Array.isArray(d))throw TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof d}`);if(!Number.isFinite(k)||k<=0)throw TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${k}`);let l=new Set(c.map(a=>a.toLowerCase())),m=new Set(d.map(a=>a.toLowerCase())),n=new Map;return a=>(c,d)=>{if(c.upgrade||!1===b.includes(c.method))return a(c,d);if(c={...c,headers:g(c)},l.size>0){for(let b of Object.keys(c.headers))if(l.has(b.toLowerCase()))return a(c,d)}let e=i(h(c),m),o=n.get(e);if(o)return!!o.addWaitingHandler(d)||a(c,d);let p=new f(d,()=>{n.delete(e),j.hasSubscribers&&j.publish({size:n.size,key:e,type:"removed"})},k);return n.set(e,p),j.hasSubscribers&&j.publish({size:n.size,key:e,type:"added"}),a(c,p)}}},90548:(a,b,c)=>{"use strict";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(8735),i=c(42541),j=c(21616),k=c(79499),l=c(84238);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)},90943:(a,b,c)=>{"use strict";c.d(b,{Jm:()=>h,od:()=>i});let d=new Set(["blocklist","content-filter","content_filter","image_safety","model_armor","prohibited_content","recitation","refusal","safety","spii"]),e=new Set(["length","max-tokens","max_tokens"]),f=new Set(["tool-calls","tool-use","tool_calls","tool_use"]),g=new Set(["completed","end-turn","end_of_sequence","end_turn","eos","finish_reason_unspecified","stop","stop_sequence"]);function h(a,{hasToolCalls:b=!1}={}){let c=String(a||"").trim().toLowerCase();return d.has(c)?"content_filter":e.has(c)?"length":f.has(c)?"tool_calls":(g.has(c),b?"tool_calls":"stop")}function i(a){return d.has(String(a||"").trim().toLowerCase())}},91083:(a,b,c)=>{"use strict";"u">typeof process&&process.versions?.node,"u">typeof process&&process.env?.ENABLE_REQUEST_LOGS},91120:(a,b,c)=>{"use strict";c.d(b,{j:()=>h});var d=c(69384),e=c(30395),f=c(80015);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"}}}},91297:(a,b,c)=>{"use strict";c.d(b,{cV:()=>x});var d=c(55511),e=c.n(d),f=c(69384),g=c(30395),h=c(48991),i=c(8735),j=c(46956),k=c(11484),l=c(13324);let m=["opencode","open-code","cline","roo-cline","roo_cline","cursor","windsurf","aider","continue.dev","copilot","avante","codecompanion","claude code","claude-code","kilo code","kilocode","zevairouter","zevairouter"],n=new Map,o=new Set(["properties","patternProperties","$defs","definitions","dependencies","dependentSchemas","dependentRequired"]),p=new Set(["name","enum","const"]),q=new Set(["args","arguments","response"]),r=new Set(["x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-forwarded-port","x-real-ip","forwarded","via","x-title","x-stainless-lang","x-stainless-package-version","x-stainless-os","x-stainless-arch","x-stainless-runtime","x-stainless-runtime-version","x-stainless-timeout","x-stainless-retry-count","x-stainless-helper-method","http-referer","referer","sec-ch-ua","sec-ch-ua-mobile","sec-ch-ua-platform","sec-fetch-mode","sec-fetch-site","sec-fetch-dest","priority","accept-encoding"]);var s=c(22067);let t=/restricted from using Gemini Code Assist for individuals in your organization/i,u=[/image/i,/imagen/i];function v(a){return!!a&&u.some(b=>b.test(a))}function w(a){if(!a||"object"!=typeof a||a.thought&&!a.functionCall||a.thoughtSignature&&!a.functionCall&&!a.text)return!1;let b="string"==typeof a.text&&a.text.trim().length>0,c=Object.entries(a).some(([a,b])=>"text"!==a&&"thought"!==a&&"thoughtSignature"!==a&&null!=b);return b||c}class x extends f.Hv{constructor(){super("antigravity",g.xq.antigravity)}buildUrl(a,b,c=0){let d=this.getBaseUrls(),e=d[c]||d[0],f=v(a);return`${e}/v1internal:${b&&!f?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0,c=null,d=null){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":(0,h.rJ)(d)}}transformRequest(a,b,c,d){let e=d?.projectId||d?.providerSpecificData?.projectId||this.generateProjectId();if(v(a)){let c=function(a){let b={aspectRatio:"1:1"},c=String(a).match(/(\d+)x(\d+)$/);if(c){let a=parseInt(c[1]),d=parseInt(c[2]);if(a<=16&&d<=16)b.aspectRatio=`${a}:${d}`;else{let c=(a,b)=>b?c(b,a%b):a,e=c(a,d)||1;b.aspectRatio=`${a/e}:${d/e}`}}return b}(a),f=String(a).replace(/-(\d+)x(\d+)$/,""),g=[];for(let a of b.request?.contents||b.contents||[]){let b=(a.parts||[]).filter(a=>void 0!==a.text||void 0!==a.inlineData);b.length>0&&g.push({role:a.role||"user",parts:b})}let h={contents:g,generationConfig:{temperature:1,topP:.95,topK:40,maxOutputTokens:8192,imageConfig:c},sessionId:b.request?.sessionId||(0,s.a0)(d)};return{project:e,model:f,userAgent:(0,s.Xv)(d),requestType:"image_gen",requestId:(0,s.VC)({body:b,request:h,credentials:d,model:f,requestType:"image_gen"}),request:h}}let f=b.request?.contents?function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a){let a=Array.isArray(c?.parts)?c.parts.filter(w):[];0!==a.length&&b.push({...c,role:a.some(a=>a.functionResponse)?"user":c.role||"user",parts:a})}if(0===b.length)return[];"user"!==b[0].role&&(b[0]={...b[0],role:"user"});let c=new Map,d=new Set;for(let a=0;a<b.length;a++){let e=b[a];for(let b=0;b<e.parts.length;b++){let f=e.parts[b],g=f.functionCall?.name;if(g){let d=c.get(g)||[];d.push(`${a}:${b}`),c.set(g,d);continue}let h=f.functionResponse?.name,i=h&&c.get(h);i?.length&&d.add(i.shift())}}let e=[],f=a=>{let b=e[e.length-1];b?.role===a.role?b.parts.push(...a.parts):e.push(a)};for(let a=0;a<b.length;a++){let c=b[a];if(f({...c,parts:[...c.parts]}),a+1>=b.length)continue;let e=[];for(let b=0;b<c.parts.length;b++){let f=c.parts[b].functionCall?.name;f&&!d.has(`${a}:${b}`)&&e.push({functionResponse:{name:f,response:{}}})}e.length>0&&f({role:"user",parts:e})}return e}(b.request.contents):void 0,g=b.request?.tools;if(g&&g.length>0){let a=g.flatMap(a=>(a.functionDeclarations||[]).map(a=>({...a,name:function(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}(a.name),parameters:a.parameters?(0,l.Yr)(structuredClone(a.parameters)):{type:"object",properties:{reason:{type:"string",description:"Brief explanation"}},required:["reason"]}})));g=a.length>0?[{functionDeclarations:a}]:[]}let{tools:h,toolConfig:i,...j}=b.request||{},k={...j.generationConfig||{}};k.maxOutputTokens>64e3&&(k.maxOutputTokens=64e3);let m={...j,generationConfig:k,...f&&{contents:f},...g&&{tools:g},sessionId:b.request?.sessionId||(0,s.a0)(d),safetySettings:void 0,...g?.length>0&&{toolConfig:i?.functionCallingConfig?i:{functionCallingConfig:{mode:"VALIDATED"}}}};return{...b,project:e,model:a,userAgent:(0,s.Xv)(d),requestType:"agent",requestId:(0,s.VC)({body:b,request:m,credentials:d,model:a,requestType:"agent"}),request:m}}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;try{let d=await (0,j.proxyAwareFetch)(h.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})},c);if(!d.ok)return await (0,k.aI)(d),null;let e=await d.json();return b?.info?.("TOKEN","Antigravity refreshed"),{accessToken:e.access_token,refreshToken:e.refresh_token||a.refreshToken,expiresIn:e.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Antigravity refresh error: ${a.message}`),null}}generateProjectId(){let a=["useful","bright","swift","calm","bold"][Math.floor(5*Math.random())],b=["fuze","wave","spark","flow","core"][Math.floor(5*Math.random())];return`${a}-${b}-${e().randomUUID().slice(0,5)}`}generateSessionId(){return e().randomUUID()+Date.now().toString()}parseRetryHeaders(a){if(!a?.get)return null;let b=a.get("retry-after");if(b){let a=parseInt(b,10);if(!isNaN(a)&&a>0)return 1e3*a;let c=new Date(b);if(!isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}}let c=a.get("x-ratelimit-reset-after");if(c){let a=parseInt(c,10);if(!isNaN(a)&&a>0)return 1e3*a}let d=a.get("x-ratelimit-reset");if(d){let a=1e3*parseInt(d,10)-Date.now();return a>0?a:null}return null}parseRetryFromErrorMessage(a){if(!a||"string"!=typeof a)return null;let b=a.match(/reset(?:s)?(?: after| in)?\s*:?\s*(\d+h)?(\d+m)?(\d+(?:\.\d+)?s)?/i);if(!b||!b[1]&&!b[2]&&!b[3])return null;let c=0;return b[1]&&(c+=3600*parseInt(b[1])*1e3),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=Math.round(1e3*parseFloat(b[3]))),c>0?c:null}parseError(a,b){if(a.status===i.gx.FORBIDDEN){let a=null;try{a=JSON.parse(b)}catch{}let c=a?.error?.message||a?.message||b;if((Array.isArray(a?.error?.details)?a.error.details:[]).find(a=>a?.["@type"]==="type.googleapis.com/google.rpc.ErrorInfo"&&a?.reason==="VALIDATION_REQUIRED"))return{status:i.gx.FORBIDDEN,message:c,failureClass:"account_validation_required",providerErrorCode:"VALIDATION_REQUIRED",refreshRecommended:!1};if(t.test(b||""))return{status:i.gx.FORBIDDEN,message:c,failureClass:"policy_suspended",providerErrorCode:"ORG_CODE_ASSIST_RESTRICTED",refreshRecommended:!1}}if(a.status===i.gx.RATE_LIMITED&&b)try{let a=JSON.parse(b),c=a?.error,d=Array.isArray(c?.details)?c.details:[],e=Date.now(),f=null;for(let a of d){let b=a?.metadata;if(b?.quotaResetTimeStamp){let a=Date.parse(b.quotaResetTimeStamp);if(!Number.isNaN(a)&&a>e){f=a;break}}let c=function(a){if("string"!=typeof a)return null;let b=a.trim();if(!b)return null;if(b.endsWith("ms")){let a=parseFloat(b.slice(0,-2));return Number.isFinite(a)?a:null}let c=b.match(/^(?:(\d+(?:\.\d+)?)h)?(?:(\d+(?:\.\d+)?)m)?(?:(\d+(?:\.\d+)?)s)?$/);if(c&&(c[1]||c[2]||c[3])){let a=parseFloat(c[1]||"0"),b=parseFloat(c[2]||"0");return Math.round((3600*a+60*b+parseFloat(c[3]||"0"))*1e3)}return null}(b?.quotaResetDelay||a?.retryDelay);if(null!==c&&c>0){let a=e+c;(!f||a>f)&&(f=a)}}if(f)return{status:429,message:c?.message||b,resetsAtMs:f}}catch{}return super.parseError(a,b)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.getFallbackCount(),l=null,s=0,t={},u={},v=!1,w=!1;for(let x=0;x<h;x++){let y=this.buildUrl(a,c,x),z=this.transformRequest(a,b,c,d);w&&z.request&&(z.enabledCreditTypes=["GOOGLE_ONE_AI"]),z=function(a){if(null==a||"object"!=typeof a)return a;try{let{value:b}=function a(b){if("string"==typeof b){let a=function(a){if(!a||0===m.length)return a;let b=a;for(let a of m){if(!a)continue;let c=function(a){let b=n.get(a);return b||(n.size>2e3&&n.clear(),b=RegExp(a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi"),n.set(a,b)),b}(a);b=b.replace(c,a=>a.length<=1?a:a[0]+"‍"+a.slice(1))}return b}(b);return{value:a,changed:a!==b}}if(Array.isArray(b)){let c=!1,d=b.map(b=>{let d=a(b);return d.changed&&(c=!0),d.value});return c?{value:d,changed:!0}:{value:b,changed:!1}}if(b&&"object"==typeof b){let c=!1,d={};for(let[e,f]of Object.entries(b))if(o.has(e)&&f&&"object"==typeof f&&!Array.isArray(f)){let b={},g=!1;for(let[c,d]of Object.entries(f)){let e=a(d);e.changed&&(g=!0),b[c]=e.value}d[e]=g?b:f,g&&(c=!0)}else if("required"===e||"propertyNames"===e)d[e]=f;else if(p.has(e))d[e]=f;else if(q.has(e)||("input"===e?b?.type==="tool_use":"content"===e&&b?.type==="tool_result"))d[e]=f;else{let b=a(f);b.changed&&(c=!0),d[e]=b.value}return c?{value:d,changed:!0}:{value:b,changed:!1}}return{value:b,changed:!1}}(a);return b}catch{return a}}(z);let A=z.request?.sessionId,B=function(a){let b,c={};for(let[d,e]of Object.entries(a||{})){let a=d.toLowerCase();if(!(a.startsWith("x-zevai-")||r.has(a))){if("authorization"===a){b=e;continue}c[d]=e}}return void 0!==b&&(c.Authorization=b),c}(this.buildHeaders(d,c,A,a));t[x]||(t[x]=0),u[x]||(u[x]=0);try{let a=await (0,j.proxyAwareFetch)(y,{method:"POST",headers:B,body:JSON.stringify(z),signal:e},g);if(a.status===i.gx.RATE_LIMITED||a.status===i.gx.SERVICE_UNAVAILABLE){if(a.status===i.gx.RATE_LIMITED&&!1===this.config.retrySameCredential429)return{response:a,url:y,headers:B,transformedBody:z};let b=this.parseRetryHeaders(a.headers),c="";if(!b)try{let d=await a.clone().text(),e=JSON.parse(d);c=e?.error?.message||e?.message||"",b=this.parseRetryFromErrorMessage(c)}catch(a){}if(a.status===i.gx.RATE_LIMITED&&!v&&/quota[_ ]?exhausted|quota reached|individual quota|enable overages/i.test(c)){v=!0,w=!0,f?.debug?.("RETRY","429 quota exhausted → retrying once with GOOGLE_ONE_AI credits"),await (0,k.aI)(a),x--;continue}if(a.status===i.gx.RATE_LIMITED&&/quota[_ ]?exhausted|quota reached|individual quota|enable overages/i.test(c)&&(!b||b>1e4))return f?.debug?.("RETRY",`429 quota exhausted${b?` (resets in ${Math.ceil(b/36e5)}h)`:""} — skipping futile retries, moving to next account`),s=a.status,{response:a,url:y,headers:B,transformedBody:z};if(b&&b<=1e4&&u[x]<3){u[x]++,f?.debug?.("RETRY",`${a.status} with Retry-After: ${Math.ceil(b/1e3)}s, waiting... (${u[x]}/3)`),await (0,k.aI)(a),await new Promise(a=>setTimeout(a,b)),x--;continue}if(a.status===i.gx.RATE_LIMITED&&(!b||0===b)&&t[x]<3){t[x]++;let b=Math.min(1e3*2**t[x],1e4);f?.debug?.("RETRY",`429 auto retry ${t[x]}/3 after ${b/1e3}s`),await (0,k.aI)(a),await new Promise(a=>setTimeout(a,b)),x--;continue}if(f?.debug?.("RETRY",`${a.status}, Retry-After ${b?`too long (${Math.ceil(b/1e3)}s)`:"missing"}, trying fallback`),s=a.status,x+1<h){await (0,k.aI)(a);continue}}if(this.shouldRetry(a.status,x)){f?.debug?.("RETRY",`${a.status} on ${y}, trying fallback ${x+1}`),s=a.status,await (0,k.aI)(a);continue}return{response:a,url:y,headers:B,transformedBody:z}}catch(a){if(l=a,x+1<h){f?.debug?.("RETRY",`Error on ${y}, trying fallback ${x+1}`);continue}throw a}}throw l||Error(`All ${h} URLs failed with status ${s}`)}}},91358:(a,b,c)=>{"use strict";c.d(b,{K:()=>e});var d=c(66678);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}}},91492:(a,b,c)=>{"use strict";c.d(b,{A:()=>u});var d=c(69384),e=c(42541),f=c(70556),g=c(15822),h=c(42671),i=c(70884),j=c(41222),k=c(28113),l=c(56248),m=c(98151);let n="Anthropic",o="OpenAi",p="Google";function q(a,b){let c=String(a||"").toLowerCase();if("anthropic"===c)return n;if("openai"===c||"open_ai"===c)return o;if("google"===c||"gemini"===c)return p;if("xai"===c||"x_ai"===c||"x-ai"===c)return"XAi";let d=String(b||"").toLowerCase();return d.includes("claude")?n:d.includes("gemini")?p:d.includes("grok")||d.includes("xai")?"XAi":o}function r(a,b,c){return a===n?(0,j.claudeToOpenAIResponse)(b,c):a===p?(0,k.geminiToOpenAIResponse)(b,c):a===o?(0,l.openaiResponsesToOpenAIResponse)(b,c):b}function s(a,b,c){if(c)for(let d of Array.isArray(c)?c:[c])d&&a.enqueue(b.encode(`data: ${JSON.stringify(d)}
455
455
 
456
456
  `))}class t extends d.Hv{constructor(){super("zed")}async resolveModel(a,b,c,d){try{let d=await (0,m.w9)(b,{config:this.config,signal:c}),e=d?.rawById?.get(a)??null;if(!e){let d=await (0,m.w9)(b,{config:this.config,signal:c,forceRefresh:!0});e=d?.rawById?.get(a)??null}return{raw:e,provider:q(e?.provider,a)}}catch(c){let b=c instanceof Error?c.message:String(c);return d?.warn?.("ZED",`model catalog unavailable, inferring provider for ${a}: ${b}`),{raw:null,provider:q(null,a)}}}async execute({model:a,body:b,stream:c,credentials:d,signal:j,log:k,proxyOptions:l=null}){let{provider:q}=await this.resolveModel(a,d,j,k),t=q===n?(0,g.openaiToClaudeRequest)(a,b,!0):q===p?(0,h.openaiToGeminiRequest)(a,b,!0):q===o?(0,i.openaiToOpenAIResponsesRequest)(a,b,!0,d):{...b||{},model:a,stream:!1!==c},u=b||{},v={thread_id:u.thread_id||d?._clientSessionId,prompt_id:u.prompt_id,provider:q,model:a,provider_request:t},w=await (0,m.zn)(d,"/completions",{config:this.config,signal:j,fetchOptions:{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson, text/event-stream, */*","User-Agent":"zevairouter/zed","x-zed-version":this.config?.appVersion?.toString()||"0.200.0",[m.xK.clientSupportsStatus]:"true",[m.xK.clientSupportsStreamEnded]:"true"},body:JSON.stringify(v)}});return{response:w.ok?function(a,b,c){if(!a.ok||!a.body)return a;let d=new TextDecoder,g=new TextEncoder,h=function(a,b){if(a===n)return(0,f.Ws)(e.h.CLAUDE);if(a===p)return(0,f.Ws)(e.h.GEMINI);if(a===o)return(0,f.Ws)(e.h.OPENAI_RESPONSES);let c=(0,f.Ws)(e.h.OPENAI);return c.model=b,c}(b,c),i="",j=!1,k=a=>{j||(s(a,g,r(b,null,h)),a.enqueue(g.encode("data: [DONE]\n\n")),j=!0)},l=(a,d)=>{if(j)return;let e=function(a){let b=a.replace(/\r$/,"").trim();if(!b)return null;if(b.startsWith("data:")&&(b=b.slice(5).trimStart()),"[DONE]"===b)return{done:!0};try{let a=JSON.parse(b);if(a&&Object.prototype.hasOwnProperty.call(a,"event"))return{event:a.event};if(a&&Object.prototype.hasOwnProperty.call(a,"status"))return{status:a.status};return{event:a}}catch{return null}}(a);if(e){if(e.done)return void k(d);if(e.status){let a=function(a){if(!a)return null;if("string"==typeof a)return{type:a};if("object"==typeof a){let b=Object.keys(a)[0];return b&&"object"==typeof a[b]?{type:b,...a[b]}:a}return null}(e.status);if(a?.type==="failed"||a?.failed){let b=a.failed||a,e=String(b.message||b.error||b.code||"request failed");s(d,g,{id:`chatcmpl-zed-error-${Date.now()}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:c,choices:[{index:0,delta:{content:`[Zed error] ${e}`},finish_reason:"stop"}]}),k(d)}else(a?.type==="stream_ended"||"stream_ended"===a)&&k(d);return}s(d,g,r(b,e.event,h))}};return new Response(a.body.pipeThrough(new TransformStream({transform(a,b){let c;for(i+=d.decode(a,{stream:!0});-1!==(c=i.indexOf("\n"));){let a=i.slice(0,c);i=i.slice(c+1),l(a,b)}},flush(a){(i+=d.decode())&&(l(i,a),i=""),k(a)}})),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache"}})}(w,q,a):w,url:`${this.config?.llmBaseUrl||"https://cloud.zed.dev"}/completions`,headers:{"Content-Type":"application/json",Authorization:"Bearer <zed-llm-token>"},transformedBody:v}}parseError(a,b){let c=null;try{c=JSON.parse(b||"{}")}catch{c=null}let d=c?.error||void 0,e=c?.code||d?.code||"",f=c?.message||d?.message||b||a.statusText;return"trial_blocked"===e?{status:a.status,message:`Zed trial access is blocked upstream. The account can list hosted models, but Zed is refusing completions until trial/billing access is enabled or unblocked. Zed says: ${f}`}:e?{status:a.status,message:`Zed ${e}: ${f}`}:{status:a.status,message:f||`Zed upstream error: ${a.status}`}}async refreshCredentials(){return null}needsRefresh(){return!1}}let u=t},91824:(a,b,c)=>{"use strict";c.d(b,{g2:()=>e});let d={cc:"claude",cx:"codex",gc:"gemini-cli",qw:"qwen",if:"iflow",ag:"antigravity",gh:"github",kr:"kiro",cu:"cursor",kc:"kilocode",kmc:"kimi","kimi-coding":"kimi",cl:"cline",oc:"opencode",ocg:"opencode-go",qd:"qoder",qoder:"qoder",acl:"autoclaw",autoclaw:"autoclaw",cb:"codebuddy","cb-cn":"codebuddy-cn",codebuddy:"codebuddy","codebuddy-cn":"codebuddy-cn",el:"elevenlabs",openai:"openai",vercel:"vercel-ai-gateway","vercel-ai-gateway":"vercel-ai-gateway",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",glm:"glm",kimi:"kimi",minimax:"minimax","minimax-cn":"minimax-cn",hf:"huggingface",huggingface:"huggingface",ds:"deepseek",deepseek:"deepseek",cmc:"commandcode",commandcode:"commandcode",groq:"groq",xai:"xai",gcli:"grok-cli","grok-cli":"grok-cli",pa:"perplexity-agent","perplexity-agent":"perplexity-agent",mistral:"mistral",pplx:"perplexity",perplexity:"perplexity",together:"together",fireworks:"fireworks",cerebras:"cerebras",cohere:"cohere",nvidia:"nvidia",nebius:"nebius",siliconflow:"siliconflow",hyp:"hyperbolic",hyperbolic:"hyperbolic",dg:"deepgram",deepgram:"deepgram",aai:"assemblyai",assemblyai:"assemblyai",nb:"nanobanana",nanobanana:"nanobanana",ch:"chutes",chutes:"chutes",ark:"volcengine-ark","volcengine-ark":"volcengine-ark",byteplus:"byteplus",bpm:"byteplus",cursor:"cursor",vx:"vertex",vertex:"vertex",vxp:"vertex-partner","vertex-partner":"vertex-partner",gw:"grok-web","grok-web":"grok-web",pw:"perplexity-web","perplexity-web":"perplexity-web",na:"notion-ai","notion-ai":"notion-ai",mimo:"xiaomi-mimo","mimo-desktop":"xiaomi-mimo",xmd:"xiaomi-mimo","xiaomi-mimo":"xiaomi-mimo",fish:"fish-audio","fish-audio":"fish-audio",trae:"trae",marscode:"trae",ws:"windsurf",windsurf:"windsurf",zd:"zed",zed:"zed",dv:"devin-cli",devin:"devin-cli","devin-cli":"devin-cli",xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan",mmf:"mimo-free","mimo-free":"mimo-free",venice:"venice",fl:"featherless",featherless:"featherless",cf:"cloudflare-ai","cloudflare-ai":"cloudflare-ai",fal:"fal-ai","fal-ai":"fal-ai",stability:"stability-ai","stability-ai":"stability-ai",bfl:"black-forest-labs","black-forest-labs":"black-forest-labs",recraft:"recraft",topaz:"topaz",runway:"runwayml",runwayml:"runwayml",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly",agentrouter:"agentrouter",aimlapi:"aimlapi",aiml:"aimlapi",novita:"novita",modal:"modal",mdl:"modal",reka:"reka",nlpcloud:"nlpcloud",nlpc:"nlpcloud",bazaarlink:"bazaarlink",bzl:"bazaarlink",completions:"completions",cpl:"completions",enally:"enally",enly:"enally",freetheai:"freetheai",fta:"freetheai",llm7:"llm7",lepton:"lepton",kluster:"kluster",ai21:"ai21","inference-net":"inference-net",inet:"inference-net",predibase:"predibase",bytez:"bytez",morph:"morph",longcat:"longcat",lc:"longcat",puter:"puter",pu:"puter",uncloseai:"uncloseai",unc:"uncloseai",scaleway:"scaleway",scw:"scaleway",deepinfra:"deepinfra",sambanova:"sambanova",samba:"sambanova",nscale:"nscale",baseten:"baseten",publicai:"publicai","nous-research":"nous-research",nous:"nous-research",glhf:"glhf",bb:"blackbox",blackbox:"blackbox",ps:"poolside",poolside:"poolside",tr:"tokenrouter",tokenrouter:"tokenrouter",alitp:"alitp-intl","alitp-intl":"alitp-intl",kgw:"kilo-gateway","kilo-gateway":"kilo-gateway",kilogateway:"kilo-gateway",hunyuan:"tencent",tencent:"tencent","tencent-hunyuan":"tencent",qianfan:"baidu",baidu:"baidu",ernie:"baidu","baidu-qianfan":"baidu","llm-7":"llm7",morphllm:"morph","bazaar-link":"bazaarlink"};function e(a){return d[a]||a}},92216:(a,b,c)=>{"use strict";c.r(b),c.d(b,{cleanupProviderConnections:()=>t,createProviderConnection:()=>m,deleteProviderConnection:()=>q,deleteProviderConnectionsByProvider:()=>r,getProviderConnectionById:()=>k,getProviderConnections:()=>j,mutateProviderConnection:()=>o,mutateProviderConnectionQuota:()=>p,reorderProviderConnections:()=>s,updateProviderConnection:()=>n});var d=c(27137),e=c(24081),f=c(50743);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"];function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
457
457
  VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
@@ -470,7 +470,7 @@ data: ${JSON.stringify(a)}
470
470
  `}},92853:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d={id:"morph",alias:"morph",aliases:["morphllm"],category:"apikey",authModes:["apikey"],display:{name:"Morph",icon:"change_history",color:"#14B8A6",textIcon:"MP",website:"https://morphllm.com",notice:{apiKeyUrl:"https://morphllm.com"}},transport:{baseUrl:"https://api.morphllm.com/v1/chat/completions",validateUrl:"https://api.morphllm.com/v1/models",format:"openai"},models:[{id:"morph-v3-large",name:"Morph v3 Large"},{id:"morph-v3-fast",name:"Morph v3 Fast"},{id:"morph-qwen35-397b",name:"Qwen 3.5 397B (Morph)",contextLength:262144},{id:"morph-minimax27-230b",name:"MiniMax M2.7 (Morph)",contextLength:200704},{id:"morph-qwen36-27b",name:"Qwen 3.6 27B (Morph)",contextLength:262144},{id:"morph-dsv4flash",name:"DeepSeek V4 Flash (Morph)",contextLength:1048576}],serviceKinds:["llm"]}},93745:(a,b,c)=>{"use strict";c.d(b,{E9:()=>t,RF:()=>j,YC:()=>s,oV:()=>r});var d=c(55511),e=c.n(d),f=c(8735);let g=new Map,h=new Map,i=setInterval(()=>{let a=Date.now();for(let[b,c]of g)a-c.lastUsed>f.v1.sessionTtlMs&&g.delete(b)},f.v1.sessionCleanupIntervalMs);function j(a){if(!a)return k();let b=g.get(a);if(b)return b.lastUsed=Date.now(),b.sessionId;if(g.size>=1e3){let a=g.keys().next().value;g.delete(a)}let c=k();return g.set(a,{sessionId:c,lastUsed:Date.now()}),c}function k(){return e().randomUUID()+Date.now().toString()}i.unref&&i.unref();let l=new Map,m=["x-session-id","session-id","session_id","x-amp-thread-id"],n=/_session_([a-f0-9-]+)$/;function o(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}function p(a,b){return a&&"object"==typeof a?o(a[b]??a[b.toLowerCase()]):null}let q=/^[a-z]+\/([0-9a-f-]{36})\//i;function r(a={}){return function({headers:a,body:b,connectionId:c,workspaceId:d,scope:f=""}={}){let g=function(a,b,c=""){let d=function(a){if("string"!=typeof a||!a)return null;let b=a.match(n);if(b)return b[1];if("{"===a[0])try{return o(JSON.parse(a)?.session_id)}catch{}return null}(b?.metadata?.user_id);if(d)return`claude:${d}`;let e=function(a){let b=a?.request?.sessionId;if(null!=b&&""!==b)return o(String(b));let c="string"==typeof a?.requestId?a.requestId.match(q):null;return c?o(c[1]):null}(b);if(e)return`antigravity:${e}`;for(let b of m){let c=p(a,b);if(c)return c}let f="kiro"===c?null:p(a,"x-client-request-id");return f||o(b?.prompt_cache_key)||o(b?.session_id)||o(b?.conversation_id)||("kiro"===c?null:o(b?.metadata?.user_id))||null}(a,b,f);if(g)return{sessionId:g,ephemeral:!1};let h="kiro"===f?null:function(a,b){var c;let d=function(a){let b=Array.isArray(a?.input)?a.input:Array.isArray(a?.messages)?a.messages:null;if(!b)return"";let c="";for(let a of b)if(a?.role==="assistant"){if("string"==typeof a.content)c+=a.content;else if(Array.isArray(a.content))for(let b of a.content)c+=b?.text||b?.output||"";if(c.length>=50)break}return c}(b);if(d.length<50)return null;let f=(c=`${a}:${d.slice(0,50)}`,e().createHash("sha256").update(c).digest("hex").slice(0,16)),g=l.get(f);if(g)return g.lastUsed=Date.now(),g.sessionId;l.size>=5e3&&l.delete(l.keys().next().value);let h=k();return l.set(f,{sessionId:h,lastUsed:Date.now()}),h}(`${f}:${c||""}`,b);if(h)return{sessionId:h,ephemeral:!1};let i=o(d);return i?{sessionId:i,ephemeral:!1}:"kiro"===f?{sessionId:k(),ephemeral:!0}:{sessionId:j(c),ephemeral:!1}}(a).sessionId}function s(a,b,c,d=""){return r({headers:b?.rawHeaders,body:a,connectionId:c,scope:d})}function t(a){let b=o(a);if(!b)return null;if(/^-?\d+$/.test(b))return b;let c=0x7fffffffffffffffn&e().createHash("sha256").update(b).digest().readBigUInt64BE(0);return`-${c.toString()}`}let u=setInterval(()=>{let a=Date.now();for(let[b,c]of l)a-c.lastUsed>f.v1.sessionTtlMs&&l.delete(b);for(let[b,c]of h)a-c.lastUsed>f.v1.sessionTtlMs&&h.delete(b)},f.v1.sessionCleanupIntervalMs);u.unref&&u.unref()},93818:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d={id:"baidu",alias:"qianfan",aliases:["ernie","baidu-qianfan"],category:"apikey",authModes:["apikey"],display:{name:"Baidu Qianfan",icon:"search",color:"#2932E1",textIcon:"BD",website:"https://cloud.baidu.com/product/qianfan.html",notice:{apiKeyUrl:"https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application"}},transport:{baseUrl:"https://qianfan.baidubce.com/v2/chat/completions",validateUrl:"https://qianfan.baidubce.com/v2/models",format:"openai"},models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextLength:1048576},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextLength:1048576},{id:"glm-5.2",name:"GLM 5.2",contextLength:512e3},{id:"glm-5.1",name:"GLM 5.1",contextLength:198e3},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"qwen3.5-397b-a17b",name:"Qwen 3.5 397B A17B",contextLength:262144},{id:"qwen3.5-27b",name:"Qwen 3.5 27B",contextLength:262144}],serviceKinds:["llm"]}},94026:(a,b,c)=>{"use strict";c.r(b),c.d(b,{claudeToOpenAIRequest:()=>i});var d=c(70556),e=c(42541),f=c(58455),g=c(18831),h=c(61847);function i(a,b,c){let d={model:a,messages:[],stream:c};if(b.max_tokens&&(d.max_tokens=(0,f.M)(b)),void 0!==b.temperature&&(d.temperature=b.temperature),b.thinking?.type==="enabled"){let a=Number(b.thinking.budget_tokens);Number.isFinite(a)?a>0&&(d.reasoning_effort=a<=2048?"low":a<=16384?"medium":"high"):d.reasoning_effort="medium"}else if(b.thinking?.type==="adaptive"){let a=(0,g.uA)(b);d.thinking=a.thinking,d.reasoning_effort=a.output_config.effort}if(b.system){let a=Array.isArray(b.system)?b.system.map(a=>a.text||"").join("\n"):b.system;a&&d.messages.push({role:"system",content:a})}if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=function(a){let b="user"===a.role||"tool"===a.role?"user":"assistant";if("string"==typeof a.content)return{role:b,content:a.content};let c=(0,h.F2)(a.content);if(c.length>0||Array.isArray(a.content)){let a=[],d=[],e=[],f=[],g=[];for(let b of c)switch(b.type){case"text":a.push({type:"text",text:b.text});break;case"image":{let c=j(b.source);c&&a.push(c)}break;case"thinking":b.thinking&&g.push(b.thinking);break;case"redacted_thinking":b.data&&g.push(b.data);break;case"tool_use":d.push({id:b.id,type:"function",function:{name:b.name,arguments:JSON.stringify(b.input||{})}});break;case"tool_result":{let a="";if("string"==typeof b.content)a=b.content;else if(Array.isArray(b.content)){let c=b.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"),d=b.content.filter(a=>"image"===a.type).map(a=>j(a.source)).filter(Boolean);f.push(...d),a=c||(d.length>0?"Tool returned image attachment(s) in the following user message.":JSON.stringify(b.content))}else b.content&&(a=JSON.stringify(b.content));b.is_error&&(a=`Tool result error (is_error=true):
471
471
  ${a}`),e.push({role:"tool",tool_call_id:b.tool_use_id,content:a})}}let h=g.join("\n");if(e.length>0){let b=[...a,...f],c=[...e];if(b.length>0){let a=1===b.length&&"text"===b[0].type?b[0].text:b;c.push({role:"user",content:a})}return d.length>0&&c.push(k(d,[],h)),c}if(d.length>0)return k(d,a,h);if(a.length>0||h){let c={role:b,...a.length>0&&{content:1===a.length&&"text"===a[0].type?a[0].text:a}};return"assistant"===b&&h&&(c.reasoning_content=h),c}if(0===c.length)return{role:b,content:""}}return null}(b.messages[a]);c&&(Array.isArray(c)?d.messages.push(...c):d.messages.push(c))}return function(a){for(let b=0;b<a.length;b++){let c=a[b];if("assistant"===c.role&&c.tool_calls&&c.tool_calls.length>0){let d=c.tool_calls.map(a=>a.id),e=new Set,f=b+1;for(let c=b+1;c<a.length;c++){let b=a[c];if("tool"===b.role&&b.tool_call_id)e.add(b.tool_call_id),f=c+1;else break}let g=d.filter(a=>!e.has(a));if(g.length>0){let c=g.map(a=>({role:"tool",tool_call_id:a,content:"[No response received]"}));a.splice(f,0,...c),b=f+c.length-1}}}}(d.messages),b.tools&&Array.isArray(b.tools)&&(d.tools=b.tools.filter(a=>!a.type||"function"===a.type).map(a=>({type:"function",function:{name:a.name,description:String(a.description||""),parameters:a.input_schema||{type:"object",properties:{}}}})),0===d.tools.length&&(delete d.tools,delete d.tool_choice)),b.tool_choice&&(d.tool_choice=function(a){if(!a)return"auto";if("string"==typeof a)return a;switch(a.type){case"auto":default:return"auto";case"any":return"required";case"tool":return{type:"function",function:{name:a.name}}}}(b.tool_choice)),d}function j(a){return a?.type==="base64"&&a.data?{type:"image_url",image_url:{url:`data:${a.media_type||"image/png"};base64,${a.data}`}}:a?.type==="url"&&/^https?:\/\//.test(a.url||"")?{type:"image_url",image_url:{url:a.url}}:null}function k(a,b,c){let d={role:"assistant",tool_calls:a};return b.length>0&&(d.content=1===b.length&&"text"===b[0].type?b[0].text:b),c&&(d.reasoning_content=c),d}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,i,null)},94050:(a,b,c)=>{"use strict";let{states:d,opcodes:e}=c(62026),{isUtf8:f}=c(4573),{removeHTTPWhitespace:g}=c(16537),{collectASequenceOfCodePointsFast:h}=c(70745);function i(a){return a===e.CLOSE||a===e.PING||a===e.PONG}function j(a){return a===e.CONTINUATION}function k(a){return a===e.TEXT||a===e.BINARY}a.exports={isConnecting:function(a){return a===d.CONNECTING},isEstablished:function(a){return a===d.OPEN},isClosing:function(a){return a===d.CLOSING},isClosed:function(a){return a===d.CLOSED},fireEvent:function(a,b,c=(a,b)=>new Event(a,b),d={}){let e=c(a,d);b.dispatchEvent(e)},isValidSubprotocol:function(a){if(0===a.length)return!1;for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c<33||c>126||34===c||40===c||41===c||44===c||47===c||58===c||59===c||60===c||61===c||62===c||63===c||64===c||91===c||92===c||93===c||123===c||125===c)return!1}return!0},isValidStatusCode:function(a){return a>=1e3&&a<1015?1004!==a&&1005!==a&&1006!==a:a>=3e3&&a<=4999},websocketMessageReceived:function(a,b,c){a.onMessage(b,c)},utf8Decode:(()=>{if("string"==typeof process.versions.icu){let a=new TextDecoder("utf-8",{fatal:!0});return a.decode.bind(a)}return function(a){if(f(a))return a.toString("utf-8");throw TypeError("Invalid utf-8 received.")}})(),isControlFrame:i,isContinuationFrame:j,isTextBinaryFrame:k,isValidOpcode:function(a){return k(a)||j(a)||i(a)},parseExtensions:function(a){let b={position:0},c=new Map;for(;b.position<a.length;){let[d,e=""]=h(";",a,b).split("=",2);c.set(g(d,!0,!1),g(e,!1,!0)),b.position++}return c},isValidClientWindowBits:function(a){if(0===a.length)return!1;for(let b=0;b<a.length;b++){let c=a.charCodeAt(b);if(c<48||c>57)return!1}let b=Number.parseInt(a,10);return b>=8&&b<=15},toArrayBuffer:function(a){return a.byteLength===a.buffer.byteLength?a.buffer:new Uint8Array(a).buffer},getURLRecord:function(a,b){let c;try{c=new URL(a,b)}catch(a){throw new DOMException(a,"SyntaxError")}if("http:"===c.protocol?c.protocol="ws:":"https:"===c.protocol&&(c.protocol="wss:"),"ws:"!==c.protocol&&"wss:"!==c.protocol)throw new DOMException("expected a ws: or wss: url","SyntaxError");if(c.hash.length||c.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return c},validateCloseCodeAndReason:function(a,b){if(null!==a&&1e3!==a&&(a<3e3||a>4999))throw new DOMException("invalid code","InvalidAccessError");if(null!==b){let a=Buffer.byteLength(b);if(a>123)throw new DOMException(`Reason must be less than 123 bytes; received ${a}`,"SyntaxError")}}}},94084:(a,b,c)=>{"use strict";c.d(b,{Yh:()=>r});var d=c(69384),e=c(30395),f=c(46956),g=c(11484),h=c(55511),i=c(21820),j=c.n(i);let k=e.xq["mimo-free"]?.baseUrl||"https://api.xiaomimimo.com/api/free-ai/openai/chat",l="abcdefghijklmnopqrstuvwxyz0123456789",m=["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"],n="You are MiMoCode, an interactive CLI tool that helps users with software engineering tasks.",o=null,p=0;async function q(a=null){if(o&&Date.now()<p-3e5)return o;let b=await (0,f.proxyAwareFetch)("https://api.xiaomimimo.com/api/free-ai/bootstrap",{method:"POST",headers:{"Content-Type":"application/json","User-Agent":m[Math.floor(Math.random()*m.length)]},body:JSON.stringify({client:function(){let a="unknown-user";try{a=j().userInfo().username}catch{}let b=(j().cpus()[0]?.model||"unknown-cpu").trim(),c=`${j().hostname()}|${j().platform()}|${j().arch()}|${b}|${a}`;return(0,h.createHash)("sha256").update(c).digest("hex")}()})},a);if(!b.ok)throw Error(`MiMo bootstrap failed: ${b.status}`);let c=await b.json();if(!c.jwt)throw Error("MiMo bootstrap returned no JWT");return o=c.jwt,p=function(a){try{let b=JSON.parse(Buffer.from(a.split(".")[1],"base64").toString());if(b.exp)return 1e3*b.exp}catch{}return Date.now()+3e6}(c.jwt),o}class r extends d.Hv{constructor(){super("mimo-free",e.xq["mimo-free"]),this.sessionId=function(){let a="ses_";for(let b=0;b<24;b++)a+=l[Math.floor(Math.random()*l.length)];return a}()}buildUrl(){return k}buildHeaders(a,b=!0){return{"Content-Type":"application/json","X-Mimo-Source":"mimocode-cli-free","User-Agent":m[Math.floor(Math.random()*m.length)],"x-session-affinity":this.sessionId,Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b){let c;return!Array.isArray(c=b?.messages)||c.some(a=>a?.role==="system"&&"string"==typeof a.content&&a.content.includes(n))?b:{...b,messages:[{role:"system",content:n},...c]}}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:i=null}){let j;try{j=await q(i)}catch(a){throw h?.error?.("AUTH",`MiMo bootstrap failed: ${a.message}`),a}let k=this.buildUrl(),l=this.transformRequest(a,b),m={...this.buildHeaders(d,c),Authorization:`Bearer ${j}`},n=JSON.stringify(l);h?.debug?.("FETCH",`MIMO-FREE → ${k} | body=${n.length}B`);let r=await (0,f.proxyAwareFetch)(k,{method:"POST",headers:m,body:n,signal:e},i);return 401===r.status||403===r.status?(h?.debug?.("AUTH",`MiMo auth failed (${r.status}), re-bootstrapping...`),await (0,g.aI)(r),o=null,p=0,j=await q(i),m.Authorization=`Bearer ${j}`,{response:await (0,f.proxyAwareFetch)(k,{method:"POST",headers:m,body:n,signal:e},i),url:k,headers:m,transformedBody:l}):{response:r,url:k,headers:m,transformedBody:l}}}},94279:(a,b,c)=>{"use strict";let{writeFile:d,readFile:e,mkdir:f}=c(51455),{dirname:g,resolve:h}=c(76760),{setTimeout:i,clearTimeout:j}=c(87997),{InvalidArgumentError:k,UndiciError:l}=c(61448),{hashId:m,isUrlExcludedFactory:n,normalizeHeaders:o,createHeaderFilters:p}=c(47800);function q(a,b,c={}){var d,e,f;let g=new URL(a.path,a.origin),h=a._normalizedHeaders||o(a.headers);return a._normalizedHeaders||(a._normalizedHeaders=h),{method:a.method||"GET",url:function(a,b,c){if(!1===b)return`${a.origin}${a.pathname}`;if(c){let b=String(c(a.searchParams)??"");return b?`${a.origin}${a.pathname}?${b}`:`${a.origin}${a.pathname}`}return a.toString()}(g,c.matchQuery,c.normalizeQuery),headers:r(h,b,c),body:(d=a.body,e=c.matchBody,f=c.normalizeBody,!1===e?"":f?String(f(d)??""):d?String(d):"")}}function r(a,b,c={}){if(!a||"object"!=typeof a)return{};let{caseSensitive:d=!1}=c,e={},{ignore:f,exclude:g,match:h}=b;for(let[b,c]of Object.entries(a)){let a=d?b:b.toLowerCase();!(g.has(a)||f.has(a))&&(0===h.size||h.has(a))&&(e[a]=c)}return e}function s(a,b,c={}){if(!a||"object"!=typeof a)return{};let{caseSensitive:d=!1}=c,e={},{exclude:f}=b;for(let[b,c]of Object.entries(a)){let a=d?b:b.toLowerCase();f.has(a)||(e[a]=c)}return e}function t(a){let b=[a.method,a.url];if(a.headers&&"object"==typeof a.headers)for(let c of Object.keys(a.headers).sort()){let d=Array.isArray(a.headers[c])?a.headers[c]:[a.headers[c]];for(let a of(b.push(c),d.sort()))b.push(String(a))}return b.push(a.body),m(b.join("|"))}class u{#bM;#bN;#bO=new Map;#bP;#bQ=1/0;#bR=!1;#bS;constructor(a={}){this.#bP=a.snapshotPath,this.#bQ=a.maxSnapshots||1/0,this.#bR=a.autoFlush||!1,this.flushInterval=a.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:a.matchHeaders||[],ignoreHeaders:a.ignoreHeaders||[],excludeHeaders:a.excludeHeaders||[],matchBody:!1!==a.matchBody,normalizeBody:a.normalizeBody||void 0,matchQuery:!1!==a.matchQuery,normalizeQuery:a.normalizeQuery||void 0,caseSensitive:a.caseSensitive||!1},this.#bS=p(this.matchOptions),this.shouldRecord=a.shouldRecord||(()=>!0),this.shouldPlayback=a.shouldPlayback||(()=>!0),this.#bN=n(a.excludeUrls),this.#bR&&this.#bP&&this.#bT()}async record(a,b){if(!this.shouldRecord(a)||this.isUrlExcluded(a))return;let c=q(a,this.#bS,this.matchOptions),d=t(c),e=o(b.headers),f={statusCode:b.statusCode,headers:s(e,this.#bS,this.matchOptions),body:Buffer.isBuffer(b.body)?b.body.toString("base64"):Buffer.from(String(b.body||"")).toString("base64"),trailers:b.trailers};if(this.#bO.size>=this.#bQ&&!this.#bO.has(d)){let a=this.#bO.keys().next().value;this.#bO.delete(a)}let g=this.#bO.get(d);g&&g.responses?(g.responses.push(f),g.timestamp=new Date().toISOString()):this.#bO.set(d,{request:c,responses:[f],callCount:0,timestamp:new Date().toISOString()}),this.#bR&&this.#bP&&this.#bU()}isUrlExcluded(a){let b=new URL(a.path,a.origin).toString();return this.#bN(b)}findSnapshot(a){if(!this.shouldPlayback(a)||this.isUrlExcluded(a))return;let b=t(q(a,this.#bS,this.matchOptions)),c=this.#bO.get(b);if(!c)return;let d=c.callCount||0,e=Math.min(d,c.responses.length-1);return c.callCount=d+1,{...c,response:c.responses[e]}}async loadSnapshots(a){let b=a||this.#bP;if(!b)throw new k("Snapshot path is required");try{let a=await e(h(b),"utf8"),c=JSON.parse(a);if(Array.isArray(c))for(let{hash:a,snapshot:b}of(this.#bO.clear(),c))this.#bO.set(a,b);else this.#bO=new Map(Object.entries(c))}catch(a){if("ENOENT"===a.code)this.#bO.clear();else throw new l(`Failed to load snapshots from ${b}`,{cause:a})}}async saveSnapshots(a){let b=a||this.#bP;if(!b)throw new k("Snapshot path is required");let c=h(b);await f(g(c),{recursive:!0});let e=Array.from(this.#bO.entries()).map(([a,b])=>({hash:a,snapshot:b}));await d(c,JSON.stringify(e,null,2),{flush:!0})}clear(){this.#bO.clear()}getSnapshots(){return Array.from(this.#bO.values())}size(){return this.#bO.size}resetCallCounts(){for(let a of this.#bO.values())a.callCount=0}deleteSnapshot(a){let b=t(q(a,this.#bS,this.matchOptions));return this.#bO.delete(b)}getSnapshotInfo(a){let b=t(q(a,this.#bS,this.matchOptions)),c=this.#bO.get(b);return c?{hash:b,request:c.request,responseCount:c.responses?c.responses.length:+!!c.response,callCount:c.callCount||0,timestamp:c.timestamp}:null}replaceSnapshots(a){if(this.#bO.clear(),Array.isArray(a))for(let{hash:b,snapshot:c}of a)this.#bO.set(b,c);else a&&"object"==typeof a&&(this.#bO=new Map(Object.entries(a)))}#bT(){return this.#bU()}#bV(){this.#bM&&(j(this.#bM),this.saveSnapshots().catch(()=>{}),this.#bM=null)}#bU(){this.#bM=i(()=>{this.saveSnapshots().catch(()=>{}),this.#bR?this.#bM?.refresh():this.#bM=null},1e3)}destroy(){this.#bV(),this.#bM&&(j(this.#bM),this.#bM=null)}async close(){this.#bP&&0!==this.#bO.size&&await this.saveSnapshots(),this.destroy()}}a.exports={SnapshotRecorder:u,formatRequestKey:q,createRequestHash:t,filterHeadersForMatching:r,filterHeadersForStorage:s,createHeaderFilters:p}},94414:(a,b,c)=>{"use strict";c.d(b,{L4:()=>o,jS:()=>i});var d=c(55511),e=c.n(d),f=c(8735);let g=new Map;function h(a){return null==a?a:JSON.parse(JSON.stringify(a))}function i(a,b){let c=`${a||"anon"}:${String(b||"").slice(0,4096)}`,d=e().createHash("sha256").update(c).digest("hex");return[d.slice(0,8),d.slice(8,12),`4${d.slice(13,16)}`,`8${d.slice(17,20)}`,d.slice(20,32)].join("-")}function j(a,b){return a?.userInputMessage&&!a.userInputMessage.modelId&&b&&(a.userInputMessage.modelId=b),a}function k(a,b){for(let c of a||[])j(c,b);return a}function l(a,b,c){let d=h(a)||{userInputMessage:{content:""}};if(d.userInputMessage||(d.userInputMessage={content:""}),j(d,c),b){let a=d.userInputMessage.content||"";d.userInputMessage.content=a?`${b}
472
472
 
473
- ${a}`:b}return d}function m(a){return a.findIndex(a=>a?.userInputMessage)}function n(a,b){var c;return 0===b&&(c=a[b],!c?.userInputMessage?.userInputMessageContext?.toolResults?.length)}function o({conversationId:a,connectionId:b,modelId:c,systemPrompt:d="",contentPrefix:e="",currentContentPrefix:f="",history:i=[],currentMessage:p}={}){var q;let r,s=`${b||""}:${a||""}`,t=a?g.get(s):null,u=h(i)||[],v=h(p)||{userInputMessage:{content:""}};if(t&&t.modelId===c&&t.systemPrompt===d){t.lastUsed=Date.now();let a=m(u),b=j(h(t.sessionStart),c);return n(u,a)?u[a]=b:(u.unshift(b),1===u.length&&u.push({assistantResponseMessage:{content:"..."}})),{history:k(u,c),currentMessage:l(v,f,c),replayed:!0}}let w=m(u),x=j(v,c);return n(u,w)?(r=l(u[w],e,c),u[w]=h(r),x=l(v,f,c)):w>=0?(r=l({userInputMessage:{content:"",modelId:c}},e,c),u.unshift(h(r)),x=l(v,f,c)):x=h(r=l(v,e,c)),a&&(q={sessionStart:h(r),modelId:c,systemPrompt:d},g.size>=5e3&&g.delete(g.keys().next().value),g.set(s,{...q,lastUsed:Date.now()})),{history:k(u,c),currentMessage:x,replayed:!1}}let p=setInterval(()=>{let a=Date.now();for(let[b,c]of g)a-c.lastUsed>f.v1.sessionTtlMs&&g.delete(b)},f.v1.sessionCleanupIntervalMs);p.unref&&p.unref()},95095:(a,b,c)=>{"use strict";let d=c(7344),e=c(31825);class f extends d{#bW=null;#bX=null;constructor(a,b={}){super(b),this.#bW=a,this.#bX=b}dispatch(a,b){let c=new e({...a,retryOptions:this.#bX},{dispatch:this.#bW.dispatch.bind(this.#bW),handler:b});return this.#bW.dispatch(a,c)}close(){return this.#bW.close()}destroy(){return this.#bW.destroy()}}a.exports=f},96947:(a,b,c)=>{"use strict";c.d(b,{DO:()=>s,LP:()=>r});var d=c(79154),e=c(87164),f=c(87886),g=c(14e3);globalThis._backgroundTokenRefreshState||(globalThis._backgroundTokenRefreshState={started:!1,startTimer:null,timer:null,runningPromise:null,retryByConnection:new Map});let h=globalThis._backgroundTokenRefreshState;async function i(a){let{getProviderConnectionById:b}=await Promise.resolve().then(c.bind(c,70321));return b(a)}async function j(a,b){let{mutateProviderConnection:d}=await Promise.resolve().then(c.bind(c,70321));return d(a,b)}async function k(a,b){return(0,d.Vq)(a,b,f)}function l(a,b){return!!(a&&b&&a.refreshToken===b.refreshToken&&a.accessToken===b.accessToken)}async function m(a,b,d={}){let e=d.mutateConnection||j,f=d.now||Date.now,{buildProviderCredentialUpdates:g}=await c.e(3815).then(c.bind(c,73815));return!!await e(a.id,c=>l(c,a)?g({...b,existingProviderSpecificData:c.providerSpecificData},f()):null)}async function n(a,b,c={}){let d=c.mutateConnection||j;return!!await d(a.id,c=>l(c,a)?{lastError:"OAuth refresh credential rejected; reconnect this account.",lastErrorAt:b.at,lastErrorType:"auth",errorCode:b.code,failureClass:"reauth_required"}:null)}async function o(a,b={}){let c,d=b.readConnection||i,e=b.refreshCredentials||k,f=b.persistCredentials,h=b.markReauthRequired,p=b.mutateConnection||j,q=b.now||Date.now,r=b.scheduler||g.iQ,s=await d(a.id);if(!s||!1===s.isActive)return{refreshed:!1,missing:!0};if(s.refreshToken!==a.refreshToken)return{refreshed:!1,stale:!0};try{c=await r.run(s.provider,()=>e(s.provider,{...s,connectionId:s.id}),{signal:b.signal})}catch(a){if(a?.permanent===!0){let b={code:String(a.code||"invalid_refresh_token").replace(/[^a-zA-Z0-9_.:-]/g,"_").slice(0,120)||"invalid_refresh_token",at:new Date(q()).toISOString()},c=!0;if(h?await h(s,b):c=await n(s,b,{mutateConnection:p}),!c)return{refreshed:!1,stale:!0}}throw a}if(!c||!c.accessToken&&!c.apiKey&&!c.token){let a=Error("OAuth refresh temporarily unavailable");throw a.name="OAuthRefreshTransientError",a.code="REFRESH_UNAVAILABLE",a.permanent=!1,a}let t={...c,lastRefreshAt:c.lastRefreshAt||new Date(q()).toISOString()};if(f){let b=await d(a.id);if(!l(b,s))return{refreshed:!1,stale:!0};await f(a.id,{...t,existingProviderSpecificData:b.providerSpecificData})}else if(!await m(s,t,{mutateConnection:p,now:q}))return{refreshed:!1,stale:!0};return{refreshed:!0}}async function p(a,b={}){let c=b.refreshConnection||o,d=Math.max(1,Number(b.concurrency)||4),e="function"==typeof b.now?b.now():Date.now(),g=0,i=0,j=0,k=Array.from({length:Math.min(d,a.length)},async()=>{for(;g<a.length;){let b=a[g++];try{await c(b),h.retryByConnection.delete(b.id),i+=1}catch(a){!function(a,b,c=!1){let d=h.retryByConnection.get(a),e=(d?.attempts||0)+1,f=Math.min(9e5,3e4*2**(e-1));h.retryByConnection.set(a,{attempts:e,retryAt:c?1/0:b+f})}(b.id,e,a?.permanent===!0),j+=1,f.warn("BG_TOKEN_REFRESH","Connection refresh failed",{id:b.id,provider:b.provider,code:a?.code||null,permanent:a?.permanent===!0})}}});return await Promise.all(k),{attempted:a.length,succeeded:i,failed:j}}async function q(){let{getProviderConnections:a}=await Promise.resolve().then(c.bind(c,70321));return a({isActive:!0})}function r(a={}){if(h.started)return!1;h.started=!0;let b=Number.isFinite(a.intervalMs)&&a.intervalMs>0?a.intervalMs:3e5,c=a.random||Math.random,g=async()=>{await function(a={}){let b,c;if(h.runningPromise)return h.runningPromise;let g=(b=a.listConnections||q,c=a.now||Date.now,(async()=>{try{let f=await b(),g=function(a,b=Date.now()){return Array.isArray(a)?a.filter(a=>{let c;if(!a||!1===a.isActive||"oauth"!==String(a.authType||"").trim().toLowerCase().replace(/[_ -]/g,"")||"reauth_required"===a.failureClass||!a.refreshToken||(c=h.retryByConnection.get(a.id))&&!(c.retryAt<=b))return!1;let f=(0,d.Dz)(a);if(null===f)return!1;let g=(0,e.Og)(a.provider);return f-b<Math.max(18e5,Number.isFinite(g)?g:0)}):[]}(f,c());return await p(g,{...a,now:c})}catch(a){return f.warn("BG_TOKEN_REFRESH","Refresh sweep failed",{code:a?.code||null}),{attempted:0,succeeded:0,failed:0}}})()).finally(()=>{h.runningPromise===g&&(h.runningPromise=null)});return h.runningPromise=g,g}(a),h.started&&(h.timer=setTimeout(g,function(a,b=Math.random){return Math.round(a*(.9+.2*Math.max(0,Math.min(1,Number(b())||0))))}(b,c)),h.timer.unref?.())};return h.startTimer=setTimeout(()=>{h.startTimer=null,g()},1e4),h.startTimer.unref?.(),!0}function s(){return h.startTimer&&clearTimeout(h.startTimer),h.timer&&clearTimeout(h.timer),h.startTimer=null,h.timer=null,h.started=!1,h.runningPromise||Promise.resolve()}},97210:(a,b,c)=>{"use strict";let{createInflateRaw:d,Z_DEFAULT_WINDOWBITS:e}=c(38522),{isValidClientWindowBits:f}=c(94050),{MessageSizeExceededError:g}=c(61448),h=Buffer.from([0,0,255,255]),i=Symbol("kBuffer"),j=Symbol("kLength");class k{#bY;#bX={};#bt=0;constructor(a,b){this.#bX.serverNoContextTakeover=a.has("server_no_context_takeover"),this.#bX.serverMaxWindowBits=a.get("server_max_window_bits"),this.#bt=b.maxPayloadSize}decompress(a,b,c){if(!this.#bY){let a=e;if(this.#bX.serverMaxWindowBits){if(!f(this.#bX.serverMaxWindowBits))return void c(Error("Invalid server_max_window_bits"));a=Number.parseInt(this.#bX.serverMaxWindowBits)}try{this.#bY=d({windowBits:a})}catch(a){c(a);return}this.#bY[i]=[],this.#bY[j]=0,this.#bY.on("data",a=>{if(this.#bY[j]+=a.length,this.#bt>0&&this.#bY[j]>this.#bt){c(new g),this.#bY.removeAllListeners(),this.#bY=null;return}this.#bY[i].push(a)}),this.#bY.on("error",a=>{this.#bY=null,c(a)})}this.#bY.write(a),b&&this.#bY.write(h),this.#bY.flush(()=>{if(!this.#bY)return;let a=Buffer.concat(this.#bY[i],this.#bY[j]);this.#bY[i].length=0,this.#bY[j]=0,c(null,a)})}}a.exports={PerMessageDeflate:k}},97356:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),{isASCIINumber:e,isValidLastEventId:f}=c(26376),g=Buffer.from("data"),h=Buffer.from("event"),i=Buffer.from("id"),j=Buffer.from("retry");function k(a,b,c){if(b!==c.length)return!1;for(let d=0;d<b;d++)if(a[d]!==c[d])return!1;return!0}class l extends d{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(a={}){a.readableObjectMode=!0,super(a),this.state=a.eventSourceSettings||{},a.push&&(this.push=a.push)}_transform(a,b,c){if(0===a.length||(this.chunks.push(a),this.checkBOM&&this.handleBOM()))return void c();for(;this.hasCurrentByte();){let a=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(10===a){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(10===a||13===a){13===a&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(10===a||13===a){13===a&&(this.crlfCheck=!0),this.parseLine(this.readLine(),this.event),this.consumeCurrentByte(),this.eventEndCheck=!0;continue}this.advanceCursor()}c()}parseLine(a,b){if(0===a.length)return;let c=a.indexOf(58);if(0===c)return;let d=a.length,e=a.length;if(-1!==c&&(d=c,32===a[e=c+1]&&++e),k(a,d,g)){let c=a.toString("utf8",e);void 0===b.data?b.data=c:b.data+=`
473
+ ${a}`:b}return d}function m(a){return a.findIndex(a=>a?.userInputMessage)}function n(a,b){var c;return 0===b&&(c=a[b],!c?.userInputMessage?.userInputMessageContext?.toolResults?.length)}function o({conversationId:a,connectionId:b,modelId:c,systemPrompt:d="",contentPrefix:e="",currentContentPrefix:f="",history:i=[],currentMessage:p}={}){var q;let r,s=`${b||""}:${a||""}`,t=a?g.get(s):null,u=h(i)||[],v=h(p)||{userInputMessage:{content:""}};if(t&&t.modelId===c&&t.systemPrompt===d){t.lastUsed=Date.now();let a=m(u),b=j(h(t.sessionStart),c);return n(u,a)?u[a]=b:(u.unshift(b),1===u.length&&u.push({assistantResponseMessage:{content:"..."}})),{history:k(u,c),currentMessage:l(v,f,c),replayed:!0}}let w=m(u),x=j(v,c);return n(u,w)?(r=l(u[w],e,c),u[w]=h(r),x=l(v,f,c)):w>=0?(r=l({userInputMessage:{content:"",modelId:c}},e,c),u.unshift(h(r)),x=l(v,f,c)):x=h(r=l(v,e,c)),a&&(q={sessionStart:h(r),modelId:c,systemPrompt:d},g.size>=5e3&&g.delete(g.keys().next().value),g.set(s,{...q,lastUsed:Date.now()})),{history:k(u,c),currentMessage:x,replayed:!1}}let p=setInterval(()=>{let a=Date.now();for(let[b,c]of g)a-c.lastUsed>f.v1.sessionTtlMs&&g.delete(b)},f.v1.sessionCleanupIntervalMs);p.unref&&p.unref()},95095:(a,b,c)=>{"use strict";let d=c(7344),e=c(31825);class f extends d{#bW=null;#bX=null;constructor(a,b={}){super(b),this.#bW=a,this.#bX=b}dispatch(a,b){let c=new e({...a,retryOptions:this.#bX},{dispatch:this.#bW.dispatch.bind(this.#bW),handler:b});return this.#bW.dispatch(a,c)}close(){return this.#bW.close()}destroy(){return this.#bW.destroy()}}a.exports=f},96947:(a,b,c)=>{"use strict";c.d(b,{DO:()=>s,LP:()=>r});var d=c(79154),e=c(87164),f=c(87886),g=c(14e3);globalThis._backgroundTokenRefreshState||(globalThis._backgroundTokenRefreshState={started:!1,startTimer:null,timer:null,runningPromise:null,retryByConnection:new Map});let h=globalThis._backgroundTokenRefreshState;async function i(a){let{getProviderConnectionById:b}=await Promise.resolve().then(c.bind(c,70321));return b(a)}async function j(a,b){let{mutateProviderConnection:d}=await Promise.resolve().then(c.bind(c,70321));return d(a,b)}async function k(a,b){return(0,d.Vq)(a,b,f)}function l(a,b){return!!(a&&b&&a.refreshToken===b.refreshToken&&a.accessToken===b.accessToken)}async function m(a,b,d={}){let e=d.mutateConnection||j,f=d.now||Date.now,{buildProviderCredentialUpdates:g}=await c.e(3815).then(c.bind(c,73815));return!!await e(a.id,c=>l(c,a)?g({...b,existingProviderSpecificData:c.providerSpecificData},f()):null)}async function n(a,b,c={}){let d=c.mutateConnection||j;return!!await d(a.id,c=>l(c,a)?{lastError:"OAuth refresh credential rejected; reconnect this account.",lastErrorAt:b.at,lastErrorType:"auth",errorCode:b.code,failureClass:"reauth_required"}:null)}async function o(a,b={}){let c,d=b.readConnection||i,e=b.refreshCredentials||k,f=b.persistCredentials,h=b.markReauthRequired,p=b.mutateConnection||j,q=b.now||Date.now,r=b.scheduler||g.iQ,s=await d(a.id);if(!s||!1===s.isActive)return{refreshed:!1,missing:!0};if(s.refreshToken!==a.refreshToken)return{refreshed:!1,stale:!0};try{c=await r.run(s.provider,()=>e(s.provider,{...s,connectionId:s.id}),{signal:b.signal})}catch(a){if(a?.permanent===!0){let b={code:String(a.code||"invalid_refresh_token").replace(/[^a-zA-Z0-9_.:-]/g,"_").slice(0,120)||"invalid_refresh_token",at:new Date(q()).toISOString()},c=!0;if(h?await h(s,b):c=await n(s,b,{mutateConnection:p}),!c)return{refreshed:!1,stale:!0}}throw a}if(!c||!c.accessToken&&!c.apiKey&&!c.token){let a=Error("OAuth refresh temporarily unavailable");throw a.name="OAuthRefreshTransientError",a.code="REFRESH_UNAVAILABLE",a.permanent=!1,a}let t={...c,lastRefreshAt:c.lastRefreshAt||new Date(q()).toISOString()};if(f){let b=await d(a.id);if(!l(b,s))return{refreshed:!1,stale:!0};await f(a.id,{...t,existingProviderSpecificData:b.providerSpecificData})}else if(!await m(s,t,{mutateConnection:p,now:q}))return{refreshed:!1,stale:!0};return{refreshed:!0}}async function p(a,b={}){let c=b.refreshConnection||o,d=Math.max(1,Number(b.concurrency)||4),e="function"==typeof b.now?b.now():Date.now(),g=0,i=0,j=0,k=Array.from({length:Math.min(d,a.length)},async()=>{for(;g<a.length;){let b=a[g++];try{await c(b),h.retryByConnection.delete(b.id),i+=1}catch(a){!function(a,b,c=!1){let d=h.retryByConnection.get(a),e=(d?.attempts||0)+1,f=Math.min(9e5,3e4*2**(e-1));h.retryByConnection.set(a,{attempts:e,retryAt:c?1/0:b+f})}(b.id,e,a?.permanent===!0),j+=1,f.warn("BG_TOKEN_REFRESH","Connection refresh failed",{id:b.id,provider:b.provider,code:a?.code||null,permanent:a?.permanent===!0})}}});return await Promise.all(k),{attempted:a.length,succeeded:i,failed:j}}async function q(){let{getProviderConnections:a}=await Promise.resolve().then(c.bind(c,70321));return a({isActive:!0})}function r(a={}){if(h.started)return!1;h.started=!0;let b=Number.isFinite(a.intervalMs)&&a.intervalMs>0?a.intervalMs:3e5,c=a.random||Math.random,g=async()=>{await function(a={}){let b,c;if(h.runningPromise)return h.runningPromise;let g=(b=a.listConnections||q,c=a.now||Date.now,(async()=>{try{let f=await b(),g=function(a,b=Date.now()){return Array.isArray(a)?a.filter(a=>{let c;if(!a||!1===a.isActive||"oauth"!==String(a.authType||"").trim().toLowerCase().replace(/[_ -]/g,"")||"reauth_required"===a.failureClass||!a.refreshToken||(c=h.retryByConnection.get(a.id))&&!(c.retryAt<=b))return!1;let f=(0,d.Dz)(a);if(null===f)return!1;let g=(0,e.Og)(a.provider);return f-b<Math.max(18e5,Number.isFinite(g)?g:0)}):[]}(f,c());return await p(g,{...a,now:c})}catch(a){return f.warn("BG_TOKEN_REFRESH","Refresh sweep failed",{code:a?.code||null}),{attempted:0,succeeded:0,failed:0}}})()).finally(()=>{h.runningPromise===g&&(h.runningPromise=null)});return h.runningPromise=g,g}(a),h.started&&(h.timer=setTimeout(g,function(a,b=Math.random){return Math.round(a*(.9+.2*Math.max(0,Math.min(1,Number(b())||0))))}(b,c)),h.timer.unref?.())};return h.startTimer=setTimeout(()=>{h.startTimer=null,g()},1e4),h.startTimer.unref?.(),!0}function s(){return h.startTimer&&clearTimeout(h.startTimer),h.timer&&clearTimeout(h.timer),h.startTimer=null,h.timer=null,h.started=!1,h.runningPromise||Promise.resolve()}},97210:(a,b,c)=>{"use strict";let{createInflateRaw:d,Z_DEFAULT_WINDOWBITS:e}=c(38522),{isValidClientWindowBits:f}=c(94050),{MessageSizeExceededError:g}=c(61448),h=Buffer.from([0,0,255,255]),i=Symbol("kBuffer"),j=Symbol("kLength");class k{#bY;#bX={};#bp=0;constructor(a,b){this.#bX.serverNoContextTakeover=a.has("server_no_context_takeover"),this.#bX.serverMaxWindowBits=a.get("server_max_window_bits"),this.#bp=b.maxPayloadSize}decompress(a,b,c){if(!this.#bY){let a=e;if(this.#bX.serverMaxWindowBits){if(!f(this.#bX.serverMaxWindowBits))return void c(Error("Invalid server_max_window_bits"));a=Number.parseInt(this.#bX.serverMaxWindowBits)}try{this.#bY=d({windowBits:a})}catch(a){c(a);return}this.#bY[i]=[],this.#bY[j]=0,this.#bY.on("data",a=>{if(this.#bY[j]+=a.length,this.#bp>0&&this.#bY[j]>this.#bp){c(new g),this.#bY.removeAllListeners(),this.#bY=null;return}this.#bY[i].push(a)}),this.#bY.on("error",a=>{this.#bY=null,c(a)})}this.#bY.write(a),b&&this.#bY.write(h),this.#bY.flush(()=>{if(!this.#bY)return;let a=Buffer.concat(this.#bY[i],this.#bY[j]);this.#bY[i].length=0,this.#bY[j]=0,c(null,a)})}}a.exports={PerMessageDeflate:k}},97356:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),{isASCIINumber:e,isValidLastEventId:f}=c(26376),g=Buffer.from("data"),h=Buffer.from("event"),i=Buffer.from("id"),j=Buffer.from("retry");function k(a,b,c){if(b!==c.length)return!1;for(let d=0;d<b;d++)if(a[d]!==c[d])return!1;return!0}class l extends d{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(a={}){a.readableObjectMode=!0,super(a),this.state=a.eventSourceSettings||{},a.push&&(this.push=a.push)}_transform(a,b,c){if(0===a.length||(this.chunks.push(a),this.checkBOM&&this.handleBOM()))return void c();for(;this.hasCurrentByte();){let a=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(10===a){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(10===a||13===a){13===a&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(10===a||13===a){13===a&&(this.crlfCheck=!0),this.parseLine(this.readLine(),this.event),this.consumeCurrentByte(),this.eventEndCheck=!0;continue}this.advanceCursor()}c()}parseLine(a,b){if(0===a.length)return;let c=a.indexOf(58);if(0===c)return;let d=a.length,e=a.length;if(-1!==c&&(d=c,32===a[e=c+1]&&++e),k(a,d,g)){let c=a.toString("utf8",e);void 0===b.data?b.data=c:b.data+=`
474
474
  ${c}`;return}if(k(a,d,j)){(function(a,b){if(b>=a.length)return!1;for(let c=b;c<a.length;c++)if(a[c]<48||a[c]>57)return!1;return!0})(a,e)&&(b.retry=a.toString("utf8",e));return}if(k(a,d,i)){(function(a,b){for(let c=b;c<a.length;c++)if(0===a[c])return!1;return!0})(a,e)&&(b.id=a.toString("utf8",e));return}if(k(a,d,h)){let c=a.toString("utf8",e);c.length>0&&(b.event=c)}}processEvent(a){a.retry&&e(a.retry)&&(this.state.reconnectionTime=parseInt(a.retry,10)),void 0!==a.id&&f(a.id)&&(this.state.lastEventId=a.id),void 0!==a.data&&this.push({type:a.event||"message",options:{data:a.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0}hasPendingEvent(){return void 0!==this.event.data||void 0!==this.event.event||void 0!==this.event.id||void 0!==this.event.retry}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.dropConsumedChunks()}dropConsumedChunks(){for(;this.lineChunkIndex>0;)this.chunks.shift(),this.lineChunkIndex--,this.chunkIndex--;this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);let a=[],b=0;for(let c=this.lineChunkIndex;c<=this.chunkIndex;c++){let d=this.chunks[c],e=c===this.lineChunkIndex?this.linePos:0,f=c===this.chunkIndex?this.pos:d.length,g=d.subarray(e,f);b+=g.length,a.push(g)}return Buffer.concat(a,b)}peekBufferedByte(a){let b=this.lineChunkIndex,c=this.linePos;for(;b<this.chunks.length;){let d=this.chunks[b],e=d.length-c;if(a<e)return d[c+a];a-=e,b++,c=0}}discardLeadingBytes(a){for(;a>0&&this.lineChunkIndex<this.chunks.length;){let b=this.chunks[this.lineChunkIndex].length-this.linePos;a<b?(this.linePos+=a,a=0):(a-=b,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){let a=this.peekBufferedByte(0),b=this.peekBufferedByte(1),c=this.peekBufferedByte(2);return void 0===b?239===a||(this.checkBOM=!1,!0):void 0===c?239===a&&187===b||(this.checkBOM=!1,!1):(239===a&&187===b&&191===c&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}}a.exports={EventSourceStream:l}},97465:(a,b,c)=>{"use strict";let d=c(34589),{AsyncResource:e}=c(16698),{InvalidArgumentError:f,SocketError:g}=c(61448),h=c(84285),{addSignal:i,removeSignal:j}=c(73135);class k extends e{constructor(a,b){if(!a||"object"!=typeof a)throw new f("invalid opts");if("function"!=typeof b)throw new f("invalid callback");const{signal:c,opaque:d,responseHeaders:e}=a;if(c&&"function"!=typeof c.on&&"function"!=typeof c.addEventListener)throw new f("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=d||null,this.responseHeaders=e||null,this.callback=b,this.abort=null,i(this,c)}onRequestStart(a,b){this.reason?a.abort(this.reason):(d(this.callback),this.abort=b=>a.abort(b),this.context=b)}onResponseStart(){throw new g("bad connect",null)}onRequestUpgrade(a,b,c,d){let{callback:e,opaque:f,context:g}=this;j(this),this.callback=null;let i=c,k=a?.rawHeaders;null!=i&&(i="raw"===this.responseHeaders?h.parseRawHeaders(k):c),this.runInAsyncScope(e,null,null,{statusCode:b,headers:i,socket:d,opaque:f,context:g})}onResponseError(a,b){let{callback:c,opaque:d}=this;j(this),c&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(c,null,b,{opaque:d})}))}}a.exports=function a(b,c){if(void 0===c)return new Promise((c,d)=>{a.call(this,b,(a,b)=>a?d(a):c(b))});try{let a=new k(b,c),d={...b,method:"CONNECT"};this.dispatch(d,a)}catch(d){if("function"!=typeof c)throw d;let a=b?.opaque;queueMicrotask(()=>c(d,{opaque:a}))}}},97474:(a,b,c)=>{"use strict";c.d(b,{JJ:()=>f});let d=Object.freeze({maxConcurrent:4,minDelayMs:0}),e=Object.freeze({kiro:Object.freeze({maxConcurrent:1,minDelayMs:3e3})});function f(a){return e[String(a||"").trim().toLowerCase()]||d}},97678:(a,b,c)=>{"use strict";let d,e=c(34589),f=c(84285),{channels:g}=c(62571),h=c(64704),{RequestContentLengthMismatchError:i,ResponseContentLengthMismatchError:j,RequestAbortedError:k,InvalidArgumentError:l,HeadersTimeoutError:m,HeadersOverflowError:n,SocketError:o,InformationalError:p,BodyTimeoutError:q,HTTPParserError:r,ResponseExceededMaxSizeError:s}=c(61448),{kUrl:t,kReset:u,kClient:v,kParser:w,kBlocking:x,kRunning:y,kPending:z,kSize:A,kWriting:B,kQueue:C,kNoRef:D,kKeepAliveDefaultTimeout:E,kHostHeader:F,kPendingIdx:G,kRunningIdx:H,kError:I,kPipelining:J,kSocket:K,kKeepAliveTimeoutValue:L,kMaxHeadersSize:M,kKeepAliveMaxTimeout:N,kKeepAliveTimeoutThreshold:O,kHeadersTimeout:P,kBodyTimeout:Q,kStrictContentLength:R,kMaxRequests:S,kCounter:T,kMaxResponseSize:U,kOnError:V,kResume:W,kHTTPContext:X,kClosed:Y}=c(49176),Z=c(65429),$=Buffer.alloc(0),_=Buffer[Symbol.species],aa=f.removeAllListeners,ab=Symbol("kIdleSocketValidation"),ac=Symbol("kIdleSocketValidationTimeout"),ad=Symbol("kSocketUsed"),ae=Symbol("kTypeOfService"),af=null,ag=null,ah=null,ai=0,aj=null,ak=null;class al{constructor(a,b,{exports:c}){this.llhttp=c,this.ptr=this.llhttp.llhttp_alloc(Z.TYPE.RESPONSE),this.client=a,this.socket=b,this.timeout=null,this.timeoutWeakRef=new WeakRef(this),this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=a[M],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength=-1,this.connectionKeepAlive=!1,this.maxResponseSize=a[U]}setTimeout(a,b){a!==this.timeoutValue||1&b^1&this.timeoutType?(this.timeout&&(h.clearTimeout(this.timeout),this.timeout=null),a&&(1&b?this.timeout=h.setFastTimeout(am,a,this.timeoutWeakRef):(this.timeout=setTimeout(am,a,this.timeoutWeakRef),this.timeout?.unref())),this.timeoutValue=a):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=b}resume(){!this.socket.destroyed&&this.paused&&(e(null!=this.ptr),e(null===ag),this.llhttp.llhttp_resume(this.ptr),e(5===this.timeoutType),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||$),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let a=this.socket.read();if(null===a)break;this.execute(a)}}execute(a){e(null===ag),e(null!=this.ptr),e(!this.paused);let{socket:b,llhttp:c}=this;a.length>ai&&(aj&&c.free(aj),ai=4096*Math.ceil(a.length/4096),aj=c.malloc(ai)),(null===ak||ak.buffer!==c.memory.buffer||ak.byteOffset!==aj||ak.byteLength!==ai)&&(ak=new Uint8Array(c.memory.buffer,aj,ai)),ak.set(a);try{let d;try{ah=a,ag=this,d=c.llhttp_execute(this.ptr,aj,a.length)}finally{ag=null,ah=null}if(d!==Z.ERROR.OK){let e=a.subarray(c.llhttp_get_error_pos(this.ptr)-aj);if(d===Z.ERROR.PAUSED_UPGRADE)this.onUpgrade(e);else if(d===Z.ERROR.PAUSED)this.paused=!0,b.unshift(e);else throw this.createError(d,e)}}catch(a){f.destroy(b,a)}}finish(){let a;e(null===ag),e(null!=this.ptr);let{llhttp:b}=this;if(this.paused){let a;do b.llhttp_resume(this.ptr),this.paused=!1,a=this.socket.read()||$,this.execute(a);while(this.paused&&a.length>0);this.paused&&(b.llhttp_resume(this.ptr),this.paused=!1)}try{ag=this,a=b.llhttp_finish(this.ptr)}finally{ag=null}return a===Z.ERROR.OK?null:a===Z.ERROR.PAUSED||a===Z.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(a,$)}createError(a,b){let{llhttp:c,contentLength:d,bytesRead:e}=this;if(-1!==d&&e!==d)return new j;let f=c.llhttp_get_error_reason(this.ptr),g="";if(f){let a=new Uint8Array(c.memory.buffer,f).indexOf(0);g="Response does not match the HTTP/1.1 protocol ("+Buffer.from(c.memory.buffer,f,a).toString()+")"}return new r(g,Z.ERROR[a],b)}destroy(){e(null===ag),e(null!=this.ptr),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&h.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(a){return this.statusText=a.toString(),0}onMessageBegin(){let{socket:a,client:b}=this;if(a.destroyed)return -1;if(0===b[y])return f.destroy(a,new o("bad response",f.getSocketInfo(a))),-1;let c=b[C][b[H]];return c?(c.onResponseStarted(),0):-1}onHeaderField(a){let b=this.headers.length;return(1&b)==0?this.headers.push(a):this.headers[b-1]=Buffer.concat([this.headers[b-1],a]),this.trackHeader(a.length),0}onHeaderValue(a){let b=this.headers.length;(1&b)==1?(this.headers.push(a),b+=1):this.headers[b-1]=Buffer.concat([this.headers[b-1],a]);let c=this.headers[b-2];if(10===c.length){let d=f.bufferToLowerCasedHeaderName(c);"keep-alive"===d?this.keepAlive+=a.toString():"connection"===d&&(this.connectionKeepAlive=10===this.headers[b-1].length&&"keep-alive"===f.bufferToLowerCasedHeaderName(this.headers[b-1]))}else if(14===c.length&&"content-length"===f.bufferToLowerCasedHeaderName(c)){-1===this.contentLength&&(this.contentLength=0);for(let b=0;b<a.length;b++)this.contentLength=10*this.contentLength+(a[b]-48)}return this.trackHeader(a.length),0}trackHeader(a){this.headersSize+=a,this.headersSize>=this.headersMaxSize&&f.destroy(this.socket,new n)}onUpgrade(a){let{upgrade:b,client:c,socket:d,headers:g,statusCode:h}=this;e(b),e(c[K]===d),e(!d.destroyed),e(!this.paused),e((1&g.length)==0);let i=c[C][c[H]];e(i),e(i.upgrade||"CONNECT"===i.method),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,d.unshift(a),d[w].destroy(),d[w]=null,d[v]=null,d[I]=null,aa(d),c[K]=null,c[X]=null,c[C][c[H]++]=null,c.emit("disconnect",c[t],[c],new p("upgrade"));try{i.onRequestUpgrade(h,g,d)}catch(a){f.destroy(d,a)}c[W]()}onHeadersComplete(a,b,c){let{client:d,socket:g,headers:h,statusText:i}=this;if(g.destroyed)return -1;if(0===d[y])return f.destroy(g,new o("bad response",f.getSocketInfo(g))),-1;let j=d[C][d[H]];if(!j)return -1;if(e(!this.upgrade),e(this.statusCode<200),100===a)return f.destroy(g,new o("bad response",f.getSocketInfo(g))),-1;if(b&&!j.upgrade)return f.destroy(g,new o("bad upgrade",f.getSocketInfo(g))),-1;if(e(3===this.timeoutType),this.statusCode=a,this.shouldKeepAlive=c||"HEAD"===j.method&&!g[u]&&this.connectionKeepAlive,this.statusCode>=200){let a=null!=j.bodyTimeout?j.bodyTimeout:d[Q];this.setTimeout(a,5)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if("CONNECT"===j.method||b)return e(1===d[y]),this.upgrade=!0,2;if(e((1&this.headers.length)==0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&d[J]){let a=this.keepAlive?f.parseKeepAliveTimeout(this.keepAlive):null;if(null!=a){let b=Math.min(a-d[O],d[N]);b<=0?g[u]=!0:d[L]=b}else d[L]=d[E]}else g[u]=!0;let k=!1===j.onResponseStart(a,h,this.resume,i);return j.aborted?-1:"HEAD"===j.method||a<200?1:(g[x]&&(g[x]=!1,d[W]()),k?Z.ERROR.PAUSED:0)}onBody(a){let{client:b,socket:c,statusCode:d,maxResponseSize:g}=this;if(c.destroyed)return -1;let h=b[C][b[H]];return(e(h),e(5===this.timeoutType),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),e(d>=200),g>-1&&this.bytesRead+a.length>g)?(f.destroy(c,new s),-1):(this.bytesRead+=a.length,!1===h.onResponseData(a))?Z.ERROR.PAUSED:0}onMessageComplete(){let{client:a,socket:b,statusCode:c,upgrade:d,headers:g,contentLength:h,bytesRead:i,shouldKeepAlive:k}=this;if(b.destroyed&&(!c||k))return -1;if(d)return 0;e(c>=100),e((1&this.headers.length)==0);let l=a[C][a[H]];return(e(l),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength=-1,this.keepAlive="",this.connectionKeepAlive=!1,this.headers=[],this.headersSize=0,c<200)?0:"HEAD"!==l.method&&-1!==h&&i!==h?(f.destroy(b,new j),-1):(l.onResponseEnd(g),a[C][a[H]++]=null,b[ad]=0===a[z],b[B])?(e(0===a[y]),f.destroy(b,new p("reset")),Z.ERROR.PAUSED):k?b[u]&&0===a[y]?(f.destroy(b,new p("reset")),Z.ERROR.PAUSED):(null==a[J]||1===a[J]?setImmediate(a[W]):a[W](),0):(f.destroy(b,new p("reset")),Z.ERROR.PAUSED)}}function am(a){let b=a.deref();if(!b)return;let{socket:c,timeoutType:d,client:g,paused:h}=b;3===d?(!c[B]||c.writableNeedDrain||g[y]>1)&&(e(!h,"cannot be paused while waiting for headers"),f.destroy(c,new m)):5===d?h||f.destroy(c,new q):8===d&&(e(0===g[y]&&g[L]),f.destroy(c,new p("socket idle timeout")))}function an(a){e("ERR_TLS_CERT_ALTNAME_INVALID"!==a.code);let b=this[w];if("ECONNRESET"===a.code&&b.statusCode&&!b.shouldKeepAlive){let a=b.finish();a&&(this[I]=a,this[v][V](a));return}this[I]=a,this[v][V](a)}function ao(){this[w]?.readMore()}function ap(){let a=this[w];if(a.statusCode&&!a.shouldKeepAlive){let b=a.finish();b&&f.destroy(this,b);return}f.destroy(this,new o("other side closed",f.getSocketInfo(this)))}function aq(){let a=this[w];as(this),a&&(this[I]||!a.statusCode||a.shouldKeepAlive||(this[I]=a.finish()||this[I]),this[w].destroy(),this[w]=null);let b=this[I]||new o("closed",f.getSocketInfo(this)),c=this[v];if(c[K]=null,c[X]=null,c.destroyed){e(0===c[z]);let a=c[C].splice(c[H]);for(let d=0;d<a.length;d++){let e=a[d];f.errorRequest(c,e,b)}}else if(c[y]>0&&"UND_ERR_INFO"!==b.code){let a=c[C][c[H]];c[C][c[H]++]=null,f.errorRequest(c,a,b)}c[G]=c[H],e(0===c[y]),c.emit("disconnect",c[t],[c],b),c[W]()}function ar(){this[Y]=!0}function as(a){a[ac]&&(clearTimeout(a[ac]),a[ac]=null),a[ab]=0}function at(a,b,c,d,g,h,i,j){try{b?f.isBuffer(b)&&(e(h===b.byteLength,"buffer body must have content length"),g.cork(),g.write(`${i}content-length: ${h}\r
475
475
  \r
476
476
  `,"latin1"),g.write(b),g.uncork(),d.onBodySent(b),j||!1===d.reset||(g[u]=!0)):0===h?g.write(`${i}content-length: 0\r