9router-proxy 0.6.25 → 0.6.27

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 (1061) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +10 -10
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +26 -26
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  56. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  57. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  58. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  59. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  60. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  63. package/app/.next-cli-build/server/app/_not-found.rsc +31 -30
  64. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +31 -30
  65. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +37 -36
  66. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  67. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  79. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  81. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  84. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  86. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +1 -1
  88. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  92. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  94. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
  100. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  102. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  104. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  113. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  115. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  117. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +3 -3
  119. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  121. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -2
  125. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -2
  127. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/oauth/miaoshou/auto-import/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/oauth/miaoshou/import/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/providers/web-login/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  241. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  267. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  301. package/app/.next-cli-build/server/app/callback.html +1 -1
  302. package/app/.next-cli-build/server/app/callback.rsc +36 -35
  303. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +36 -35
  304. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  305. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +42 -41
  306. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +36 -35
  308. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +44 -43
  309. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +36 -35
  310. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  311. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  312. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +39 -38
  313. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +46 -45
  314. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +39 -38
  315. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  316. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/combos.rsc +40 -39
  318. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +48 -47
  319. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +40 -39
  320. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  321. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  322. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +38 -37
  323. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +45 -44
  324. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +38 -37
  325. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  326. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +40 -39
  328. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +49 -48
  329. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +40 -39
  330. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  331. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +38 -37
  333. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +46 -45
  334. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +38 -37
  335. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  336. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  337. package/app/.next-cli-build/server/app/dashboard/profile.rsc +39 -38
  338. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +47 -46
  339. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +39 -38
  340. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  341. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +40 -39
  343. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +49 -48
  344. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +40 -39
  345. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  346. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  347. package/app/.next-cli-build/server/app/dashboard/providers.rsc +39 -38
  348. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +47 -46
  349. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +39 -38
  350. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  351. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +39 -38
  353. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +47 -46
  354. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +39 -38
  355. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  356. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +39 -38
  358. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +47 -46
  359. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +39 -38
  360. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  361. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/quota.rsc +37 -36
  363. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +45 -44
  364. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +37 -36
  365. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  366. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  368. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  369. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +38 -37
  370. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +38 -37
  371. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  372. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +46 -45
  373. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  374. package/app/.next-cli-build/server/app/dashboard/skills.rsc +39 -38
  375. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +47 -46
  376. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +39 -38
  377. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  378. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  379. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +36 -35
  380. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +44 -43
  381. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +36 -35
  382. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  383. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  384. package/app/.next-cli-build/server/app/dashboard/translator.rsc +39 -38
  385. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +47 -46
  386. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +39 -38
  387. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  388. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  389. package/app/.next-cli-build/server/app/dashboard/usage.rsc +40 -39
  390. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +48 -47
  391. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +40 -39
  392. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  393. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  394. package/app/.next-cli-build/server/app/dashboard.rsc +37 -36
  395. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +43 -42
  396. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +37 -36
  397. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/index.html +1 -1
  400. package/app/.next-cli-build/server/app/index.rsc +29 -28
  401. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +34 -33
  402. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +29 -28
  403. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  404. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  406. package/app/.next-cli-build/server/app/landing.html +1 -1
  407. package/app/.next-cli-build/server/app/landing.rsc +37 -36
  408. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +37 -36
  409. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  410. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +43 -42
  411. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  413. package/app/.next-cli-build/server/app/login.html +1 -1
  414. package/app/.next-cli-build/server/app/login.rsc +36 -35
  415. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +36 -35
  416. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  417. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +42 -41
  418. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  421. package/app/.next-cli-build/server/app-paths-manifest.json +10 -10
  422. package/app/.next-cli-build/server/chunks/1248.js +1 -1
  423. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  424. package/app/.next-cli-build/server/chunks/1757.js +1 -1
  425. package/app/.next-cli-build/server/chunks/2220.js +1 -1
  426. package/app/.next-cli-build/server/chunks/2224.js +1 -0
  427. package/app/.next-cli-build/server/chunks/24.js +1 -1
  428. package/app/.next-cli-build/server/chunks/3256.js +1 -1
  429. package/app/.next-cli-build/server/chunks/3459.js +1 -1
  430. package/app/.next-cli-build/server/chunks/3726.js +1 -1
  431. package/app/.next-cli-build/server/chunks/3835.js +1 -1
  432. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  433. package/app/.next-cli-build/server/chunks/412.js +1 -1
  434. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  435. package/app/.next-cli-build/server/chunks/4478.js +1 -1
  436. package/app/.next-cli-build/server/chunks/5026.js +1 -1
  437. package/app/.next-cli-build/server/chunks/5330.js +3 -3
  438. package/app/.next-cli-build/server/chunks/5615.js +2 -2
  439. package/app/.next-cli-build/server/chunks/702.js +2 -0
  440. package/app/.next-cli-build/server/chunks/7220.js +1 -1
  441. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  442. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  443. package/app/.next-cli-build/server/chunks/794.js +1 -1
  444. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  445. package/app/.next-cli-build/server/chunks/8271.js +1 -1
  446. package/app/.next-cli-build/server/chunks/8895.js +2 -2
  447. package/app/.next-cli-build/server/chunks/9310.js +1 -1
  448. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  449. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  450. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/pages/404.html +1 -1
  452. package/app/.next-cli-build/server/pages/500.html +1 -1
  453. package/app/.next-cli-build/server/preview-props.json +3 -3
  454. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  455. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  456. package/app/.next-cli-build/static/chunks/1321-6b5146ba33211449.js +1 -0
  457. package/app/.next-cli-build/static/chunks/1592-7a1b8f3c2180b75e.js +1 -0
  458. package/app/.next-cli-build/static/chunks/1610-3f2a428594c9c558.js +1 -0
  459. package/app/.next-cli-build/static/chunks/2599-e954754c18e14dc4.js +11 -0
  460. package/app/.next-cli-build/static/chunks/{5497-94d4f9da330e2758.js → 5497-5edd305639e92d2a.js} +2 -2
  461. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-ea4bef63948f4a79.js → page-07860701d1f36356.js} +1 -1
  462. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-72ec90d965d57554.js → page-ae984b5ad00b815e.js} +1 -1
  463. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-218501982818a903.js → page-e11d3606ae59138e.js} +1 -1
  464. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-9f1dd6ca7ceeabb7.js → page-41c527db65ecc456.js} +1 -1
  465. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-66757e17ed9f3b23.js → page-7462d58828409915.js} +1 -1
  466. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-3e8642754ac07e6c.js +1 -0
  467. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-78497e3fc309a66b.js → page-a2d8782942f79c7a.js} +1 -1
  468. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-cb24c102a5535c19.js → page-bccd29d8fdb1420b.js} +1 -1
  469. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-bdffd7da424a40f6.js → page-a115f2f850d39128.js} +1 -1
  470. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-e9115d1643fe83ab.js → page-bc5f2544706ca405.js} +1 -1
  471. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-830479c6d2b66001.js → page-e75bafb632a626bf.js} +1 -1
  472. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-9388fd549174fd34.js +1 -0
  473. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-a49e8b527b71b335.js → page-78a0a5ea58f9a4bc.js} +1 -1
  474. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-1af8c2edc9c0ae1d.js → page-904dc75c59a37284.js} +3 -3
  475. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-8dee526b0891af9f.js → page-883eae14cd5e19d5.js} +1 -1
  476. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-68597056465adc3d.js → page-fd714aed70be1291.js} +1 -1
  477. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-5545d5f7a6f26894.js → page-f31106889f308c23.js} +1 -1
  478. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-9d4ff69bd12d4c5a.js → page-d7accdd5a36f268c.js} +1 -1
  479. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-3c36f41167857750.js → page-6ac24ff171abe1f6.js} +1 -1
  480. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-cfdf2480dbe558ad.js → page-0d4c8de9cddb2798.js} +1 -1
  481. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-f7d7700d4afd666f.js → page-a59a90e55a3d6e21.js} +1 -1
  482. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-e84a334408baee9c.js → page-88bd684463c3b41a.js} +1 -1
  483. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-68f3751d62bcacbd.js → page-84497afdde6117e5.js} +1 -1
  484. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-ecd45841ec1ff701.js → layout-ce8c7297b5839e06.js} +1 -1
  485. package/app/.next-cli-build/static/chunks/app/{layout-00c8624593ca90e2.js → layout-b71d3072d7d0c248.js} +1 -1
  486. package/app/.next-cli-build/static/chunks/app/login/{page-89eb6dc8740863de.js → page-cc43b7351e61ff65.js} +1 -1
  487. package/app/.next-cli-build/static/chunks/{webpack-d2b96a2313c45c57.js → webpack-2d6a76068971e74e.js} +1 -1
  488. package/app/.next-cli-build/static/css/{a4a1d5192ab47550.css → 20a8e781bd7763d0.css} +1 -1
  489. package/app/node_modules/caniuse-lite/data/features/aac.js +1 -1
  490. package/app/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  491. package/app/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  492. package/app/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  493. package/app/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  494. package/app/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  495. package/app/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  496. package/app/node_modules/caniuse-lite/data/features/apng.js +1 -1
  497. package/app/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  498. package/app/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  499. package/app/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  500. package/app/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  501. package/app/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  502. package/app/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  503. package/app/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  504. package/app/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
  505. package/app/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  506. package/app/node_modules/caniuse-lite/data/features/audio.js +1 -1
  507. package/app/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  508. package/app/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  509. package/app/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  510. package/app/node_modules/caniuse-lite/data/features/av1.js +1 -1
  511. package/app/node_modules/caniuse-lite/data/features/avif.js +1 -1
  512. package/app/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  513. package/app/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  514. package/app/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  515. package/app/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  516. package/app/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  517. package/app/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  518. package/app/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  519. package/app/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  520. package/app/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  521. package/app/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  522. package/app/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  523. package/app/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  524. package/app/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  525. package/app/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  526. package/app/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  527. package/app/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  528. package/app/node_modules/caniuse-lite/data/features/calc.js +1 -1
  529. package/app/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  530. package/app/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  531. package/app/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  532. package/app/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  533. package/app/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  534. package/app/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  535. package/app/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  536. package/app/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  537. package/app/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  538. package/app/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  539. package/app/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  540. package/app/node_modules/caniuse-lite/data/features/colr.js +1 -1
  541. package/app/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  542. package/app/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  543. package/app/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  544. package/app/node_modules/caniuse-lite/data/features/const.js +1 -1
  545. package/app/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  546. package/app/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
  547. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  548. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  549. package/app/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  550. package/app/node_modules/caniuse-lite/data/features/cors.js +1 -1
  551. package/app/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  552. package/app/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  553. package/app/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  554. package/app/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  555. package/app/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  556. package/app/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  557. package/app/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  558. package/app/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  559. package/app/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  560. package/app/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  561. package/app/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  562. package/app/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  563. package/app/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  564. package/app/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  565. package/app/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  566. package/app/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  567. package/app/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
  568. package/app/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  569. package/app/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  570. package/app/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  571. package/app/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  572. package/app/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  573. package/app/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  574. package/app/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  575. package/app/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  576. package/app/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  577. package/app/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  578. package/app/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  579. package/app/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  580. package/app/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  581. package/app/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  582. package/app/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  583. package/app/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  584. package/app/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  585. package/app/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  586. package/app/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  587. package/app/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  588. package/app/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  589. package/app/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  590. package/app/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  591. package/app/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  592. package/app/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
  593. package/app/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  594. package/app/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  595. package/app/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  596. package/app/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  597. package/app/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  598. package/app/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  599. package/app/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  600. package/app/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  601. package/app/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  602. package/app/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  603. package/app/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  604. package/app/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  605. package/app/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  606. package/app/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  607. package/app/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  608. package/app/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  609. package/app/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  610. package/app/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  611. package/app/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  612. package/app/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  613. package/app/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  614. package/app/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  615. package/app/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  616. package/app/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  617. package/app/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  618. package/app/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  619. package/app/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  620. package/app/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  621. package/app/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  622. package/app/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  623. package/app/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  624. package/app/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  625. package/app/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  626. package/app/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  627. package/app/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  628. package/app/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  629. package/app/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  630. package/app/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  631. package/app/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  632. package/app/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  633. package/app/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  634. package/app/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  635. package/app/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  636. package/app/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  637. package/app/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  638. package/app/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  639. package/app/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  640. package/app/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  641. package/app/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  642. package/app/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  643. package/app/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  644. package/app/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  645. package/app/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  646. package/app/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  647. package/app/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  648. package/app/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  649. package/app/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  650. package/app/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  651. package/app/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  652. package/app/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  653. package/app/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  654. package/app/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  655. package/app/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  656. package/app/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  657. package/app/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  658. package/app/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  659. package/app/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  660. package/app/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  661. package/app/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  662. package/app/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  663. package/app/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  664. package/app/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  665. package/app/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  666. package/app/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  667. package/app/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  668. package/app/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  669. package/app/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  670. package/app/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  671. package/app/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
  672. package/app/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  673. package/app/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  674. package/app/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  675. package/app/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  676. package/app/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  677. package/app/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  678. package/app/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  679. package/app/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  680. package/app/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  681. package/app/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  682. package/app/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  683. package/app/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  684. package/app/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  685. package/app/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  686. package/app/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  687. package/app/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  688. package/app/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  689. package/app/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  690. package/app/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  691. package/app/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  692. package/app/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  693. package/app/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  694. package/app/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  695. package/app/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  696. package/app/node_modules/caniuse-lite/data/features/details.js +1 -1
  697. package/app/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  698. package/app/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  699. package/app/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  700. package/app/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  701. package/app/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
  702. package/app/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  703. package/app/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  704. package/app/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
  705. package/app/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  706. package/app/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  707. package/app/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  708. package/app/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  709. package/app/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  710. package/app/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  711. package/app/node_modules/caniuse-lite/data/features/download.js +1 -1
  712. package/app/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  713. package/app/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  714. package/app/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  715. package/app/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  716. package/app/node_modules/caniuse-lite/data/features/eme.js +1 -1
  717. package/app/node_modules/caniuse-lite/data/features/eot.js +1 -1
  718. package/app/node_modules/caniuse-lite/data/features/es5.js +1 -1
  719. package/app/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  720. package/app/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  721. package/app/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  722. package/app/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  723. package/app/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  724. package/app/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  725. package/app/node_modules/caniuse-lite/data/features/es6.js +1 -1
  726. package/app/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  727. package/app/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  728. package/app/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  729. package/app/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  730. package/app/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  731. package/app/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  732. package/app/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  733. package/app/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  734. package/app/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  735. package/app/node_modules/caniuse-lite/data/features/flac.js +1 -1
  736. package/app/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  737. package/app/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  738. package/app/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  739. package/app/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  740. package/app/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  741. package/app/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  742. package/app/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  743. package/app/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  744. package/app/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  745. package/app/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  746. package/app/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  747. package/app/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  748. package/app/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  749. package/app/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  750. package/app/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  751. package/app/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  752. package/app/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  753. package/app/node_modules/caniuse-lite/data/features/forms.js +1 -1
  754. package/app/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  755. package/app/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  756. package/app/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  757. package/app/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  758. package/app/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  759. package/app/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  760. package/app/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  761. package/app/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  762. package/app/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  763. package/app/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  764. package/app/node_modules/caniuse-lite/data/features/heif.js +1 -1
  765. package/app/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  766. package/app/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  767. package/app/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  768. package/app/node_modules/caniuse-lite/data/features/history.js +1 -1
  769. package/app/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  770. package/app/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  771. package/app/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  772. package/app/node_modules/caniuse-lite/data/features/http2.js +1 -1
  773. package/app/node_modules/caniuse-lite/data/features/http3.js +1 -1
  774. package/app/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  775. package/app/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  776. package/app/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  777. package/app/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  778. package/app/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  779. package/app/node_modules/caniuse-lite/data/features/imports.js +1 -1
  780. package/app/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  781. package/app/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  782. package/app/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  783. package/app/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  784. package/app/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  785. package/app/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  786. package/app/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  787. package/app/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  788. package/app/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  789. package/app/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  790. package/app/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  791. package/app/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  792. package/app/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  793. package/app/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  794. package/app/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  795. package/app/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  796. package/app/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  797. package/app/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  798. package/app/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  799. package/app/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  800. package/app/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  801. package/app/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  802. package/app/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  803. package/app/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  804. package/app/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  805. package/app/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  806. package/app/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  807. package/app/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  808. package/app/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  809. package/app/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  810. package/app/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  811. package/app/node_modules/caniuse-lite/data/features/json.js +1 -1
  812. package/app/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  813. package/app/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  814. package/app/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
  815. package/app/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  816. package/app/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  817. package/app/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  818. package/app/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  819. package/app/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  820. package/app/node_modules/caniuse-lite/data/features/let.js +1 -1
  821. package/app/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  822. package/app/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  823. package/app/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  824. package/app/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  825. package/app/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  826. package/app/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  827. package/app/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  828. package/app/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  829. package/app/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  830. package/app/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  831. package/app/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  832. package/app/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  833. package/app/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  834. package/app/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  835. package/app/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  836. package/app/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  837. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  838. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  839. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  840. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  841. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  842. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  843. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  844. package/app/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  845. package/app/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  846. package/app/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  847. package/app/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  848. package/app/node_modules/caniuse-lite/data/features/menu.js +1 -1
  849. package/app/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  850. package/app/node_modules/caniuse-lite/data/features/meter.js +1 -1
  851. package/app/node_modules/caniuse-lite/data/features/midi.js +1 -1
  852. package/app/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  853. package/app/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  854. package/app/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
  855. package/app/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  856. package/app/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  857. package/app/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  858. package/app/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  859. package/app/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  860. package/app/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  861. package/app/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  862. package/app/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  863. package/app/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  864. package/app/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  865. package/app/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  866. package/app/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  867. package/app/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  868. package/app/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  869. package/app/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  870. package/app/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  871. package/app/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  872. package/app/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  873. package/app/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  874. package/app/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  875. package/app/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  876. package/app/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  877. package/app/node_modules/caniuse-lite/data/features/opus.js +1 -1
  878. package/app/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  879. package/app/node_modules/caniuse-lite/data/features/outline.js +1 -1
  880. package/app/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  881. package/app/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
  882. package/app/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  883. package/app/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  884. package/app/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  885. package/app/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  886. package/app/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  887. package/app/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  888. package/app/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  889. package/app/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  890. package/app/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  891. package/app/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  892. package/app/node_modules/caniuse-lite/data/features/picture.js +1 -1
  893. package/app/node_modules/caniuse-lite/data/features/ping.js +1 -1
  894. package/app/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  895. package/app/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  896. package/app/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  897. package/app/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  898. package/app/node_modules/caniuse-lite/data/features/portals.js +1 -1
  899. package/app/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  900. package/app/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  901. package/app/node_modules/caniuse-lite/data/features/progress.js +1 -1
  902. package/app/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  903. package/app/node_modules/caniuse-lite/data/features/promises.js +1 -1
  904. package/app/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  905. package/app/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  906. package/app/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  907. package/app/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  908. package/app/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  909. package/app/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  910. package/app/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  911. package/app/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  912. package/app/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  913. package/app/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  914. package/app/node_modules/caniuse-lite/data/features/rem.js +1 -1
  915. package/app/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  916. package/app/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  917. package/app/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  918. package/app/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  919. package/app/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  920. package/app/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  921. package/app/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  922. package/app/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  923. package/app/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  924. package/app/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  925. package/app/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  926. package/app/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  927. package/app/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  928. package/app/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
  929. package/app/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  930. package/app/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  931. package/app/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  932. package/app/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  933. package/app/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  934. package/app/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  935. package/app/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  936. package/app/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  937. package/app/node_modules/caniuse-lite/data/features/sni.js +1 -1
  938. package/app/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  939. package/app/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  940. package/app/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  941. package/app/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  942. package/app/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  943. package/app/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  944. package/app/node_modules/caniuse-lite/data/features/stream.js +1 -1
  945. package/app/node_modules/caniuse-lite/data/features/streams.js +1 -1
  946. package/app/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  947. package/app/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  948. package/app/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  949. package/app/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  950. package/app/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  951. package/app/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
  952. package/app/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  953. package/app/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  954. package/app/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
  955. package/app/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  956. package/app/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  957. package/app/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  958. package/app/node_modules/caniuse-lite/data/features/svg.js +1 -1
  959. package/app/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  960. package/app/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  961. package/app/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  962. package/app/node_modules/caniuse-lite/data/features/template.js +1 -1
  963. package/app/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  964. package/app/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  965. package/app/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  966. package/app/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  967. package/app/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  968. package/app/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  969. package/app/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  970. package/app/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  971. package/app/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  972. package/app/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  973. package/app/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  974. package/app/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  975. package/app/node_modules/caniuse-lite/data/features/touch.js +1 -1
  976. package/app/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  977. package/app/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  978. package/app/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  979. package/app/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  980. package/app/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  981. package/app/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  982. package/app/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  983. package/app/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  984. package/app/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  985. package/app/node_modules/caniuse-lite/data/features/url.js +1 -1
  986. package/app/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  987. package/app/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  988. package/app/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  989. package/app/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  990. package/app/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  991. package/app/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  992. package/app/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  993. package/app/node_modules/caniuse-lite/data/features/video.js +1 -1
  994. package/app/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  995. package/app/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  996. package/app/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  997. package/app/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  998. package/app/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  999. package/app/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  1000. package/app/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  1001. package/app/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  1002. package/app/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  1003. package/app/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  1004. package/app/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  1005. package/app/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  1006. package/app/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  1007. package/app/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  1008. package/app/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  1009. package/app/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  1010. package/app/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  1011. package/app/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  1012. package/app/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  1013. package/app/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  1014. package/app/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  1015. package/app/node_modules/caniuse-lite/data/features/wav.js +1 -1
  1016. package/app/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  1017. package/app/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  1018. package/app/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  1019. package/app/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  1020. package/app/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  1021. package/app/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  1022. package/app/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  1023. package/app/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  1024. package/app/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  1025. package/app/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  1026. package/app/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  1027. package/app/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  1028. package/app/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  1029. package/app/node_modules/caniuse-lite/data/features/webm.js +1 -1
  1030. package/app/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  1031. package/app/node_modules/caniuse-lite/data/features/webp.js +1 -1
  1032. package/app/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  1033. package/app/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  1034. package/app/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  1035. package/app/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  1036. package/app/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  1037. package/app/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  1038. package/app/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  1039. package/app/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  1040. package/app/node_modules/caniuse-lite/data/features/woff.js +1 -1
  1041. package/app/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  1042. package/app/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  1043. package/app/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  1044. package/app/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  1045. package/app/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  1046. package/app/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  1047. package/app/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  1048. package/app/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  1049. package/app/node_modules/caniuse-lite/data/versionGroups.js +1 -1
  1050. package/app/node_modules/caniuse-lite/package.json +1 -1
  1051. package/app/package.json +1 -1
  1052. package/package.json +1 -1
  1053. package/app/.next-cli-build/server/chunks/7913.js +0 -2
  1054. package/app/.next-cli-build/server/chunks/8402.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/1321-3a69a854a444fcd0.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/763-64b80a1ab0aa3cfc.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/8982-034c1a89a74fd310.js +0 -11
  1058. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-a2112a715423804a.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-0eae4c30300946df.js +0 -1
  1060. /package/app/.next-cli-build/static/{GqCiYVA1XNTqU43gq2Fhm → zfYHuQvzglYJyhsqgUYWW}/_buildManifest.js +0 -0
  1061. /package/app/.next-cli-build/static/{GqCiYVA1XNTqU43gq2Fhm → zfYHuQvzglYJyhsqgUYWW}/_ssgManifest.js +0 -0
@@ -241,12 +241,12 @@ ${c.join("\n")}`);continue}if("tool"===f.role){let c=f.tool_call_id&&b.get(f.too
241
241
 
242
242
  ${l}
243
243
 
244
- Respond with ONLY <tool> blocks, one per line. No prose, no code fences, no explanation before or after the blocks.`:l);if(!p.trim())throw Object.assign(Error("ChatGPT Web requires non-empty text"),{status:400});let q={...await aW({baseUrl:a,accessToken:b,userAgent:d,signal:g,proxyOptions:i}),Authorization:`Bearer ${b}`,"User-Agent":d,...c?{Cookie:c}:{},"Content-Type":"application/json"},r=await ba(`${a}/backend-api/f/conversation/prepare`,{method:"POST",headers:{...q,Accept:"application/json"},body:JSON.stringify({action:"next",parent_message_id:(0,e.randomUUID)(),model:"auto",client_prepare_state:"success",timezone_offset_min:0,timezone:"UTC",conversation_mode:{kind:"primary_assistant"},partial_query:{id:(0,e.randomUUID)(),author:{role:"user"},content:{content_type:"text",parts:[p]}},supports_buffering:!0,supported_encodings:["v1"],client_contextual_info:{app_name:"chatgpt.com"}})},6e4,g,i);if(!r.ok){let a=(await r.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`ChatGPT prepare failed (HTTP ${r.status}) ${a}`),{status:r.status||502})}let s=await r.json().catch(()=>null),t=await ba(`${a}/backend-api/f/conversation`,{method:"POST",headers:{...q,Accept:"text/event-stream","X-Conduit-Token":s?.conduit_token||"","X-Oai-Turn-Trace-Id":(0,e.randomUUID)()},body:JSON.stringify({action:"next",messages:[{id:(0,e.randomUUID)(),author:{role:"user"},create_time:Date.now()/1e3,content:{content_type:"text",parts:[p]},metadata:{serialization_metadata:{custom_symbol_offsets:[]}}}],parent_message_id:(0,e.randomUUID)(),model:"auto",client_prepare_state:"sent",timezone_offset_min:0,timezone:"UTC",conversation_mode:{kind:"primary_assistant"},enable_message_followups:!0,supports_buffering:!0,supported_encodings:["v1"],client_contextual_info:{app_name:"chatgpt.com"},force_parallel_switch:"auto"})},135e3,g,i);if(!t.ok)throw Object.assign(Error(`ChatGPT conversation failed (HTTP ${t.status})`),{status:t.status||502});if("function"==typeof k)try{k()}catch{}let u="function"==typeof j,v="",w=((u?(await bc(t,{limit:0x1000000,deadlineMs:12e4,signal:g,onText:a=>{v+=a;try{j(a)}catch{}}})).raw:await bb(t,0x1000000,12e4)).match(/"conversation_id"\s*:\s*"([0-9a-f-]{36})"/)||[])[1]||"";if(!w)throw Object.assign(Error("ChatGPT conversation produced no conversation id"),{status:502});try{let e=Date.now();for(;Date.now()-e<=18e4;){if(g?.aborted)throw Error("Request aborted");let e=await ba(`${a}/backend-api/conversation/${w}`,{headers:{Authorization:`Bearer ${b}`,"User-Agent":d,Accept:"application/json",...c?{Cookie:c}:{}}},3e4,g,i).catch(()=>null);if(e?.ok){let a=await e.json().catch(()=>null),b=a?function(a){let b=a?.mapping||{},c="",d=!1,e="",f=!1;for(let a of Object.values(b)){let b=a?.message;if(b&&"assistant"===String(b.author?.role||"").toLowerCase()&&(b.metadata?.is_complete===!0&&(d=!0),b.content?.content_type==="text"&&(c+=(b.content.parts||[]).filter(a=>"string"==typeof a).join("")),b.metadata?.is_error)){f=!0;let a=(b.content?.parts||[]).filter(a=>"string"==typeof a).join("");a&&(e=a)}}return d?{text:c,errorText:e,isError:f}:null}(a):null;if(b){if(!b.text.trim()&&b.isError)throw Object.assign(Error(`ChatGPT refused the turn${b.errorText?`: ${b.errorText.slice(0,200)}`:""}`),{status:400});if(u)if(b.text.startsWith(v)){let a=b.text.slice(v.length);if(a){v+=a;try{j(a)}catch{}}}else b.text!==v&&h?.warn?.("CGPT-WEB","streamed text diverged from the final conversation document");return h&&!o.hasTools&&h.debug?.("CGPT-WEB",`chat turn complete (${b.text.length} chars)`),{text:b.text,hasTools:o.hasTools,requestedTools:o.requestedTools}}}else h&&h.debug?.("CGPT-WEB",`conversation poll status ${e?.status??"network"}, retrying`);await a9(1500)}throw Object.assign(Error("ChatGPT chat turn timed out"),{status:504})}finally{aX({baseUrl:a,accessToken:b,cookie:c,userAgent:d,conversationId:w,proxyOptions:i,log:h})}}var be=c(4052),bf=c(92536),bg=c(78959);let bh="https://chatgpt.com",bi="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36";async function bj({storageState:a,userAgent:b,signal:c,proxyOptions:d=null,timeoutMs:e=aM.pH}){let f,g=a0(a),h=(0,aL.n)(c,e);try{f=await (0,aK.proxyAwareFetch)(`${bh}/api/auth/session`,{headers:{"User-Agent":b,Accept:"application/json",...g?{Cookie:g}:{}},signal:h.signal},d)}catch(a){throw h.settleError(a)}finally{h.clear()}if(!f.ok)throw Object.assign(Error(`ChatGPT session unavailable (HTTP ${f.status})`),{status:403===f.status?401:f.status||502});let i=await f.json().catch(()=>null);if("string"!=typeof i?.accessToken||!i.accessToken)throw Object.assign(Error("ChatGPT session is not signed in"),{status:401});return i.accessToken}function bk(a,b){return new Response(JSON.stringify({error:{message:b}}),{status:a,headers:{"Content-Type":"application/json"}})}class bl extends d.H{constructor(){super("chatgpt-web",{id:"chatgpt-web",baseUrl:bh})}async testConnection(a){try{let b=a?.providerSpecificData?.storageState??a?.apiKey;if("string"!=typeof b||!b.trim())return!1;if(b.trim().startsWith("{"))return JSON.parse(b),!0;return/__Secure-next-auth\.session-token|^[\w-]+\.[\w-]+\.[\w-]+$/.test(b.trim())}catch{return!1}}async execute(a){try{let b=await this.#a(a);if(b)return b;return{response:await aA(a),url:bh,headers:{},transformedBody:a.body}}catch(c){let b=c instanceof Error?c.message:"ChatGPT Web browser execution failed";if((0,be.BE)(b))return{response:bk(503,"ChatGPT Web requires a Chrome/Chromium browser (headed). Install Google Chrome on the host (or set CHATGPT_WEB_CHROME_PATH), and run `npx playwright-core install chromium`."),url:bh,headers:{},transformedBody:a.body};return{response:bk(Number.isInteger(c?.status)&&c.status>=400&&c.status<=599?c.status:/storage state|credentials|connection ID/i.test(b)?401:/(?:\bHTTP[_\s-]*429\b|\bstatus\s+429\b|\brate[-_\s]?limit(?:ed)?\b|\bquota\s+(?:exhausted|reached|exceeded)\b|\b(?:image(?:\s+upload)?|upload|usage)\s+limit\s+(?:reached|exceeded)\b|\breached\s+(?:your\s+)?(?:image(?:\s+upload)?|upload|usage)\s+limit\b)/i.test(b)?429:/request|messages|prompt|model|tools|text content|reasoning effort/i.test(b)?400:502,b),url:bh,headers:{},transformedBody:a.body}}}async #a(a){let b,c,{credentials:d,body:f,model:g,stream:h,proxyOptions:i=null}=a;try{b=av(d)}catch{return null}let j=d?.providerSpecificData,k="string"==typeof j?.customUserAgent&&j.customUserAgent.trim()?j.customUserAgent.trim():bi,l=Array.isArray(f?.tools)&&f.tools.length>0;if(!0===a.stream&&!l){let c=await bj({storageState:b,userAgent:k,signal:a.signal,proxyOptions:i});return this.#b({input:a,accessToken:c,storageState:b,userAgent:k,model:g})}try{let d=await bj({storageState:b,userAgent:k,signal:a.signal,proxyOptions:i});c=await bd({baseUrl:bh,accessToken:d,cookie:a0(b),userAgent:k,body:f,signal:a.signal,log:a.log,proxyOptions:i})}catch(a){if(a?.code==="TURNSTILE_REQUIRED"||/Turnstile/i.test(a?.message||""))return null;throw a}if(!c.hasTools)return{response:az(g,{text:c.text},h),url:bh,headers:{},transformedBody:f};let m=az(g,{text:c.text},!1);return{response:await am(m,c.requestedTools,h,{idSeed:"call",cid:`chatcmpl-${(0,e.randomUUID)()}`,created:Math.floor(Date.now()/1e3),model:g}),url:bh,headers:{},transformedBody:f}}async #b({input:a,accessToken:b,storageState:c,userAgent:d,model:f}){let g,h,{body:i,signal:j,log:k}=a,l=new TextEncoder,m=new AbortController,n=j?AbortSignal.any([j,m.signal]):m.signal,o=`chatcmpl-${(0,e.randomUUID)()}`,p=Math.floor(Date.now()/1e3),q="string"==typeof f&&f.trim()?f.trim():"chatgpt-web",r=!1,s=null,t=!1,u=new ReadableStream({start:a=>{s=a},cancel(){m.abort()}},{highWaterMark:16384}),v=(a,b=null)=>{if(!t)try{s.enqueue(l.encode((0,bf.N)({id:o,object:"chat.completion.chunk",created:p,model:q,system_fingerprint:null,choices:[{index:0,delta:a,finish_reason:b,logprobs:null}]})))}catch{t=!0}},w=new Promise((a,b)=>{g=a,h=b}),x=bd({baseUrl:bh,accessToken:b,cookie:a0(c),userAgent:d,body:i,signal:n,log:k,proxyOptions:a.proxyOptions||null,onReady:()=>g(),onDelta:a=>{r||(r=!0,v({role:"assistant",content:""})),v({content:a})}});x.catch(a=>h(a));try{await w}catch(b){if(b?.code==="TURNSTILE_REQUIRED"||/Turnstile/i.test(b?.message||""))return{response:await aA(a),url:bh,headers:{},transformedBody:i};throw b}return x.then(()=>{if(r||(r=!0,v({role:"assistant",content:""})),v({},"stop"),!t)try{s.enqueue(l.encode(bg.$U)),s.close()}catch{t=!0}}).catch(a=>{if(!t){try{s.error(a)}catch{}t=!0}}),{response:new Response(u,{status:200,headers:{...bg.uB}}),url:bh,headers:{},transformedBody:i}}async generateMedia({prompt:a,n:b=1,size:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){if(!a)throw Error("prompt is required for image generation");let h=av(d),i=d.providerSpecificData,j="string"==typeof i?.customUserAgent&&i.customUserAgent.trim()?i.customUserAgent.trim():bi,k=[];for(let i=0;i<Math.max(1,b);i++)k.push(await this.#c({prompt:a,size:c,storageState:h,userAgent:j,signal:e,log:f,credentials:d,proxyOptions:g}));return k}async #c({prompt:a,size:b,storageState:c,userAgent:d,signal:e,log:f,credentials:g,proxyOptions:h=null}){try{let g=await bj({storageState:c,userAgent:d,signal:e,proxyOptions:h});return await a8({baseUrl:bh,accessToken:g,cookie:a0(c),userAgent:d,prompt:a,sizeHint:b,signal:e,log:f,proxyOptions:h})}catch(a){if(a?.code!=="TURNSTILE_REQUIRED"&&!/Turnstile/i.test(a?.message||""))throw a;f?.warn?.("CGPT-WEB","Sentinel demanded Turnstile — falling back to the browser path")}let i="string"==typeof g?.connectionId&&g.connectionId.trim()?g.connectionId.trim():null;if(!i)throw Error("ChatGPT Web image generation requires a connection ID");let j=g.providerSpecificData,k=await ay({connectionId:i,storageState:c,selection:{kind:"picker",modelLabel:"GPT-5.6 Sol",effortIndex:0},userAgent:d,locale:"string"==typeof j?.locale?j.locale:void 0,timezone:"string"==typeof j?.timezone?j.timezone:void 0,chromeExecutablePath:ax(j?.chromeExecutablePath),proxyOptions:h});try{return await k.start(),await aJ(k.page,{prompt:a,sizeHint:b,signal:e,log:f})}finally{await k.page.close().catch(()=>{})}}}},49059:(a,b,c)=>{c.d(b,{v:()=>e});var d=c(96179);class e extends d.L{constructor(){super("codebuddy-cn")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f="You are a helpful AI assistant that helps with software engineering tasks.",g=/you are claude code|claude.?code.+official.+cli|anthropic.+official.+cli|anxthxropic.+official.+cli|you are (?:cursor|windsurf|cline|aider|continue|copilot|cody)|you are an? (?:ai )?(?:coding |code )?agent|cc_entrypoint\s*=\s*(?:cli|vscode|jetbrains|gui)|claude.?code.+issues|give feedback.+claude.?code|you are .{0,30}(?:powerful )?ai agent|orchestration capabilities|OhMyOpenCode|<agent-identity>|<Role>|<Behavior_Instructions>/i;Array.isArray(e.messages)&&(e.messages=e.messages.map(a=>{let b;if(!a||"system"!==a.role)return a;let c="string"==typeof(b=a.content)?b:Array.isArray(b)?b.map(a=>a&&"string"==typeof a.text?a.text:"").join("\n"):"";return c&&(c.length>2e3||g.test(c))?"string"==typeof a.content?{...a,content:f}:{...a,content:[{type:"text",text:f}]}:a}));let h=e.reasoning_effort;return"none"===h||"off"===h?delete e.reasoning_effort:h&&(e.reasoning_summary="auto"),e.tool_choice&&"object"==typeof e.tool_choice&&(e.tool_choice="required"),e}parseError(a,b){if(b)try{let a=JSON.parse(b),c=a?.msg||a?.message||a?.error?.message||"";if(a?.code===6004||/超出频率限制|frequency limit|限额/i.test(c)){let a=null,b=c.match(/(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2})(?:\s*UTC\+?([0-9:]+))?/i);if(b){let c=b[1],d=b[2],e=b[3]?b[3].includes(":")?b[3].startsWith("+")?b[3]:`+${b[3]}`:`+${b[3].padStart(2,"0")}:00`:"+08:00",f=new Date(`${c}T${d}${e}`);isNaN(f.getTime())||(a=f.getTime())}return{status:429,message:c||"CodeBuddy frequency limit (6004)",resetsAtMs:a}}}catch{}return super.parseError(a,b)}}},49227:(a,b,c)=>{c.d(b,{hG:()=>D});var d=c(77598),e=c.n(d),f=c(74957),g=c(35024),h=c(93943),i=c(37981),j=c(57247),k=c(90737),l=c(41004),m=c(80662),n=c(19713);let o=null;async function p(a="endpoint-proxy-salt"){let b=function(){if(o)return o;try{o=(0,n.machineIdSync)()}catch{o=e().randomUUID()}return o}();return e().createHash("sha256").update(b+a).digest("hex").substring(0,16)}let q=/^(rs|fc|resp|msg)_/,r=new Set(["web_search","x_search","web_search_preview","file_search","image_generation","code_interpreter","mcp","local_shell"]),s=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"]),t=["low","medium","high","xhigh"],u=/^(?:rs|msg|fc)_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,v={type:"object",properties:{input:{type:"string"}},required:["input"]},w=new Map,x=new WeakMap;function y(a){let b="string"==typeof a?a.trim().toLowerCase():"";return"max"===b?"xhigh":t.includes(b)?b:"high"}function z(a){return"string"==typeof a?a:void 0===a?"":JSON.stringify(a)}function A(a){return"string"==typeof a&&u.test(a)}function B(a){if(!a||"object"!=typeof a||Array.isArray(a))return a;let{internal_chat_message_metadata_passthrough:b,...c}=a;if("reasoning"===a.type)return A(a.id)&&"string"==typeof a.encrypted_content?c:null;if("custom_tool_call"===a.type){let b=a.call_id||a.id,c="string"==typeof a.name?a.name.trim():"";return b&&c?{type:"function_call",call_id:b,name:c,arguments:JSON.stringify({input:z(a.input??a.arguments)})}:null}if("custom_tool_call_output"===a.type||"function_call_output"===a.type){let b=a.call_id||a.id;return b?{type:"function_call_output",call_id:b,output:z(a.output)}:null}if("function_call"===a.type){let b=a.call_id||a.id,c="string"==typeof a.name?a.name.trim():"";return b&&c?{type:"function_call",...A(a.id)?{id:a.id}:{},call_id:b,name:c,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments??{}),..."string"==typeof a.status?{status:a.status}:{}}:null}return c}let C=null;class D extends f.H{constructor(){super("grok-cli",g.xq["grok-cli"])}buildUrl(){return this.config.baseUrl}async refreshCredentials(a,b,c=null){return!!a?.refreshToken&&(0,h.Vq)("grok-cli",a,b,c)}needsRefresh(a){return(0,h.fp)("grok-cli",a)}buildHeaders(a,b=!0,c=null,d=null,f=null,g={}){let h=super.buildHeaders(a,b);for(let[a,b]of Object.entries(this.config.headers||{}))null!=b&&void 0===h[a]&&(h[a]=b);h["x-grok-client-identifier"]=this.config.clientIdentifier||h["x-grok-client-identifier"]||k.rK,h["x-grok-client-version"]=this.config.clientVersion||h["x-grok-client-version"]||k.uG;let i=g?.sessionId||a?.connectionId||e().randomUUID(),j=g?.reqId||e().randomUUID();h["x-grok-session-id"]=i,h["x-grok-conv-id"]=i,h["x-grok-req-id"]=j,h["x-grok-turn-idx"]=String(g?.turnIdx||1),g?.agentId&&(h["x-grok-agent-id"]=g.agentId),g?.model&&(h["x-grok-model-override"]=g.model);let l=a?.providerSpecificData||{},m=l.email||a?.email,n=l.userId||a?.userId||a?.providerUserId;return m&&(h["x-email"]=m),n&&(h["x-userid"]=n),h}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,f={}){let g;g={prompt_cache_key:b?.prompt_cache_key,session_id:b?.session_id,conversation_id:b?.conversation_id,metadata:b?.metadata},f.sessionId=(0,m.oV)({headers:d?.rawHeaders,body:g,connectionId:d?.connectionId||d?.id,workspaceId:d?.providerSpecificData?.workspaceId,scope:"grok-cli"}),f.reqId=e().randomUUID(),f.agentId=d?.providerSpecificData?.deviceId||d?.providerSpecificData?.agentId||f.agentId||null;let h=(0,i.me)(b.input);h&&(b.input=h),(!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:"..."}]),function(a){if(!Array.isArray(a?.input))return;let b=a.input.map(B).filter(Boolean),c=new Set(b.filter(a=>a?.type==="function_call"&&a.call_id).map(a=>a.call_id));a.input=b.filter(a=>a?.type!=="function_call_output"||c.has(a.call_id))}(b),Array.isArray(b.input)&&(b.input=b.input.filter(a=>{if("string"==typeof a&&q.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&q.test(a.id)&&!A(a.id)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools)||0===a.tools.length){delete a.tools,delete a.tool_choice;return}let b=new Set,c=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let d="string"==typeof a.type?a.type:"";if("function"!==d){if(r.has(d))return c.add(d),!0;if(!d&&a.function);else if(d&&"string"!=typeof a.name)return!1}if(!("function"===d||""===d||a.function||"string"==typeof a.name)||r.has(d))return r.has(d);let e=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,f=("string"==typeof a.name?a.name:"string"==typeof e?.name?e.name:"").trim();if(!f)return!1;let g="string"==typeof a.description?a.description:"string"==typeof e?.description?e.description:"",h="custom"===d?v:a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:e?.parameters&&"object"==typeof e.parameters&&!Array.isArray(e.parameters)?e.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=f.slice(0,128),g&&(a.description=g),a.parameters=h,b.add(a.name),!0}),0===a.tools.length){delete a.tools,delete a.tool_choice;return}if(a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)){let d="string"==typeof a.tool_choice.type?a.tool_choice.type:"";if("function"===d||"custom"===d){let c=a.tool_choice.name??a.tool_choice.function?.name,d="string"==typeof c?c.trim().slice(0,128):"";d&&b.has(d)?a.tool_choice={type:"function",name:d}:delete a.tool_choice}else c.has(d)||delete a.tool_choice}}(b),f.turnIdx=function(a,b,c=null){let d=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 d;if(c&&x.has(c))return x.get(c);let e=Date.now(),f=w.get(a),g=f&&e-f.lastUsed<=l.v1.sessionTtlMs?f.turn:0;f&&w.delete(a);let h=g>0?Math.max(d,g+ +!!c):d;for(;w.size>=5e3;)w.delete(w.keys().next().value);return w.set(a,{turn:h,lastUsed:e}),c&&x.set(c,h),h}(f.sessionId,b.input,b),b.stream=!0,b.store=!1;let n=function(a){if(!a||"string"!=typeof a)return null;for(let b of t)if(a.endsWith(`-${b}`))return b;return null}(b.model||a),o=b.model||a;n&&(o=o.replace(RegExp(`-${n}$`),"")),(o=(0,j.kt)("gcli",o)||o)===(b.model||a)&&(o=(0,j.kt)("grok-cli",o)||o),b.model=o,f.model=o;let p=(0,k.Au)(o);if(b.reasoning&&"object"==typeof b.reasoning?(p?b.reasoning.effort=y(b.reasoning.effort||b.reasoning_effort||n):delete b.reasoning.effort,b.reasoning.summary||(b.reasoning.summary="concise")):(b.reasoning={summary:"concise"},p&&(b.reasoning.effort=y(b.reasoning_effort||n))),delete b.reasoning_effort,b.reasoning&&"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)))s.has(a)||delete b[a];return b}async execute(a){let b={agentId:a.credentials?.providerSpecificData?.deviceId||await (!C&&(C=(async()=>{try{let a=await p("grok-cli-agent");return[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{return e().randomUUID()}})()),C)};return super.execute({...a,hookCtx:b})}}},51349:(a,b,c)=>{c.d(b,{m:()=>e});var d=c(96179);class e extends d.L{constructor(){super("codebuddy-intl")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f=e.reasoning_effort;"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto");let g=Array.isArray(e.messages)?e.messages:[];for(let a of(e.messages=[{role:"system",content:"You are CodeBuddy Code."}],g))!a||"object"!=typeof a||["system","developer"].includes(a.role)||("user"===a.role&&"string"==typeof a.content?e.messages.push({...a,content:[{type:"text",text:a.content}]}):e.messages.push({...a}));return e}parseError(a,b){if(b)try{let a=JSON.parse(b),c=a?.msg||a?.message||a?.error?.message||"";if(a?.code===6004||/超出频率限制|frequency limit|限额/i.test(c)){let a=null,b=c.match(/(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2})(?:\s*UTC\+?([0-9:]+))?/i);if(b){let c=b[1],d=b[2],e=b[3]?b[3].includes(":")?b[3].startsWith("+")?b[3]:`+${b[3]}`:`+${b[3].padStart(2,"0")}:00`:"+08:00",f=new Date(`${c}T${d}${e}`);isNaN(f.getTime())||(a=f.getTime())}return{status:429,message:c||"CodeBuddy frequency limit (6004)",resetsAtMs:a}}}catch{}return super.parseError(a,b)}}},53307:(a,b,c)=>{c.d(b,{sh:()=>u});var d=c(74957);let e="https://uncensored.com",f="https://clerk.uncensored.com",g="5.127.1",h="https://internal.chatuncensored.ai/v2/image-gen",i={"1:1":{imageWidth:"1024",imageHeight:"1024"},"16:9":{imageWidth:"1024",imageHeight:"576"},"9:16":{imageWidth:"576",imageHeight:"1024"},"4:3":{imageWidth:"1024",imageHeight:"768"},"3:4":{imageWidth:"768",imageHeight:"1024"},"3:2":{imageWidth:"1152",imageHeight:"768"},"2:3":{imageWidth:"768",imageHeight:"1152"},"4:5":{imageWidth:"896",imageHeight:"1120"},"5:4":{imageWidth:"1120",imageHeight:"896"},"21:9":{imageWidth:"1344",imageHeight:"576"}},j={"seedream-v4.5":{name:"Seedream v4.5",aspects:["1:1","16:9","9:16","4:3","3:4"]},"seedream-v5":{name:"Seedream v5",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"seedream-v5-flash":{name:"Seedream v5 Flash",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3","4:5","5:4","21:9"],resolutions:["1k","1.5k","2k"]},"nano-banana-pro-ultra":{name:"Nano Banana Pro Ultra",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["4k","8k"]},"nano-banana-pro":{name:"Nano Banana Pro",aspects:["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["1k","2k","4k"]},"nano-banana":{name:"Nano Banana",aspects:["1:1","9:16","16:9","3:4","4:3","3:2","2:3","5:4","4:5","21:9"]},"nano-banana-2":{name:"Nano Banana 2",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["1k","2k","4k"]},"gpt-image":{name:"GPT Image 1.5",aspects:["1:1","2:3","3:2"],qualities:["medium","high"]},"gpt-image-2":{name:"GPT Image 2",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},"gpt-image-2.5-flare":{name:"GPT Image 2.5 Flare",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9","2:1","1:2","3:1","1:3","9:21"]},"gpt-image-2.5-sunburst":{name:"GPT Image 2.5 Sunburst",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9","2:1","1:2","3:1","1:3","9:21"]},"wan-2.6":{name:"Wan 2.6",aspects:["1:1","4:3","3:4","3:2","2:3"]},"wan-2.6-image":{name:"Wan 2.6",upstream:"wan-2.6",aspects:["1:1","4:3","3:4","3:2","2:3"]},"wan-2.7-text-to-image":{name:"Wan 2.7",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"wan-2.7-text-to-image-pro":{name:"Wan 2.7 Pro",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"prefect-pony-xl":{name:"Prefect Pony XL",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"1.0":{name:"Flux.1",aspects:[]},"1.1":{name:"Flux.1.1",aspects:[]},"1.2":{name:"Wan 2.6 (Flux tier)",aspects:[]},"2.0":{name:"Flux.2",aspects:[]},"flux-2-max":{name:"Flux 2 Max",aspects:[]},SDXL:{name:"SDXL uncensored",aspects:[]},realism:{name:"Realism",aspects:[]},"realism-2":{name:"Realism 2",aspects:[]},"z-image-turbo":{name:"Z Image Turbo",aspects:[]}},k={default:{name:"Standard",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},turbo:{name:"Turbo",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.2-uncensored-v2":{name:"Wan Ultra Uncensored v2",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.2-uncensored":{name:"Wan Ultra Uncensored",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.6":{name:"Wan v2.6",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],seconds:[5,8]},"wan-2.6-ultra":{name:"Wan 2.6 Ultra Uncensored",t2v:!0,i2v:!0},"wan-2.7":{name:"Wan 2.7",t2v:!0,i2v:!0},"wan-2.7-pro":{name:"Wan 2.7 Pro",t2v:!0,i2v:!0},"wan-2.7-uncensored":{name:"Wan 2.7 Uncensored",t2v:!0,i2v:!0},"wan-2.7-uncensored-v2":{name:"Wan 2.7 Uncensored v2",t2v:!0,i2v:!0},"wan-3.0":{name:"Wan 3.0",t2v:!0,i2v:!0,audio:!0},"wan-3.0-uncensored":{name:"Wan 3.0 Uncensored",t2v:!0,i2v:!0,audio:!0},"wan-3.0-uncensored-pro":{name:"Wan 3.0 Uncensored Pro",t2v:!0,i2v:!0,audio:!0},"sora-2":{name:"Sora 2",t2v:!0,i2v:!0,seconds:[4,8,12]},"sora-2-pro":{name:"Sora 2 Pro",t2v:!0,i2v:!0,seconds:[4,8,12]},"grok-imagine-video":{name:"Grok Imagine Video",t2v:!0,i2v:!0},"bytedance-seedance-2.0":{name:"Seedance 2.0",t2v:!0,i2v:!0},"seedance-2.0-fast":{name:"Seedance 2.0 Fast",t2v:!0,i2v:!0},"seedance-2.0-uncensored":{name:"Seedance 2.0 Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-fast-uncensored":{name:"Seedance 2.0 Fast Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-mini-uncensored":{name:"Seedance 2.0 Mini Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-mini-turbo":{name:"Seedance 2.0 Mini Turbo Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-v1.5-pro-uncensored":{name:"Seedance v1.5 Pro Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.5-uncensored":{name:"Seedance 2.5 Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.5":{name:"Seedance 2.5",t2v:!0,i2v:!0,audio:!0},"vidu-q3-uncensored":{name:"Vidu Q3 Uncensored",t2v:!0,i2v:!0},"av-gen-v2":{name:"AV-Gen v2 with audio",t2v:!0,i2v:!0,audio:!0},"cosmos-predict":{name:"Cosmos Predict 2.5",t2v:!0,i2v:!0},"minimax-h3":{name:"MiniMax H3",t2v:!0,i2v:!0},"happyhorse-1.0":{name:"Happy Horse 1.0",t2v:!0,i2v:!0},"wan/v2.2-a14b":{name:"Wan v2.2-a14b",t2v:!0,i2v:!0}};function l(a){let b=new Map;for(let c of String(a||"").split(";")){let a=c.indexOf("=");if(a<0)continue;let d=c.slice(0,a).trim();d&&b.set(d,c.slice(a+1).trim())}return b}function m(a){try{let b=a.split(".")[1].replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(Buffer.from(b+"=".repeat((4-b.length%4)%4),"base64").toString("utf8"))}catch{return null}}function n(a){return[...a.entries()].map(([a,b])=>`${a}=${b}`).join("; ")}function o(a,b){for(let c of"function"==typeof a.headers.getSetCookie?a.headers.getSetCookie():[]){let a=String(c).split(";")[0],d=a.indexOf("=");if(d>0&&a.slice(0,d).trim()===b)return a.slice(d+1).trim()}return""}async function p(a,b,c){let d=m(a)?.sid;if("string"==typeof d&&d)return{sid:d,rotatedClient:""};let e=await fetch(`${f}/v1/client?_clerk_js_version=${g}`,{headers:b,signal:c});if(!e.ok)return{sid:"",rotatedClient:""};let h=o(e,"__client"),i=await e.json().catch(()=>null),j=i?.response??i?.client??i,k=Array.isArray(j?.sessions)?j.sessions:[],l=k.find(a=>a?.status==="active")??k[0];return{sid:"string"==typeof l?.id?l.id:"",rotatedClient:h}}async function q(a,b){let c=l(a),d=c.get("__client");if(!d)throw Object.assign(Error("UC credential missing the __client cookie — paste the full uncensored.com Cookie header from a logged-in session"),{status:401});let h={Cookie:n(c),Origin:e,Referer:`${e}/`,Accept:"application/json"},i=await p(d,h,b),j=i.sid;if(!j)throw Object.assign(Error("UC Clerk session not found — the __client cookie has no active session. Log in again via Login via Browser"),{status:401});let k=await fetch(`${f}/v1/client/sessions/${encodeURIComponent(j)}/tokens?_clerk_js_version=${g}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Origin:e,Referer:`${e}/`,Cookie:n(c)},body:"",signal:b});if(!k.ok){let a=(await k.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC Clerk token mint failed (HTTP ${k.status}) ${a}`),{status:k.status})}let q=o(k,"__client")||i.rotatedClient,r=await k.json().catch(()=>null),s=r?.jwt;if("string"!=typeof s||!s)throw Object.assign(Error("UC Clerk token mint returned no jwt"),{status:502});let t=m(s)?.uid;return{jwt:s,uid:"string"==typeof t?t:"",rotatedClient:q}}async function r(a,{signal:b,log:c,intervalMs:d=5e3,timeoutMs:f=3e5}){let g=Date.now()+f;for(;Date.now()<g;){if(b?.aborted)throw Error("aborted");await new Promise(a=>setTimeout(a,d));let f=0;try{f=(await fetch(a,{method:"HEAD",headers:{Referer:`${e}/`},signal:b})).status}catch{f=0}if(200===f)return;f>=400&&f<500&&429!==f&&c?.warn?.("UC-WEB",`result poll got HTTP ${f} — continuing until timeout`)}throw Error("UC result did not become available in time")}async function s(a,{signal:b}){let c=await fetch(a,{headers:{Referer:`${e}/`},signal:b});if(!c.ok)throw Error(`UC result download failed (HTTP ${c.status})`);return{b64:Buffer.from(await c.arrayBuffer()).toString("base64"),mime:(c.headers.get("content-type")||"").split(";")[0]||"application/octet-stream"}}async function t(a,b,c){let d=/^data:[^;]*;base64,(.*)$/.exec(String(a));if(d)return Buffer.from(d[1],"base64");if(/^https?:\/\//i.test(String(a))){let c=await fetch(a,{signal:b,headers:{Accept:"image/*","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"}});if(!c.ok)throw Error(`input image download failed (HTTP ${c.status})`);return Buffer.from(await c.arrayBuffer())}try{return Buffer.from(String(a),"base64")}catch{return c?.error?.("UC-WEB","could not decode input image"),null}}class u extends d.H{constructor(){super("uc-web",{id:"uc-web",baseUrl:"https://internal.chatuncensored.ai"})}async execute(){return{response:new Response(JSON.stringify({error:{message:"uc-web is a media provider — use /v1/images/generations or /v1/videos/generations",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:{}}}async generateMedia({prompt:a,kind:b="image",size:c,model:d,duration:f,resolution:g,images:m,credentials:o,signal:p,log:u}){if("image"!==b&&"video"!==b)throw Error("uc-web supports image and video generation only");if(!a?.trim())throw Error("prompt is required");let v=String(o?.apiKey||""),{jwt:w,uid:x,rotatedClient:y}=await q(v,p),z=function(a,b){if(!b)return"";let c=l(a);return c.get("__client")===b?"":(c.set("__client",b),n(c))}(v,y);z&&o&&(o.apiKey=z);let A={Authorization:`Bearer ${w}`,Origin:e,Referer:`${e}/`,"Content-Type":"application/json"};if("image"===b){let b=d||"seedream-v4.5";if(!j[b])throw Object.assign(Error(`Unknown UC image model "${b}" — see the provider's model list`),{status:400});let e=j[b],f={prompt:a,mode:"dev",model_version:e.upstream||b,m_n_user:!0,moderationMode:"SUPER_LIGHT",country:"US",vdiscount:!1,...function(a,b){let c=String(a||"").trim(),d=Array.isArray(b)&&b.length?b:null,e=i[c]&&(!d||d.includes(c))?{aspect_ratio:c,...i[c]}:null;if(e)return e;if(c.includes("x")){let[a,b]=c.split("x").map(Number);if(Number.isFinite(a)&&Number.isFinite(b)&&a>0&&b>0){let c=null,e=1/0;for(let[f,g]of Object.entries(i)){if(d&&!d.includes(f))continue;let h=Math.abs(Number(g.imageWidth)/Number(g.imageHeight)-a/b);h<e&&(e=h,c=f)}if(c)return{aspect_ratio:c,...i[c]}}}let f=d?.[0]||"1:1";return{aspect_ratio:f,...i[f]}}(c,e.aspects)};if(e.resolutions?.length){let a=String(g||"").toLowerCase();f.resolution=e.resolutions.includes(a)?a:e.resolutions[0]}let k=await fetch(h,{method:"POST",headers:A,body:JSON.stringify(f),signal:p});if(!k.ok){let a=(await k.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC image request failed (HTTP ${k.status}) ${a}`),{status:k.status})}let l=await k.json().catch(()=>null),m="string"==typeof l?.url?l.url:"";if(!m)throw Error("UC image response carried no result url");return await r(m,{signal:p,log:u}),[await s(m,{signal:p})]}let B=d||"default";if(!k[B])throw Object.assign(Error(`Unknown UC video model "${B}" — see the provider's model list`),{status:400});let C=k[B],D=Array.isArray(m)?m[0]:m;if(D&&!1===C.i2v)throw Error(`UC video model "${B}" does not accept an input image`);if(!D&&!1===C.t2v)throw Error(`UC video model "${B}" requires an input image`);let E=Number(f)>0?Number(f):C.seconds?.[0]??5,F=C.resolutions?.length?C.resolutions.includes(String(g||""))?String(g):C.resolutions[0]:"480p",G={prompt:a,media_blob_name:null,num_frames:Math.round(16*E)+1,frames_per_second:16,num_inference_steps:30,guide_scale:5,shift:5,aspect_ratio:C.aspects?.includes("auto")?"auto":"9:16",pro_mode:"wan-3.0-uncensored-pro"===B,turbo:"turbo"===B,resolution:F,sora_resolution:F,end_frame_blob_name:null,model:B,seconds:E,video_to_video_duration:E,vdiscount:!1};if(D){if(!x)throw Object.assign(Error("Could not derive the account uid — re-paste the full Cookie header"),{status:401});let a=await t(D,p,u);if(!a)throw Error("UC image-to-video could not decode the input image");let b=await fetch("https://internal-6.pubyar.com/generate-signed-url",{method:"POST",headers:A,body:JSON.stringify({content_type:"image/png",user_identifier:x}),signal:p});if(!b.ok){let a=(await b.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC signed-url request failed (HTTP ${b.status}) ${a}`),{status:b.status})}let c=await b.json().catch(()=>null);if(!c?.signed_url||!c?.blob_name)throw Error("UC signed-url response missing signed_url or blob_name");let d=await fetch(c.signed_url,{method:"PUT",headers:{"Content-Type":"image/png"},body:new Uint8Array(a),signal:p});if(!d.ok)throw Object.assign(Error(`UC input-image upload failed (HTTP ${d.status})`),{status:d.status});G.media_blob_name=c.blob_name}let H=await fetch("https://internal.chatuncensored.ai/image_to_video",{method:"POST",headers:A,body:JSON.stringify(G),signal:p});if(!H.ok){let a=(await H.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC video request failed (HTTP ${H.status}) ${a}`),{status:H.status})}let I=await H.json().catch(()=>null),J="string"==typeof I?.url?I.url:"";if(!J)throw Error("UC video response carried no result url");let K=Number.isFinite(Number(I?.timeout_seconds))&&Number(I.timeout_seconds)>0?1e3*Number(I.timeout_seconds):3e5;return await r(J,{signal:p,log:u,timeoutMs:K}),[await s(J,{signal:p})]}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$R:()=>U,getExecutor:()=>T});var e=c(39536),f=c(98625),g=c(19696),h=c(95128),i=c(11655),j=c(61433),k=c(77333),l=c(76467),m=c(32447),n=c(19932),o=c(19946),p=c(73870),q=c(63094),r=c(13120),s=c(17373),t=c(77919),u=c(49227),v=c(23013),w=c(59192),x=c(20690),y=c(88331),z=c(53307),A=c(48868),B=c(9708),C=c(90926),D=c(26878),E=c(36732),F=c(49059),G=c(51349),H=c(85308),I=c(27617),J=c(71880),K=c(98665),L=c(93509),M=c(96179),N=c(83243),O=c(95089),P=c(74161),Q=c(945),R=c(32339);c(74957);var S=a([o]);o=(S.then?(await S)():S)[0];let V={antigravity:new e.c,azure:new f.P,"gemini-cli":new h.V,github:new i.x,iflow:new j.r,qoder:new k.DH,"qoder-cn":new k.DH("qoder-cn"),kiro:new l.B,kimchi:new m.BL,codex:new n.T,cursor:new o.ou,cu:new o.ou,vertex:new p.w("vertex"),"vertex-partner":new p.w("vertex-partner"),opencode:new q.j9,"opencode-go":new r.H,"opencode-zen":new s.mO,"grok-web":new t.$,"grok-cli":new u.hG,gcli:new u.hG,gb:new u.hG,"perplexity-web":new v.Ay,"deepseek-web":new w.id,"muse-web":new x._5,"veoaifree-web":new y.Q,"veo-free":new y.Q,"uc-web":new z.sh,"chatgpt-web":new A.RF,"ollama-local":new B.D,commandcode:new C.Ak,"xiaomi-tokenplan":new D.F,"xiaomi-mimo":new E.Rb,codearts:new I.Ay,deveco:new J.y,"codebuddy-cn":new F.v,"codebuddy-intl":new G.m,trae:new H.A,"trae-enterprise":new H.A("trae-enterprise"),zed:new K.A,windsurf:new L.Ay,"minimax-code":new N.M("minimax-code"),"minimax-code-global":new N.M("minimax-code-global"),"devin-cli":new O.c,zcode:new P.B,miaoshou:new Q.f$,ms:new Q.f$,joyagent:new R.j,ja:new R.j,bedrock:new g.UD,br:new g.UD,"bedrock-xai":new g.UD("bedrock-xai"),brx:new g.UD("bedrock-xai")},W=new Map;function T(a){return V[a]?V[a]:(W.has(a)||W.set(a,new M.L(a)),W.get(a))}function U(a){return!!V[a]}d()}catch(a){d(a)}})},59192:(a,b,c)=>{c.d(b,{id:()=>aq});var d=c(74957),e=c(78959),f=c(92536),g=c(73024),h=c(76760),i=c.n(h),j=c(75919);new Uint32Array(10);let k=[],l=[],m=new Uint32Array(24),n=new Uint32Array(24);{let a=1n,b=1,c=0;for(let d=0;d<24;d++){let e=c,f=(2*b+3*c)%5;b=e,c=f,k.push(2*(5*c+b)),l.push((d+1)*(d+2)/2%64);let g=0n;for(let b=0;b<7;b++)2n&(a=(a<<1n^(a>>7n)*113n)%256n)&&(g^=1n<<(1n<<BigInt(b))-1n);m[d]=Number(4294967295n&g),n[d]=Number(g>>32n&4294967295n)}}let o=/^[a-f0-9]{64}$/i,p=0;function q(){let a=Error("DeepSeek PoW computation aborted");return a.name="AbortError",a}async function r(a,b,c,d,e,f={}){return function(a,b={}){let{signal:c}=b;if(c?.aborted)return Promise.reject(q());if(p>=2)return Promise.reject(Error("DeepSeek PoW worker capacity reached (2)"));let d=function(a){if(void 0===a)return 1e4;if(!Number.isSafeInteger(a)||a<1||a>3e4)throw Error("DeepSeek PoW timeout must be an integer from 1 to 30000ms");return a}(b.timeoutMs);return p+=1,new Promise((b,e)=>{let f;try{f=new j.Worker(function(){let a=i().join(process.cwd(),"open-sse/lib/deepseek-pow-worker.mjs");if(!(0,g.existsSync)(a))throw Error(`DeepSeek PoW worker script not found at ${a}`);return a}(),{workerData:a})}catch(a){p=Math.max(0,p-1),e(a instanceof Error?a:Error(String(a)));return}let h=!1,k=(a,b)=>{h||(h=!0,clearTimeout(m),c?.removeEventListener("abort",l),p=Math.max(0,p-1),b&&f.terminate(),a())},l=()=>{k(()=>e(q()),!0)},m=setTimeout(()=>{k(()=>e(Error(`DeepSeek PoW computation exceeded ${d}ms`)),!0)},d);c?.addEventListener("abort",l,{once:!0}),f.once("message",a=>{!Number.isSafeInteger(a)||a<-1?k(()=>e(Error("DeepSeek PoW worker returned an invalid answer")),!0):k(()=>b(a),!1)}),f.once("error",a=>{k(()=>e(a),!0)}),f.once("exit",a=>{0!==a?k(()=>e(Error(`DeepSeek PoW worker exited with code ${a}`)),!1):k(()=>e(Error("DeepSeek PoW worker exited without an answer")),!1)})})}(function(a,b,c,d,e){if("DeepSeekHashV1"!==a)throw Error(`Unsupported DeepSeek PoW algorithm: ${a}`);if(!o.test(b))throw Error("DeepSeek PoW challenge must be a 64-character SHA3-256 hex digest");if("string"!=typeof c||0===c.length||c.length>1024)throw Error("DeepSeek PoW salt must contain 1-1024 characters");if(!Number.isSafeInteger(d)||d<1||d>25e4)throw Error("DeepSeek PoW difficulty must be an integer from 1 to 250000");if(!Number.isSafeInteger(e)||e<0)throw Error("DeepSeek PoW expiry must be a non-negative safe integer");return{challenge:b.toLowerCase(),prefix:`${c}_${e}_`,difficulty:d}}(a,b,c,d,e),f)}var s=c(39609),t=c(14229),u=c(70452);let v=new((c.n(u))())({strict:!1,allErrors:!1,validateFormats:!1}),w=new WeakMap;function x(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function y(a,b,c){let d=Array.isArray(a)?a.find(a=>a?.function?.name===b)??null:null;if(!d)return!1;let e=d.function?.parameters;if(void 0===e)return!0;if(("object"!=typeof e||null===e)&&"boolean"!=typeof e)return!1;let f=w.get(a);f||(f=new Map,w.set(a,f));let g=f.get(b);if(void 0===g){try{g=v.compile(e)}catch{g=null}f.set(b,g)}return!!g&&!0===g(c)}function z(a,b,c){if(!b.toolCalls)return b;let d=(0,t.OA)(c),e=[];for(let f of b.toolCalls){let b=(0,t.n)(f.function.arguments);if(!b)return{content:a,toolCalls:null};let g=b._nonce;if(void 0!==g&&g!==d)return{content:a,toolCalls:null};let{_nonce:h,...i}=b;if(!y(c,f.function.name,i))return{content:a,toolCalls:null};e.push({...f,function:{...f.function,arguments:JSON.stringify(i)}})}return{content:b.content,toolCalls:e}}function A(a){return"string"==typeof a&&!!a.trim()&&(!!/<\/?(?:|||\|\|?)DSML(?:|||\|\|?)\s*(?:calls|invoke|parameter)\b/i.test(a)||/<\/?(?:tool|tool_call)(?::|\s|>)/i.test(a))}function B(a){return Array.isArray(a)?a.filter(a=>a?.type==="text").map(a=>a?.text??"").join("\n"):null==a?"":String(a)}let C=/<(\/?)(?:tool_call|tool)(:[A-Za-z0-9_.+-]+)?((?:\s[^>]*)?)\/?>/g;function D(a,b){let c=RegExp(`\\b${b}\\s*=\\s*("|')`).exec(a);if(!c)return null;let d=c[1],e=c.index+c[0].length,f="";for(;e<a.length;){let b=a[e];if("\\"===b){f+=a[e+1]??"",e+=2;continue}if(b===d)break;f+=b,e+=1}return f}function E(a,b){let c=RegExp(`<${b}\\b[^>]*>([\\s\\S]*?)<\\/${b}>`,"i").exec(a);return c?c[1].trim():null}let F=/<parameter\b([^>]*?)\/?>(?:((?:(?!<parameter\b)[\s\S])*?)<\/parameter>)?/gi;function G(a){return"string"==typeof a&&a.length>0?a:null}let H="[||]",I=`${H}{2}DSML${H}{2}`,J=RegExp(`</?${I}\\s*(?:calls|invoke|parameter)\\b[^>]*>|<${I}\\s*/\\s*(?:calls|invoke|parameter)\\s*>`,"gi");function K(a,b,c){let d=[],e=RegExp(`(?:</?${I}\\s*${b}\\b([^>]*)>|<${I}\\s*/\\s*${b}\\s*>)`,"gi"),f=null;for(;null!==(f=e.exec(a));)d.push({start:c+f.index,end:c+e.lastIndex,attrs:f[1]??""});return d}function L(a,b,c,d,e){let f=D(a.attrs,"name");if(!f)return null;let g=b?b.start:d,h=K(c.slice(a.end,g),"parameter",a.end),i={},j=a.end;for(let a=0;a<h.length;a+=1){let b=h[a],d=D(b.attrs,"name");if(!d)continue;let e=h[a+1],f=c.slice(b.end,e?e.start:g).trim();i[d]=""!==f?f:D(b.attrs,"content")??"",j=e?e.end:g}if(!Object.values(i).some(a=>""!==a))return null;let k=(0,t.Ub)(f,e)??f;return{start:a.start,end:b?b.end:j,name:k,args:i}}let M=/<[||]{1,2}DSML[||]{1,2}\s+(calls|invoke|parameter)([^>]*)>/gi,N=/<\/[||]{1,2}DSML[||]{1,2}\s+(calls|invoke|parameter)\s*>/gi,O=/<(?:(?:\|DSML\|)|(?:||DSML||))invoke\b([^>]*)>([\s\S]*?)<\/(?:(?:\|DSML\|)|(?:||DSML||))invoke\s*>/gi,P=/<(?:(?:\|DSML\|)|(?:||DSML||))parameter\b([^>]*)>([\s\S]*?)(?:<\/(?:(?:\|DSML\|)|(?:||DSML||))parameter\s*>|<(?:(?:\|DSML\|)|(?:||DSML||))parameter\s*>)/gi,Q=/<(?:(?:\|DSML\|)|(?:||DSML||))(?:calls|call|invoke|parameter)\b[^>]*>[^]*?<\/(?:(?:\|DSML\|)|(?:||DSML||))(?:calls|call|invoke|parameter)\s*>/i,R=/(?:<\|tool_call_begin\|>|<|tool▁call▁begin|>)[\s\n]*([^<\s]+)[\s\n]*(?:<\|tool_call_argument_begin\|>|<|tool▁call▁argument▁begin|>)([\s\S]*?)(?:<\|tool_call_argument_end\|>|<|tool▁call▁argument▁end|>)[\s\n]*(?:<\|tool_call_end\|>|<|tool▁call▁end|>)/g;function S(a){try{return JSON.parse(a)}catch{return null}}function T(a,b,c){let d=Array.isArray(c)?c.find(a=>a?.function?.name===b):void 0,e=d?.function?.parameters?.properties;if(!e||"object"!=typeof e)return a;for(let[b,c]of Object.entries(a))e[b]?.type==="string"&&"string"!=typeof c&&(a[b]=JSON.stringify(c));return a}function U(a,b="call",c){var d,e,f;if("string"!=typeof a||0===a.length)return{content:a??"",toolCalls:null};a=a.replace(/\s*This response is AI-generated, for reference only\.\s*$/i,"");let g=(0,t.x2)(c),h=(d=a,RegExp(`</?${I}\\s*(?:calls|invoke|parameter)\\b`,"i").test(d))?function(a,b){let c=[],d=[],e=RegExp(`<${I}\\s*calls\\s*>([\\s\\S]*?)(?:</${I}\\s*calls\\s*>|<${I}\\s*/\\s*calls\\s*>)`,"gi"),f=RegExp(`(?:</${I}\\s*calls\\s*>|<${I}\\s*/\\s*calls\\s*>)\\s*$`,"i"),g=[],h=null;for(;null!==(h=e.exec(a));){let i={start:h.index,end:e.lastIndex};g.push(i);let j=h[1],k=h.index+h[0].indexOf(j),l=f.exec(h[0]);d.push({start:h.index,end:k}),d.push({start:h.index+(l?l.index:h[0].length),end:h.index+h[0].length});let m=K(j,"invoke",k);for(let d=0;d<m.length;d+=1){if(!D(m[d].attrs,"name"))continue;let e=L(m[d],m[d+1],a,k+j.length,b);e&&c.push(e),m[d+1]&&(d+=1)}}let i=K(a,"invoke",0).filter(a=>!g.some(b=>a.start>=b.start&&a.end<=b.end));for(let d=0;d<i.length;d+=1){if(!D(i[d].attrs,"name"))continue;let e=L(i[d],i[d+1],a,a.length,b);e&&c.push(e),i[d+1]&&(d+=1)}return{calls:c.sort((a,b)=>a.start-b.start),strip:d}}(a,g):null,i=h&&h.calls.length>0?h:null;if(!i){let d=/<tool\b|<tool:/.test(a),g=a=>(a.toolCalls?.length??0)>0||!d,h=function(a,b,c){if(!/<(?:(?:||DSML||)|(?:\|DSML\|))/.test(a))return{content:a,toolCalls:null,recognized:!1};let d=(0,t.x2)(c),e=(0,t.OA)(c),f=[],g=[],h=/<(?<dsml>||DSML|||\|DSML\|)\s*invoke\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/\k<dsml>\s*invoke\s*>/g,i=null,j=!1,k=!1;for(;null!==(i=h.exec(a));){let a;j=!0;let l=(0,t.Ub)(i[2],d);if(!e||!l){k=!0;continue}let m=function(a){let b={},c=/<(?:||DSML|||\|DSML\|)\s*parameter\s+name=["']([^"']+)["'][^>]*>([\s\S]*?)(?:<\/?(?:||DSML|||\|DSML\|)\s*parameter\s*>|(?=<(?:||DSML|||\|DSML\|)\s*parameter\s+name=|<\/(?:||DSML|||\|DSML\|)\s*invoke\s*>))/g,d=null;for(;null!==(d=c.exec(a));){let a=d[2].trim();b[d[1]]=S(a)??a}if(Object.keys(b).length>0)return b;let e=S(a.trim()||"{}");return e&&"object"==typeof e&&!Array.isArray(e)&&Object.assign(b,e),b}(i[3]),n=x(m.arguments);if((m._nonce??n?._nonce)!==e){k=!0;continue}if(n){let{_nonce:b,...c}=n;a=c}else{let{_nonce:b,name:c,...d}=m;a=d}if(!y(c,l,a)){k=!0;continue}f.push({id:`${b}_${f.length}`,type:"function",function:{name:l,arguments:JSON.stringify(a)}}),g.push({start:i.index,end:h.lastIndex})}if(k||0===f.length)return{content:a,toolCalls:null,recognized:j};let l=/<\/?(?:||DSML|||\|DSML\|)\s*calls\s*>/g,m=null;for(;null!==(m=l.exec(a));)g.push({start:m.index,end:l.lastIndex});return{content:(0,t.LW)(a,g),toolCalls:f,recognized:!0}}(a,b,c);if(h.recognized&&g(h))return z(a,h,c);let i=function(a,b,c){let d=(0,t.x2)(c),e=[],f=[];R.lastIndex=0;let g=null;for(;null!==(g=R.exec(a));){let a=(0,t.Ub)(g[1],d),h=S(g[2].trim());if(!a||!h||"object"!=typeof h||Array.isArray(h))continue;let i=T(h,a,c);e.push({id:`${b}_${e.length}`,type:"function",function:{name:a,arguments:JSON.stringify(i)}}),f.push({start:g.index,end:g.index+g[0].length})}!function(a,b,c,d,e,f){O.lastIndex=0;let g=null;for(;null!==(g=O.exec(a));){let a=D(g[1]||"","name"),h=a?(0,t.Ub)(a,c):null;if(!h)continue;let{args:i,found:j}=function(a){let b={},c=!1;P.lastIndex=0;let d=null;for(;null!==(d=P.exec(a));){let a=D(d[1]||"","name");if(!a)continue;let e=d[2].trim();b[a]=S(e)??e,c=!0}return{args:b,found:c}}(g[2]);if(!j&&g[2].trim())continue;let k=T(i,h,d);e.push({id:`${b}_${e.length}`,type:"function",function:{name:h,arguments:JSON.stringify(k)}}),f.push({start:g.index,end:g.index+g[0].length})}}(a,b,d,c,e,f),e.length>0&&function(a,b){let c=/<(?:(?:\|DSML\|)|(?:||DSML||))calls\s*>[\s\S]*?<\/(?:(?:\|DSML\|)|(?:||DSML||))calls\s*>/gi,d=null;for(;null!==(d=c.exec(a));){let a=d.index,c=a+d[0].length;b.some(b=>b.start>=a&&b.end<=c)&&b.push({start:a,end:c})}}(a,f);let h=Q.test(a)||/<(?:(?:\|tool_call_)|(?:|tool▁call▁))/.test(a);return 0===e.length?{content:a,toolCalls:null,recognized:h}:{content:(0,t.LW)(a,f),toolCalls:e,recognized:h}}(a,b,c);if(i.recognized&&g(i))return z(a,i,c);e=(f=e=a).includes("DSML")?f.replace(M,(a,b,c)=>{let d=b.toLowerCase();if("calls"===d)return"";let e=D(c,"name"),f=null!==e?` name="${e}"`:"";return"invoke"===d?`<tool${f}>`:`<parameter${f}>`}).replace(N,(a,b)=>{let c=b.toLowerCase();return"calls"===c?"":"invoke"===c?"</tool>":"</parameter>"}):f,(/[||]{1,2}DSML[||]{1,2}/i.test(e)||/<parameter\b/i.test(e)||/<\/(?:parameter|invoke|arguments|calls|tool_calls|function_calls)>/i.test(e)||e.includes("This response is AI-generated, for reference only."))&&(e=(e=e.replace(/\s*This response is AI-generated, for reference only\.\s*$/i,"")).replace(/<\/?(?:[||]{1,2})DSML(?:[||]{1,2})\s*(?:calls|tool_calls|function_calls)>/gi,"").replace(/<(\/?)(?:(?:[||]{1,2})DSML(?:[||]{1,2})\s*)?invoke\b/gi,"<$1tool").replace(/<(\/?)(?:(?:[||]{1,2})DSML(?:[||]{1,2})\s*)?parameter\b/gi,"<$1parameter").replace(/(}\s*)<\/(?:parameter|invoke|calls|tool_calls|function_calls)>/gi,"$1"),/<parameter\b/i.test(e)&&!/<tool\b/i.test(e)&&(e=e.replace(/((?:<parameter\b[\s\S]*?<\/parameter>\s*)+)/gi,"<tool>$1</tool>"))),a=e}let j=function(a){let b=[],c=null;for(C.lastIndex=0;null!==(c=C.exec(a));)b.push({start:c.index,end:C.lastIndex,closing:"/"===c[1],suffix:c[2]?c[2].slice(1):"",attrs:c[3]||""});return b}(a);if(0===j.length&&!i)return z(a,(0,t.uQ)(a,b,c),c);let k=function(a){let b=new Map;if(!Array.isArray(a))return b;for(let c of a){let a=c?.function;if(!a?.name)continue;let d=a.parameters,e=d?.properties;e&&"object"==typeof e&&!Array.isArray(e)?b.set(a.name,new Set(Object.keys(e))):b.set(a.name,new Set)}return b}(c),l=function(a,b){let c=[],d=[];for(let b of a){if(!b.closing){d.push(b);continue}let a=d.pop();a&&c.push({open:a,close:b,innerStart:a.end,innerEnd:b.start})}for(let a of d){let d={start:b,end:b,closing:!0,suffix:"",attrs:""};c.push({open:a,close:d,innerStart:a.end,innerEnd:b})}return c}(j,a.length),m=[],n=(0,t.OA)(c);for(let b of l.filter(a=>!l.some(b=>b!==a&&b.open.start>=a.innerStart&&b.close.end<=a.innerEnd)).sort((a,b)=>a.open.start-b.open.start)){let c=b.open.suffix||D(b.open.attrs,"name")||D(b.open.attrs,"id")||"",d=a.slice(b.innerStart,b.innerEnd).replace(J,""),e=function(a,b,c,d){let e,f=b.trim(),g=E(f,"name"),h=E(f,"arguments")??E(f,"parameters"),i=h?null:function(a){let b={},c=!1,d=null;for(F.lastIndex=0;null!==(d=F.exec(a));){let a=d[1]||"",e=d[2],f=D(a,"name");if(!f)continue;let g=D(a,"content")??("string"==typeof e?e.trim():"");b[f]=g,c=!0}return c?b:null}(f),j=!!g||!!h||!!i,k=j?null:(0,t.n)(f);if(!k&&!j){let a=function(a){let b=a.indexOf("{");if(-1===b)return null;let c=0,d="",e=!1;for(let f=b;f<a.length;f+=1){let g=a[f];if(e){e=!1;continue}if(d){"\\"===g?e=!0:g===d&&(d="");continue}if('"'===g||"'"===g){d=g;continue}if("{"===g){c+=1;continue}if("}"===g&&0==(c-=1))return a.slice(b,f+1)}return null}(f);a&&(k=(0,t.n)(a))}let l=k?G(k.name)??G(k.type):null,m=g?(0,t.Ub)(g,c):null,n=l?(0,t.Ub)(l,c):null,o=a?(0,t.Ub)(a,c):null,p=null,q=!1,r=(a,b)=>{!p&&a&&(p=a,q=b)};if(r(m,!1),r(n,!1),r(o,!0),r(g,!1),r(l,!1),r(a,!0),!p&&!a&&k){let a=G(k.command),b=a?(0,t.Ub)(a,c):null;b&&(p=b,q=!1)}if(!p&&i&&d&&d.size>0){let a=Object.keys(i);if(a.length>0){let b=[];for(let[c,e]of d)e.size>0&&a.every(a=>e.has(a))&&b.push(c);1===b.length&&(p=b[0],q=!1)}}if(!p)return null;if(h)e=(0,t.n)(h)??h;else if(i)e=i;else if(k)if(void 0!==k.arguments)e=k.arguments;else if(void 0!==k.params)e=k.params;else if(q)e=k;else{let{name:a,type:b,id:c,command:d,arguments:f,params:g,...h}=k;e=h}else e={};return{name:p,arguments:(0,t.r3)(e)}}(c,d,g,k);if(e){if(n){let a=(0,t.n)(d);if(a&&"string"==typeof a.name&&void 0!==a._nonce&&a._nonce!==n)continue}m.push({start:b.open.start,end:b.close.end,call:e})}}let o=[];if(i)for(let a of(o=i.strip,i.calls))m.push({start:a.start,end:a.end,call:{name:a.name,arguments:(0,t.r3)(a.args)}});if(0===m.length)return{content:a,toolCalls:null};m.sort((a,b)=>a.start-b.start);let p=[],q=[];for(let a of m)p.push({id:`${b}_${p.length}`,type:"function",function:{name:a.call.name,arguments:a.call.arguments}}),q.push({start:a.start,end:a.end});let r=[...q,...o,...j.filter(a=>!q.some(b=>a.start>=b.start&&a.end<=b.end)).map(a=>({start:a.start,end:a.end}))],s=(0,t.LW)(a,r);return p.length>0&&(s=s.replace(/<parameter\b[^>]*>[\s\S]*?(?:<\/parameter>|$)/gi,"").replace(/<\/?(?:parameter|invoke|tool|calls|tool_calls|function_calls)\b[^>]*>/gi,"").replace(/\n{3,}/g,"\n\n").trim()),function(a,b,c){if(!b.toolCalls)return b;let d=(0,t.OA)(c),e=[];for(let f of b.toolCalls){let b=(0,t.n)(f.function.arguments);if(!b)return{content:a,toolCalls:null};if(!("_nonce"in b)){e.push(f);continue}if(b._nonce!==d)return{content:a,toolCalls:null};let{_nonce:g,...h}=b;if(!y(c,f.function.name,h))return{content:a,toolCalls:null};e.push({...f,function:{...f.function,arguments:JSON.stringify(h)}})}return{content:b.content,toolCalls:e}}(a,{content:s,toolCalls:p},c)}function V(a,{min:b=-Number.MAX_SAFE_INTEGER,max:c=Number.MAX_SAFE_INTEGER}={}){return Number.isSafeInteger(a)&&a>=b&&a<=c}async function W(a){let b=await (0,s.proxyAwareFetch)("https://chat.deepseek.com/api/v0/chat/create_pow_challenge",{method:"POST",headers:{...a.headers,"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`},body:JSON.stringify({target_path:a.targetPath}),signal:a.signal??void 0},a.proxyOptions||null);if(!b.ok)throw Error(`create_pow_challenge HTTP ${b.status}`);let c=await b.json(),d={...c?.data?.biz_data?.challenge??c?.biz_data?.challenge,target_path:a.targetPath};if(!d||"string"!=typeof d.algorithm||"string"!=typeof d.challenge||"string"!=typeof d.salt||"string"!=typeof d.signature||!V(d.difficulty,{min:1})||!V(d.expire_at,{min:0})||"string"!=typeof d.target_path)throw Error("Invalid DeepSeek PoW challenge");return d}var X=c(98915);function Y(a){let b=a.toLowerCase();return b.includes("think")||b.includes("r1")||b.includes("reason")}function Z(a){let b=a.toLowerCase();return b.includes("search")||b.includes("fold")}function $(a,b){let c=a.replace(/^FINISHED\s*/,"").replace(/^(WEB_SEARCH|SEARCHING|SEARCH)\s*/i,"");return Z(b)?b.toLowerCase().includes("search-silent")?c.replace(/\[citation:(\d+)\]/g,""):c.replace(/\[citation:(\d+)\]/g,"[$1]"):c}function _(a,b){return 0===a.length||b.toLowerCase().includes("search-silent")?"":a.filter(a=>a.cite_index).sort((a,b)=>(a.cite_index||0)-(b.cite_index||0)).map(a=>`[${a.cite_index}]: [${a.title}](${a.url})`).join("\n")}let aa="https://chat.deepseek.com",ab=`${aa}/api`,ac=`${ab}/v0/chat/completion`,ad={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Origin:aa,Referer:`${aa}/`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36","X-Client-Bundle-Id":"com.deepseek.chat","X-Client-Locale":"en-US","X-Client-Platform":"web","X-Client-Version":"2.0.0"},ae=new Map,af=new Map;function ag(a){if(a.size>=100){let b=a.keys().next().value;b&&a.delete(b)}}function ah(a){let b=a?.apiKey||a?.accessToken;return"string"!=typeof b||0===b.length?null:(0,X.Xm)(b)}function ai(a,b,c){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c??`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}})}function aj(){let a=Date.now(),b=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"===a?b:3&b|8).toString(16)});return`intercom-HWWAFSESTIME=${a}; HWWAFSESID=${Array.from({length:18},()=>Math.floor(16*Math.random()).toString(16)).join("")}; Hm_lvt_${b()}=${Math.floor(a/1e3)}; _frid=${b()}`}async function ak(a,b){let c=await r(a.algorithm,a.challenge,a.salt,a.difficulty,a.expire_at,{signal:b});if(c<0)throw Error("PoW solver failed");return Buffer.from(JSON.stringify({algorithm:a.algorithm,challenge:a.challenge,salt:a.salt,answer:c,signature:a.signature,target_path:a.target_path})).toString("base64")}async function al(a,b){let c=new TextDecoder,d=a.getReader(),e="",f="",g="",h="",i=!1,j=b||"deepseek-web",k=Y(j),l=[],m=a=>{let b=$(a,j);if(!b)return;let c=h;!c&&k?c="thinking":!c&&Z(j)&&(c="content"),"thinking"===c?g+=b:f+=b},n=(a,b=!1)=>{let c;if(b&&("THINK"===(c=String(a?.type||"").toUpperCase())?h="thinking":("ANSWER"===c||"RESPONSE"===c)&&(h="content")),"string"==typeof a?.content&&0!==a.content.length){if(!b){let b=String(a?.type||"").toUpperCase();"THINK"===b?h="thinking":("ANSWER"===b||"RESPONSE"===b)&&(h="content")}m(a.content)}};for(;;){let{done:a,value:b}=await d.read();if(a)break;let f=(e+=c.decode(b,{stream:!0})).split("\n");for(let a of(e=f.pop()||"",f)){if(!a.startsWith("data: ")&&!a.startsWith("data:"))continue;let b=a.replace(/^data:\s*/,"").trim();try{let a=JSON.parse(b),c=a?.p,d=a?.v;if("response/status"===c&&"FINISHED"===d&&(i=!0),d&&"object"==typeof d&&d.response&&(!0===d.response.thinking_enabled?h="thinking":!1===d.response.thinking_enabled&&(h="content"),Array.isArray(d.response.fragments)))for(let a of d.response.fragments)n(a,!1);if("response/fragments"===c)if(Array.isArray(d))for(let a of d)n(a,!0);else d&&"object"==typeof d&&n(d,!0);if("response"===c&&Array.isArray(d))for(let a of d)a?.p==="response"&&a?.v?.thinking_enabled===!0&&(h="thinking");if("response/search_status"===c)continue;if("response/search_results"===c&&Array.isArray(d)){if(a?.o!=="BATCH")l.length=0,l.push(...d);else for(let a of d){let b=String(a?.p||"").match(/^(\d+)\/cite_index$/);if(b){let c=parseInt(b[1],10);l[c]&&(l[c].cite_index=a.v)}}continue}if("string"==typeof d)m(d);else if(Array.isArray(d)&&"response"===c){for(let a of d)if(Array.isArray(a?.v)){let b=a.v.map(a=>a?.content||"").join("");b&&m(b)}}}catch{}}}let o=_(l,j);if(o&&(f+=`
244
+ Respond with ONLY <tool> blocks, one per line. No prose, no code fences, no explanation before or after the blocks.`:l);if(!p.trim())throw Object.assign(Error("ChatGPT Web requires non-empty text"),{status:400});let q={...await aW({baseUrl:a,accessToken:b,userAgent:d,signal:g,proxyOptions:i}),Authorization:`Bearer ${b}`,"User-Agent":d,...c?{Cookie:c}:{},"Content-Type":"application/json"},r=await ba(`${a}/backend-api/f/conversation/prepare`,{method:"POST",headers:{...q,Accept:"application/json"},body:JSON.stringify({action:"next",parent_message_id:(0,e.randomUUID)(),model:"auto",client_prepare_state:"success",timezone_offset_min:0,timezone:"UTC",conversation_mode:{kind:"primary_assistant"},partial_query:{id:(0,e.randomUUID)(),author:{role:"user"},content:{content_type:"text",parts:[p]}},supports_buffering:!0,supported_encodings:["v1"],client_contextual_info:{app_name:"chatgpt.com"}})},6e4,g,i);if(!r.ok){let a=(await r.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`ChatGPT prepare failed (HTTP ${r.status}) ${a}`),{status:r.status||502})}let s=await r.json().catch(()=>null),t=await ba(`${a}/backend-api/f/conversation`,{method:"POST",headers:{...q,Accept:"text/event-stream","X-Conduit-Token":s?.conduit_token||"","X-Oai-Turn-Trace-Id":(0,e.randomUUID)()},body:JSON.stringify({action:"next",messages:[{id:(0,e.randomUUID)(),author:{role:"user"},create_time:Date.now()/1e3,content:{content_type:"text",parts:[p]},metadata:{serialization_metadata:{custom_symbol_offsets:[]}}}],parent_message_id:(0,e.randomUUID)(),model:"auto",client_prepare_state:"sent",timezone_offset_min:0,timezone:"UTC",conversation_mode:{kind:"primary_assistant"},enable_message_followups:!0,supports_buffering:!0,supported_encodings:["v1"],client_contextual_info:{app_name:"chatgpt.com"},force_parallel_switch:"auto"})},135e3,g,i);if(!t.ok)throw Object.assign(Error(`ChatGPT conversation failed (HTTP ${t.status})`),{status:t.status||502});if("function"==typeof k)try{k()}catch{}let u="function"==typeof j,v="",w=((u?(await bc(t,{limit:0x1000000,deadlineMs:12e4,signal:g,onText:a=>{v+=a;try{j(a)}catch{}}})).raw:await bb(t,0x1000000,12e4)).match(/"conversation_id"\s*:\s*"([0-9a-f-]{36})"/)||[])[1]||"";if(!w)throw Object.assign(Error("ChatGPT conversation produced no conversation id"),{status:502});try{let e=Date.now();for(;Date.now()-e<=18e4;){if(g?.aborted)throw Error("Request aborted");let e=await ba(`${a}/backend-api/conversation/${w}`,{headers:{Authorization:`Bearer ${b}`,"User-Agent":d,Accept:"application/json",...c?{Cookie:c}:{}}},3e4,g,i).catch(()=>null);if(e?.ok){let a=await e.json().catch(()=>null),b=a?function(a){let b=a?.mapping||{},c="",d=!1,e="",f=!1;for(let a of Object.values(b)){let b=a?.message;if(b&&"assistant"===String(b.author?.role||"").toLowerCase()&&(b.metadata?.is_complete===!0&&(d=!0),b.content?.content_type==="text"&&(c+=(b.content.parts||[]).filter(a=>"string"==typeof a).join("")),b.metadata?.is_error)){f=!0;let a=(b.content?.parts||[]).filter(a=>"string"==typeof a).join("");a&&(e=a)}}return d?{text:c,errorText:e,isError:f}:null}(a):null;if(b){if(!b.text.trim()&&b.isError)throw Object.assign(Error(`ChatGPT refused the turn${b.errorText?`: ${b.errorText.slice(0,200)}`:""}`),{status:400});if(u)if(b.text.startsWith(v)){let a=b.text.slice(v.length);if(a){v+=a;try{j(a)}catch{}}}else b.text!==v&&h?.warn?.("CGPT-WEB","streamed text diverged from the final conversation document");return h&&!o.hasTools&&h.debug?.("CGPT-WEB",`chat turn complete (${b.text.length} chars)`),{text:b.text,hasTools:o.hasTools,requestedTools:o.requestedTools}}}else h&&h.debug?.("CGPT-WEB",`conversation poll status ${e?.status??"network"}, retrying`);await a9(1500)}throw Object.assign(Error("ChatGPT chat turn timed out"),{status:504})}finally{aX({baseUrl:a,accessToken:b,cookie:c,userAgent:d,conversationId:w,proxyOptions:i,log:h})}}var be=c(4052),bf=c(92536),bg=c(78959);let bh="https://chatgpt.com",bi="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36";async function bj({storageState:a,userAgent:b,signal:c,proxyOptions:d=null,timeoutMs:e=aM.pH}){let f,g=a0(a),h=(0,aL.n)(c,e);try{f=await (0,aK.proxyAwareFetch)(`${bh}/api/auth/session`,{headers:{"User-Agent":b,Accept:"application/json",...g?{Cookie:g}:{}},signal:h.signal},d)}catch(a){throw h.settleError(a)}finally{h.clear()}if(!f.ok)throw Object.assign(Error(`ChatGPT session unavailable (HTTP ${f.status})`),{status:403===f.status?401:f.status||502});let i=await f.json().catch(()=>null);if("string"!=typeof i?.accessToken||!i.accessToken)throw Object.assign(Error("ChatGPT session is not signed in"),{status:401});return i.accessToken}function bk(a,b){return new Response(JSON.stringify({error:{message:b}}),{status:a,headers:{"Content-Type":"application/json"}})}class bl extends d.H{constructor(){super("chatgpt-web",{id:"chatgpt-web",baseUrl:bh})}async testConnection(a){try{let b=a?.providerSpecificData?.storageState??a?.apiKey;if("string"!=typeof b||!b.trim())return!1;if(b.trim().startsWith("{"))return JSON.parse(b),!0;return/__Secure-next-auth\.session-token|^[\w-]+\.[\w-]+\.[\w-]+$/.test(b.trim())}catch{return!1}}async execute(a){try{let b=await this.#a(a);if(b)return b;return{response:await aA(a),url:bh,headers:{},transformedBody:a.body}}catch(c){let b=c instanceof Error?c.message:"ChatGPT Web browser execution failed";if((0,be.BE)(b))return{response:bk(503,"ChatGPT Web requires a Chrome/Chromium browser (headed). Install Google Chrome on the host (or set CHATGPT_WEB_CHROME_PATH), and run `npx playwright-core install chromium`."),url:bh,headers:{},transformedBody:a.body};return{response:bk(Number.isInteger(c?.status)&&c.status>=400&&c.status<=599?c.status:/storage state|credentials|connection ID/i.test(b)?401:/(?:\bHTTP[_\s-]*429\b|\bstatus\s+429\b|\brate[-_\s]?limit(?:ed)?\b|\bquota\s+(?:exhausted|reached|exceeded)\b|\b(?:image(?:\s+upload)?|upload|usage)\s+limit\s+(?:reached|exceeded)\b|\breached\s+(?:your\s+)?(?:image(?:\s+upload)?|upload|usage)\s+limit\b)/i.test(b)?429:/request|messages|prompt|model|tools|text content|reasoning effort/i.test(b)?400:502,b),url:bh,headers:{},transformedBody:a.body}}}async #a(a){let b,c,{credentials:d,body:f,model:g,stream:h,proxyOptions:i=null}=a;try{b=av(d)}catch{return null}let j=d?.providerSpecificData,k="string"==typeof j?.customUserAgent&&j.customUserAgent.trim()?j.customUserAgent.trim():bi,l=Array.isArray(f?.tools)&&f.tools.length>0;if(!0===a.stream&&!l){let c=await bj({storageState:b,userAgent:k,signal:a.signal,proxyOptions:i});return this.#b({input:a,accessToken:c,storageState:b,userAgent:k,model:g})}try{let d=await bj({storageState:b,userAgent:k,signal:a.signal,proxyOptions:i});c=await bd({baseUrl:bh,accessToken:d,cookie:a0(b),userAgent:k,body:f,signal:a.signal,log:a.log,proxyOptions:i})}catch(a){if(a?.code==="TURNSTILE_REQUIRED"||/Turnstile/i.test(a?.message||""))return null;throw a}if(!c.hasTools)return{response:az(g,{text:c.text},h),url:bh,headers:{},transformedBody:f};let m=az(g,{text:c.text},!1);return{response:await am(m,c.requestedTools,h,{idSeed:"call",cid:`chatcmpl-${(0,e.randomUUID)()}`,created:Math.floor(Date.now()/1e3),model:g}),url:bh,headers:{},transformedBody:f}}async #b({input:a,accessToken:b,storageState:c,userAgent:d,model:f}){let g,h,{body:i,signal:j,log:k}=a,l=new TextEncoder,m=new AbortController,n=j?AbortSignal.any([j,m.signal]):m.signal,o=`chatcmpl-${(0,e.randomUUID)()}`,p=Math.floor(Date.now()/1e3),q="string"==typeof f&&f.trim()?f.trim():"chatgpt-web",r=!1,s=null,t=!1,u=new ReadableStream({start:a=>{s=a},cancel(){m.abort()}},{highWaterMark:16384}),v=(a,b=null)=>{if(!t)try{s.enqueue(l.encode((0,bf.N)({id:o,object:"chat.completion.chunk",created:p,model:q,system_fingerprint:null,choices:[{index:0,delta:a,finish_reason:b,logprobs:null}]})))}catch{t=!0}},w=new Promise((a,b)=>{g=a,h=b}),x=bd({baseUrl:bh,accessToken:b,cookie:a0(c),userAgent:d,body:i,signal:n,log:k,proxyOptions:a.proxyOptions||null,onReady:()=>g(),onDelta:a=>{r||(r=!0,v({role:"assistant",content:""})),v({content:a})}});x.catch(a=>h(a));try{await w}catch(b){if(b?.code==="TURNSTILE_REQUIRED"||/Turnstile/i.test(b?.message||""))return{response:await aA(a),url:bh,headers:{},transformedBody:i};throw b}return x.then(()=>{if(r||(r=!0,v({role:"assistant",content:""})),v({},"stop"),!t)try{s.enqueue(l.encode(bg.$U)),s.close()}catch{t=!0}}).catch(a=>{if(!t){try{s.error(a)}catch{}t=!0}}),{response:new Response(u,{status:200,headers:{...bg.uB}}),url:bh,headers:{},transformedBody:i}}async generateMedia({prompt:a,n:b=1,size:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){if(!a)throw Error("prompt is required for image generation");let h=av(d),i=d.providerSpecificData,j="string"==typeof i?.customUserAgent&&i.customUserAgent.trim()?i.customUserAgent.trim():bi,k=[];for(let i=0;i<Math.max(1,b);i++)k.push(await this.#c({prompt:a,size:c,storageState:h,userAgent:j,signal:e,log:f,credentials:d,proxyOptions:g}));return k}async #c({prompt:a,size:b,storageState:c,userAgent:d,signal:e,log:f,credentials:g,proxyOptions:h=null}){try{let g=await bj({storageState:c,userAgent:d,signal:e,proxyOptions:h});return await a8({baseUrl:bh,accessToken:g,cookie:a0(c),userAgent:d,prompt:a,sizeHint:b,signal:e,log:f,proxyOptions:h})}catch(a){if(a?.code!=="TURNSTILE_REQUIRED"&&!/Turnstile/i.test(a?.message||""))throw a;f?.warn?.("CGPT-WEB","Sentinel demanded Turnstile — falling back to the browser path")}let i="string"==typeof g?.connectionId&&g.connectionId.trim()?g.connectionId.trim():null;if(!i)throw Error("ChatGPT Web image generation requires a connection ID");let j=g.providerSpecificData,k=await ay({connectionId:i,storageState:c,selection:{kind:"picker",modelLabel:"GPT-5.6 Sol",effortIndex:0},userAgent:d,locale:"string"==typeof j?.locale?j.locale:void 0,timezone:"string"==typeof j?.timezone?j.timezone:void 0,chromeExecutablePath:ax(j?.chromeExecutablePath),proxyOptions:h});try{return await k.start(),await aJ(k.page,{prompt:a,sizeHint:b,signal:e,log:f})}finally{await k.page.close().catch(()=>{})}}}},49059:(a,b,c)=>{c.d(b,{v:()=>h});var d=c(96179),e=c(13664),f=c(15929);let g="codebuddy-cn";class h extends d.L{constructor(){super("codebuddy-cn")}async refreshCredentials(a,b,c=null){return!!a?.refreshToken&&(0,e.SO)(a.refreshToken,b,c)}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let h="You are a helpful AI assistant that helps with software engineering tasks.",i=/you are claude code|claude.?code.+official.+cli|anthropic.+official.+cli|anxthxropic.+official.+cli|you are (?:cursor|windsurf|cline|aider|continue|copilot|cody)|you are an? (?:ai )?(?:coding |code )?agent|cc_entrypoint\s*=\s*(?:cli|vscode|jetbrains|gui)|claude.?code.+issues|give feedback.+claude.?code|you are .{0,30}(?:powerful )?ai agent|orchestration capabilities|OhMyOpenCode|<agent-identity>|<Role>|<Behavior_Instructions>/i;Array.isArray(e.messages)&&(e.messages=e.messages.map(a=>{let b;if(!a||"system"!==a.role)return a;let c="string"==typeof(b=a.content)?b:Array.isArray(b)?b.map(a=>a&&"string"==typeof a.text?a.text:"").join("\n"):"";return c&&(c.length>2e3||i.test(c))?"string"==typeof a.content?{...a,content:h}:{...a,content:[{type:"text",text:h}]}:a}));let j=e.reasoning_effort;return"none"===j||"off"===j?delete e.reasoning_effort:j&&(e.reasoning_summary="auto"),(0,f.ho)(g,a,e),e.tool_choice&&"object"==typeof e.tool_choice&&(e.tool_choice="required"),e}parseError(a,b){if(b)try{let a=JSON.parse(b),c=a?.msg||a?.message||a?.error?.message||"";if((0,f.Zx)(g,a),"11115"===String(a?.code??""))return{status:413,message:c||"CodeBuddy prompt is too long for this model (11115)"};if(a?.code===6004||/超出频率限制|frequency limit|限额/i.test(c)){let a=null,b=c.match(/(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2})(?:\s*UTC\+?([0-9:]+))?/i);if(b){let c=b[1],d=b[2],e=b[3]?b[3].includes(":")?b[3].startsWith("+")?b[3]:`+${b[3]}`:`+${b[3].padStart(2,"0")}:00`:"+08:00",f=new Date(`${c}T${d}${e}`);isNaN(f.getTime())||(a=f.getTime())}return{status:429,message:c||"CodeBuddy frequency limit (6004)",resetsAtMs:a}}}catch{}return super.parseError(a,b)}}},49227:(a,b,c)=>{c.d(b,{hG:()=>D});var d=c(77598),e=c.n(d),f=c(74957),g=c(35024),h=c(93943),i=c(37981),j=c(57247),k=c(90737),l=c(41004),m=c(80662),n=c(19713);let o=null;async function p(a="endpoint-proxy-salt"){let b=function(){if(o)return o;try{o=(0,n.machineIdSync)()}catch{o=e().randomUUID()}return o}();return e().createHash("sha256").update(b+a).digest("hex").substring(0,16)}let q=/^(rs|fc|resp|msg)_/,r=new Set(["web_search","x_search","web_search_preview","file_search","image_generation","code_interpreter","mcp","local_shell"]),s=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"]),t=["low","medium","high","xhigh"],u=/^(?:rs|msg|fc)_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,v={type:"object",properties:{input:{type:"string"}},required:["input"]},w=new Map,x=new WeakMap;function y(a){let b="string"==typeof a?a.trim().toLowerCase():"";return"max"===b?"xhigh":t.includes(b)?b:"high"}function z(a){return"string"==typeof a?a:void 0===a?"":JSON.stringify(a)}function A(a){return"string"==typeof a&&u.test(a)}function B(a){if(!a||"object"!=typeof a||Array.isArray(a))return a;let{internal_chat_message_metadata_passthrough:b,...c}=a;if("reasoning"===a.type)return A(a.id)&&"string"==typeof a.encrypted_content?c:null;if("custom_tool_call"===a.type){let b=a.call_id||a.id,c="string"==typeof a.name?a.name.trim():"";return b&&c?{type:"function_call",call_id:b,name:c,arguments:JSON.stringify({input:z(a.input??a.arguments)})}:null}if("custom_tool_call_output"===a.type||"function_call_output"===a.type){let b=a.call_id||a.id;return b?{type:"function_call_output",call_id:b,output:z(a.output)}:null}if("function_call"===a.type){let b=a.call_id||a.id,c="string"==typeof a.name?a.name.trim():"";return b&&c?{type:"function_call",...A(a.id)?{id:a.id}:{},call_id:b,name:c,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments??{}),..."string"==typeof a.status?{status:a.status}:{}}:null}return c}let C=null;class D extends f.H{constructor(){super("grok-cli",g.xq["grok-cli"])}buildUrl(){return this.config.baseUrl}async refreshCredentials(a,b,c=null){return!!a?.refreshToken&&(0,h.Vq)("grok-cli",a,b,c)}needsRefresh(a){return(0,h.fp)("grok-cli",a)}buildHeaders(a,b=!0,c=null,d=null,f=null,g={}){let h=super.buildHeaders(a,b);for(let[a,b]of Object.entries(this.config.headers||{}))null!=b&&void 0===h[a]&&(h[a]=b);h["x-grok-client-identifier"]=this.config.clientIdentifier||h["x-grok-client-identifier"]||k.rK,h["x-grok-client-version"]=this.config.clientVersion||h["x-grok-client-version"]||k.uG;let i=g?.sessionId||a?.connectionId||e().randomUUID(),j=g?.reqId||e().randomUUID();h["x-grok-session-id"]=i,h["x-grok-conv-id"]=i,h["x-grok-req-id"]=j,h["x-grok-turn-idx"]=String(g?.turnIdx||1),g?.agentId&&(h["x-grok-agent-id"]=g.agentId),g?.model&&(h["x-grok-model-override"]=g.model);let l=a?.providerSpecificData||{},m=l.email||a?.email,n=l.userId||a?.userId||a?.providerUserId;return m&&(h["x-email"]=m),n&&(h["x-userid"]=n),h}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,f={}){let g;g={prompt_cache_key:b?.prompt_cache_key,session_id:b?.session_id,conversation_id:b?.conversation_id,metadata:b?.metadata},f.sessionId=(0,m.oV)({headers:d?.rawHeaders,body:g,connectionId:d?.connectionId||d?.id,workspaceId:d?.providerSpecificData?.workspaceId,scope:"grok-cli"}),f.reqId=e().randomUUID(),f.agentId=d?.providerSpecificData?.deviceId||d?.providerSpecificData?.agentId||f.agentId||null;let h=(0,i.me)(b.input);h&&(b.input=h),(!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:"..."}]),function(a){if(!Array.isArray(a?.input))return;let b=a.input.map(B).filter(Boolean),c=new Set(b.filter(a=>a?.type==="function_call"&&a.call_id).map(a=>a.call_id));a.input=b.filter(a=>a?.type!=="function_call_output"||c.has(a.call_id))}(b),Array.isArray(b.input)&&(b.input=b.input.filter(a=>{if("string"==typeof a&&q.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&q.test(a.id)&&!A(a.id)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools)||0===a.tools.length){delete a.tools,delete a.tool_choice;return}let b=new Set,c=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let d="string"==typeof a.type?a.type:"";if("function"!==d){if(r.has(d))return c.add(d),!0;if(!d&&a.function);else if(d&&"string"!=typeof a.name)return!1}if(!("function"===d||""===d||a.function||"string"==typeof a.name)||r.has(d))return r.has(d);let e=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,f=("string"==typeof a.name?a.name:"string"==typeof e?.name?e.name:"").trim();if(!f)return!1;let g="string"==typeof a.description?a.description:"string"==typeof e?.description?e.description:"",h="custom"===d?v:a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:e?.parameters&&"object"==typeof e.parameters&&!Array.isArray(e.parameters)?e.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=f.slice(0,128),g&&(a.description=g),a.parameters=h,b.add(a.name),!0}),0===a.tools.length){delete a.tools,delete a.tool_choice;return}if(a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)){let d="string"==typeof a.tool_choice.type?a.tool_choice.type:"";if("function"===d||"custom"===d){let c=a.tool_choice.name??a.tool_choice.function?.name,d="string"==typeof c?c.trim().slice(0,128):"";d&&b.has(d)?a.tool_choice={type:"function",name:d}:delete a.tool_choice}else c.has(d)||delete a.tool_choice}}(b),f.turnIdx=function(a,b,c=null){let d=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 d;if(c&&x.has(c))return x.get(c);let e=Date.now(),f=w.get(a),g=f&&e-f.lastUsed<=l.v1.sessionTtlMs?f.turn:0;f&&w.delete(a);let h=g>0?Math.max(d,g+ +!!c):d;for(;w.size>=5e3;)w.delete(w.keys().next().value);return w.set(a,{turn:h,lastUsed:e}),c&&x.set(c,h),h}(f.sessionId,b.input,b),b.stream=!0,b.store=!1;let n=function(a){if(!a||"string"!=typeof a)return null;for(let b of t)if(a.endsWith(`-${b}`))return b;return null}(b.model||a),o=b.model||a;n&&(o=o.replace(RegExp(`-${n}$`),"")),(o=(0,j.kt)("gcli",o)||o)===(b.model||a)&&(o=(0,j.kt)("grok-cli",o)||o),b.model=o,f.model=o;let p=(0,k.Au)(o);if(b.reasoning&&"object"==typeof b.reasoning?(p?b.reasoning.effort=y(b.reasoning.effort||b.reasoning_effort||n):delete b.reasoning.effort,b.reasoning.summary||(b.reasoning.summary="concise")):(b.reasoning={summary:"concise"},p&&(b.reasoning.effort=y(b.reasoning_effort||n))),delete b.reasoning_effort,b.reasoning&&"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)))s.has(a)||delete b[a];return b}async execute(a){let b={agentId:a.credentials?.providerSpecificData?.deviceId||await (!C&&(C=(async()=>{try{let a=await p("grok-cli-agent");return[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{return e().randomUUID()}})()),C)};return super.execute({...a,hookCtx:b})}}},51349:(a,b,c)=>{c.d(b,{m:()=>h});var d=c(96179),e=c(13664),f=c(15929);let g="codebuddy-intl";class h extends d.L{constructor(){super("codebuddy-intl")}async refreshCredentials(a,b,c=null){return!!a?.refreshToken&&(0,e.XB)(a.refreshToken,b,c)}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let h=e.reasoning_effort;"none"===h||"off"===h?delete e.reasoning_effort:h&&(e.reasoning_summary="auto"),(0,f.ho)(g,a,e);let i=Array.isArray(e.messages)?e.messages:[];for(let a of(e.messages=[{role:"system",content:"You are CodeBuddy Code."}],i))!a||"object"!=typeof a||["system","developer"].includes(a.role)||("user"===a.role&&"string"==typeof a.content?e.messages.push({...a,content:[{type:"text",text:a.content}]}):e.messages.push({...a}));return e}parseError(a,b){if(b)try{let a=JSON.parse(b),c=a?.msg||a?.message||a?.error?.message||"";if((0,f.Zx)(g,a),a?.code===6004||/超出频率限制|frequency limit|限额/i.test(c)){let a=null,b=c.match(/(\d{4}-\d{2}-\d{2})\s+(\d{2}:\d{2}:\d{2})(?:\s*UTC\+?([0-9:]+))?/i);if(b){let c=b[1],d=b[2],e=b[3]?b[3].includes(":")?b[3].startsWith("+")?b[3]:`+${b[3]}`:`+${b[3].padStart(2,"0")}:00`:"+08:00",f=new Date(`${c}T${d}${e}`);isNaN(f.getTime())||(a=f.getTime())}return{status:429,message:c||"CodeBuddy frequency limit (6004)",resetsAtMs:a}}}catch{}return super.parseError(a,b)}}},53307:(a,b,c)=>{c.d(b,{sh:()=>u});var d=c(74957);let e="https://uncensored.com",f="https://clerk.uncensored.com",g="5.127.1",h="https://internal.chatuncensored.ai/v2/image-gen",i={"1:1":{imageWidth:"1024",imageHeight:"1024"},"16:9":{imageWidth:"1024",imageHeight:"576"},"9:16":{imageWidth:"576",imageHeight:"1024"},"4:3":{imageWidth:"1024",imageHeight:"768"},"3:4":{imageWidth:"768",imageHeight:"1024"},"3:2":{imageWidth:"1152",imageHeight:"768"},"2:3":{imageWidth:"768",imageHeight:"1152"},"4:5":{imageWidth:"896",imageHeight:"1120"},"5:4":{imageWidth:"1120",imageHeight:"896"},"21:9":{imageWidth:"1344",imageHeight:"576"}},j={"seedream-v4.5":{name:"Seedream v4.5",aspects:["1:1","16:9","9:16","4:3","3:4"]},"seedream-v5":{name:"Seedream v5",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"seedream-v5-flash":{name:"Seedream v5 Flash",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3","4:5","5:4","21:9"],resolutions:["1k","1.5k","2k"]},"nano-banana-pro-ultra":{name:"Nano Banana Pro Ultra",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["4k","8k"]},"nano-banana-pro":{name:"Nano Banana Pro",aspects:["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["1k","2k","4k"]},"nano-banana":{name:"Nano Banana",aspects:["1:1","9:16","16:9","3:4","4:3","3:2","2:3","5:4","4:5","21:9"]},"nano-banana-2":{name:"Nano Banana 2",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"],resolutions:["1k","2k","4k"]},"gpt-image":{name:"GPT Image 1.5",aspects:["1:1","2:3","3:2"],qualities:["medium","high"]},"gpt-image-2":{name:"GPT Image 2",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9"]},"gpt-image-2.5-flare":{name:"GPT Image 2.5 Flare",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9","2:1","1:2","3:1","1:3","9:21"]},"gpt-image-2.5-sunburst":{name:"GPT Image 2.5 Sunburst",aspects:["1:1","3:2","2:3","3:4","4:3","4:5","5:4","9:16","16:9","21:9","2:1","1:2","3:1","1:3","9:21"]},"wan-2.6":{name:"Wan 2.6",aspects:["1:1","4:3","3:4","3:2","2:3"]},"wan-2.6-image":{name:"Wan 2.6",upstream:"wan-2.6",aspects:["1:1","4:3","3:4","3:2","2:3"]},"wan-2.7-text-to-image":{name:"Wan 2.7",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"wan-2.7-text-to-image-pro":{name:"Wan 2.7 Pro",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"prefect-pony-xl":{name:"Prefect Pony XL",aspects:["1:1","16:9","9:16","4:3","3:4","3:2","2:3"]},"1.0":{name:"Flux.1",aspects:[]},"1.1":{name:"Flux.1.1",aspects:[]},"1.2":{name:"Wan 2.6 (Flux tier)",aspects:[]},"2.0":{name:"Flux.2",aspects:[]},"flux-2-max":{name:"Flux 2 Max",aspects:[]},SDXL:{name:"SDXL uncensored",aspects:[]},realism:{name:"Realism",aspects:[]},"realism-2":{name:"Realism 2",aspects:[]},"z-image-turbo":{name:"Z Image Turbo",aspects:[]}},k={default:{name:"Standard",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},turbo:{name:"Turbo",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.2-uncensored-v2":{name:"Wan Ultra Uncensored v2",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.2-uncensored":{name:"Wan Ultra Uncensored",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],resolutions:["480p","720p"],seconds:[5,8]},"wan-2.6":{name:"Wan v2.6",t2v:!0,i2v:!0,aspects:["auto","16:9","9:16","1:1"],seconds:[5,8]},"wan-2.6-ultra":{name:"Wan 2.6 Ultra Uncensored",t2v:!0,i2v:!0},"wan-2.7":{name:"Wan 2.7",t2v:!0,i2v:!0},"wan-2.7-pro":{name:"Wan 2.7 Pro",t2v:!0,i2v:!0},"wan-2.7-uncensored":{name:"Wan 2.7 Uncensored",t2v:!0,i2v:!0},"wan-2.7-uncensored-v2":{name:"Wan 2.7 Uncensored v2",t2v:!0,i2v:!0},"wan-3.0":{name:"Wan 3.0",t2v:!0,i2v:!0,audio:!0},"wan-3.0-uncensored":{name:"Wan 3.0 Uncensored",t2v:!0,i2v:!0,audio:!0},"wan-3.0-uncensored-pro":{name:"Wan 3.0 Uncensored Pro",t2v:!0,i2v:!0,audio:!0},"sora-2":{name:"Sora 2",t2v:!0,i2v:!0,seconds:[4,8,12]},"sora-2-pro":{name:"Sora 2 Pro",t2v:!0,i2v:!0,seconds:[4,8,12]},"grok-imagine-video":{name:"Grok Imagine Video",t2v:!0,i2v:!0},"bytedance-seedance-2.0":{name:"Seedance 2.0",t2v:!0,i2v:!0},"seedance-2.0-fast":{name:"Seedance 2.0 Fast",t2v:!0,i2v:!0},"seedance-2.0-uncensored":{name:"Seedance 2.0 Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-fast-uncensored":{name:"Seedance 2.0 Fast Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-mini-uncensored":{name:"Seedance 2.0 Mini Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.0-mini-turbo":{name:"Seedance 2.0 Mini Turbo Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-v1.5-pro-uncensored":{name:"Seedance v1.5 Pro Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.5-uncensored":{name:"Seedance 2.5 Uncensored",t2v:!0,i2v:!0,audio:!0},"seedance-2.5":{name:"Seedance 2.5",t2v:!0,i2v:!0,audio:!0},"vidu-q3-uncensored":{name:"Vidu Q3 Uncensored",t2v:!0,i2v:!0},"av-gen-v2":{name:"AV-Gen v2 with audio",t2v:!0,i2v:!0,audio:!0},"cosmos-predict":{name:"Cosmos Predict 2.5",t2v:!0,i2v:!0},"minimax-h3":{name:"MiniMax H3",t2v:!0,i2v:!0},"happyhorse-1.0":{name:"Happy Horse 1.0",t2v:!0,i2v:!0},"wan/v2.2-a14b":{name:"Wan v2.2-a14b",t2v:!0,i2v:!0}};function l(a){let b=new Map;for(let c of String(a||"").split(";")){let a=c.indexOf("=");if(a<0)continue;let d=c.slice(0,a).trim();d&&b.set(d,c.slice(a+1).trim())}return b}function m(a){try{let b=a.split(".")[1].replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(Buffer.from(b+"=".repeat((4-b.length%4)%4),"base64").toString("utf8"))}catch{return null}}function n(a){return[...a.entries()].map(([a,b])=>`${a}=${b}`).join("; ")}function o(a,b){for(let c of"function"==typeof a.headers.getSetCookie?a.headers.getSetCookie():[]){let a=String(c).split(";")[0],d=a.indexOf("=");if(d>0&&a.slice(0,d).trim()===b)return a.slice(d+1).trim()}return""}async function p(a,b,c){let d=m(a)?.sid;if("string"==typeof d&&d)return{sid:d,rotatedClient:""};let e=await fetch(`${f}/v1/client?_clerk_js_version=${g}`,{headers:b,signal:c});if(!e.ok)return{sid:"",rotatedClient:""};let h=o(e,"__client"),i=await e.json().catch(()=>null),j=i?.response??i?.client??i,k=Array.isArray(j?.sessions)?j.sessions:[],l=k.find(a=>a?.status==="active")??k[0];return{sid:"string"==typeof l?.id?l.id:"",rotatedClient:h}}async function q(a,b){let c=l(a),d=c.get("__client");if(!d)throw Object.assign(Error("UC credential missing the __client cookie — paste the full uncensored.com Cookie header from a logged-in session"),{status:401});let h={Cookie:n(c),Origin:e,Referer:`${e}/`,Accept:"application/json"},i=await p(d,h,b),j=i.sid;if(!j)throw Object.assign(Error("UC Clerk session not found — the __client cookie has no active session. Log in again via Login via Browser"),{status:401});let k=await fetch(`${f}/v1/client/sessions/${encodeURIComponent(j)}/tokens?_clerk_js_version=${g}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Origin:e,Referer:`${e}/`,Cookie:n(c)},body:"",signal:b});if(!k.ok){let a=(await k.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC Clerk token mint failed (HTTP ${k.status}) ${a}`),{status:k.status})}let q=o(k,"__client")||i.rotatedClient,r=await k.json().catch(()=>null),s=r?.jwt;if("string"!=typeof s||!s)throw Object.assign(Error("UC Clerk token mint returned no jwt"),{status:502});let t=m(s)?.uid;return{jwt:s,uid:"string"==typeof t?t:"",rotatedClient:q}}async function r(a,{signal:b,log:c,intervalMs:d=5e3,timeoutMs:f=3e5}){let g=Date.now()+f;for(;Date.now()<g;){if(b?.aborted)throw Error("aborted");await new Promise(a=>setTimeout(a,d));let f=0;try{f=(await fetch(a,{method:"HEAD",headers:{Referer:`${e}/`},signal:b})).status}catch{f=0}if(200===f)return;f>=400&&f<500&&429!==f&&c?.warn?.("UC-WEB",`result poll got HTTP ${f} — continuing until timeout`)}throw Error("UC result did not become available in time")}async function s(a,{signal:b}){let c=await fetch(a,{headers:{Referer:`${e}/`},signal:b});if(!c.ok)throw Error(`UC result download failed (HTTP ${c.status})`);return{b64:Buffer.from(await c.arrayBuffer()).toString("base64"),mime:(c.headers.get("content-type")||"").split(";")[0]||"application/octet-stream"}}async function t(a,b,c){let d=/^data:[^;]*;base64,(.*)$/.exec(String(a));if(d)return Buffer.from(d[1],"base64");if(/^https?:\/\//i.test(String(a))){let c=await fetch(a,{signal:b,headers:{Accept:"image/*","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"}});if(!c.ok)throw Error(`input image download failed (HTTP ${c.status})`);return Buffer.from(await c.arrayBuffer())}try{return Buffer.from(String(a),"base64")}catch{return c?.error?.("UC-WEB","could not decode input image"),null}}class u extends d.H{constructor(){super("uc-web",{id:"uc-web",baseUrl:"https://internal.chatuncensored.ai"})}async execute(){return{response:new Response(JSON.stringify({error:{message:"uc-web is a media provider — use /v1/images/generations or /v1/videos/generations",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:{}}}async generateMedia({prompt:a,kind:b="image",size:c,model:d,duration:f,resolution:g,images:m,credentials:o,signal:p,log:u}){if("image"!==b&&"video"!==b)throw Error("uc-web supports image and video generation only");if(!a?.trim())throw Error("prompt is required");let v=String(o?.apiKey||""),{jwt:w,uid:x,rotatedClient:y}=await q(v,p),z=function(a,b){if(!b)return"";let c=l(a);return c.get("__client")===b?"":(c.set("__client",b),n(c))}(v,y);z&&o&&(o.apiKey=z);let A={Authorization:`Bearer ${w}`,Origin:e,Referer:`${e}/`,"Content-Type":"application/json"};if("image"===b){let b=d||"seedream-v4.5";if(!j[b])throw Object.assign(Error(`Unknown UC image model "${b}" — see the provider's model list`),{status:400});let e=j[b],f={prompt:a,mode:"dev",model_version:e.upstream||b,m_n_user:!0,moderationMode:"SUPER_LIGHT",country:"US",vdiscount:!1,...function(a,b){let c=String(a||"").trim(),d=Array.isArray(b)&&b.length?b:null,e=i[c]&&(!d||d.includes(c))?{aspect_ratio:c,...i[c]}:null;if(e)return e;if(c.includes("x")){let[a,b]=c.split("x").map(Number);if(Number.isFinite(a)&&Number.isFinite(b)&&a>0&&b>0){let c=null,e=1/0;for(let[f,g]of Object.entries(i)){if(d&&!d.includes(f))continue;let h=Math.abs(Number(g.imageWidth)/Number(g.imageHeight)-a/b);h<e&&(e=h,c=f)}if(c)return{aspect_ratio:c,...i[c]}}}let f=d?.[0]||"1:1";return{aspect_ratio:f,...i[f]}}(c,e.aspects)};if(e.resolutions?.length){let a=String(g||"").toLowerCase();f.resolution=e.resolutions.includes(a)?a:e.resolutions[0]}let k=await fetch(h,{method:"POST",headers:A,body:JSON.stringify(f),signal:p});if(!k.ok){let a=(await k.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC image request failed (HTTP ${k.status}) ${a}`),{status:k.status})}let l=await k.json().catch(()=>null),m="string"==typeof l?.url?l.url:"";if(!m)throw Error("UC image response carried no result url");return await r(m,{signal:p,log:u}),[await s(m,{signal:p})]}let B=d||"default";if(!k[B])throw Object.assign(Error(`Unknown UC video model "${B}" — see the provider's model list`),{status:400});let C=k[B],D=Array.isArray(m)?m[0]:m;if(D&&!1===C.i2v)throw Error(`UC video model "${B}" does not accept an input image`);if(!D&&!1===C.t2v)throw Error(`UC video model "${B}" requires an input image`);let E=Number(f)>0?Number(f):C.seconds?.[0]??5,F=C.resolutions?.length?C.resolutions.includes(String(g||""))?String(g):C.resolutions[0]:"480p",G={prompt:a,media_blob_name:null,num_frames:Math.round(16*E)+1,frames_per_second:16,num_inference_steps:30,guide_scale:5,shift:5,aspect_ratio:C.aspects?.includes("auto")?"auto":"9:16",pro_mode:"wan-3.0-uncensored-pro"===B,turbo:"turbo"===B,resolution:F,sora_resolution:F,end_frame_blob_name:null,model:B,seconds:E,video_to_video_duration:E,vdiscount:!1};if(D){if(!x)throw Object.assign(Error("Could not derive the account uid — re-paste the full Cookie header"),{status:401});let a=await t(D,p,u);if(!a)throw Error("UC image-to-video could not decode the input image");let b=await fetch("https://internal-6.pubyar.com/generate-signed-url",{method:"POST",headers:A,body:JSON.stringify({content_type:"image/png",user_identifier:x}),signal:p});if(!b.ok){let a=(await b.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC signed-url request failed (HTTP ${b.status}) ${a}`),{status:b.status})}let c=await b.json().catch(()=>null);if(!c?.signed_url||!c?.blob_name)throw Error("UC signed-url response missing signed_url or blob_name");let d=await fetch(c.signed_url,{method:"PUT",headers:{"Content-Type":"image/png"},body:new Uint8Array(a),signal:p});if(!d.ok)throw Object.assign(Error(`UC input-image upload failed (HTTP ${d.status})`),{status:d.status});G.media_blob_name=c.blob_name}let H=await fetch("https://internal.chatuncensored.ai/image_to_video",{method:"POST",headers:A,body:JSON.stringify(G),signal:p});if(!H.ok){let a=(await H.text().catch(()=>"")).slice(0,200);throw Object.assign(Error(`UC video request failed (HTTP ${H.status}) ${a}`),{status:H.status})}let I=await H.json().catch(()=>null),J="string"==typeof I?.url?I.url:"";if(!J)throw Error("UC video response carried no result url");let K=Number.isFinite(Number(I?.timeout_seconds))&&Number(I.timeout_seconds)>0?1e3*Number(I.timeout_seconds):3e5;return await r(J,{signal:p,log:u,timeoutMs:K}),[await s(J,{signal:p})]}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$R:()=>U,getExecutor:()=>T});var e=c(39536),f=c(98625),g=c(19696),h=c(95128),i=c(11655),j=c(61433),k=c(77333),l=c(76467),m=c(32447),n=c(19932),o=c(19946),p=c(73870),q=c(63094),r=c(13120),s=c(17373),t=c(77919),u=c(49227),v=c(23013),w=c(59192),x=c(20690),y=c(88331),z=c(53307),A=c(48868),B=c(9708),C=c(90926),D=c(26878),E=c(36732),F=c(49059),G=c(51349),H=c(85308),I=c(27617),J=c(71880),K=c(98665),L=c(93509),M=c(96179),N=c(83243),O=c(95089),P=c(74161),Q=c(945),R=c(32339);c(74957);var S=a([o]);o=(S.then?(await S)():S)[0];let V={antigravity:new e.c,azure:new f.P,"gemini-cli":new h.V,github:new i.x,iflow:new j.r,qoder:new k.DH,"qoder-cn":new k.DH("qoder-cn"),kiro:new l.B,kimchi:new m.BL,codex:new n.T,cursor:new o.ou,cu:new o.ou,vertex:new p.w("vertex"),"vertex-partner":new p.w("vertex-partner"),opencode:new q.j9,"opencode-go":new r.H,"opencode-zen":new s.mO,"grok-web":new t.$,"grok-cli":new u.hG,gcli:new u.hG,gb:new u.hG,"perplexity-web":new v.Ay,"deepseek-web":new w.id,"muse-web":new x._5,"veoaifree-web":new y.Q,"veo-free":new y.Q,"uc-web":new z.sh,"chatgpt-web":new A.RF,"ollama-local":new B.D,commandcode:new C.Ak,"xiaomi-tokenplan":new D.F,"xiaomi-mimo":new E.Rb,codearts:new I.Ay,deveco:new J.y,"codebuddy-cn":new F.v,"codebuddy-intl":new G.m,trae:new H.A,"trae-enterprise":new H.A("trae-enterprise"),zed:new K.A,windsurf:new L.Ay,"minimax-code":new N.M("minimax-code"),"minimax-code-global":new N.M("minimax-code-global"),"devin-cli":new O.c,zcode:new P.B,miaoshou:new Q.f$,ms:new Q.f$,joyagent:new R.j,ja:new R.j,bedrock:new g.UD,br:new g.UD,"bedrock-xai":new g.UD("bedrock-xai"),brx:new g.UD("bedrock-xai")},W=new Map;function T(a){return V[a]?V[a]:(W.has(a)||W.set(a,new M.L(a)),W.get(a))}function U(a){return!!V[a]}d()}catch(a){d(a)}})},59192:(a,b,c)=>{c.d(b,{id:()=>aq});var d=c(74957),e=c(78959),f=c(92536),g=c(73024),h=c(76760),i=c.n(h),j=c(75919);new Uint32Array(10);let k=[],l=[],m=new Uint32Array(24),n=new Uint32Array(24);{let a=1n,b=1,c=0;for(let d=0;d<24;d++){let e=c,f=(2*b+3*c)%5;b=e,c=f,k.push(2*(5*c+b)),l.push((d+1)*(d+2)/2%64);let g=0n;for(let b=0;b<7;b++)2n&(a=(a<<1n^(a>>7n)*113n)%256n)&&(g^=1n<<(1n<<BigInt(b))-1n);m[d]=Number(4294967295n&g),n[d]=Number(g>>32n&4294967295n)}}let o=/^[a-f0-9]{64}$/i,p=0;function q(){let a=Error("DeepSeek PoW computation aborted");return a.name="AbortError",a}async function r(a,b,c,d,e,f={}){return function(a,b={}){let{signal:c}=b;if(c?.aborted)return Promise.reject(q());if(p>=2)return Promise.reject(Error("DeepSeek PoW worker capacity reached (2)"));let d=function(a){if(void 0===a)return 1e4;if(!Number.isSafeInteger(a)||a<1||a>3e4)throw Error("DeepSeek PoW timeout must be an integer from 1 to 30000ms");return a}(b.timeoutMs);return p+=1,new Promise((b,e)=>{let f;try{f=new j.Worker(function(){let a=i().join(process.cwd(),"open-sse/lib/deepseek-pow-worker.mjs");if(!(0,g.existsSync)(a))throw Error(`DeepSeek PoW worker script not found at ${a}`);return a}(),{workerData:a})}catch(a){p=Math.max(0,p-1),e(a instanceof Error?a:Error(String(a)));return}let h=!1,k=(a,b)=>{h||(h=!0,clearTimeout(m),c?.removeEventListener("abort",l),p=Math.max(0,p-1),b&&f.terminate(),a())},l=()=>{k(()=>e(q()),!0)},m=setTimeout(()=>{k(()=>e(Error(`DeepSeek PoW computation exceeded ${d}ms`)),!0)},d);c?.addEventListener("abort",l,{once:!0}),f.once("message",a=>{!Number.isSafeInteger(a)||a<-1?k(()=>e(Error("DeepSeek PoW worker returned an invalid answer")),!0):k(()=>b(a),!1)}),f.once("error",a=>{k(()=>e(a),!0)}),f.once("exit",a=>{0!==a?k(()=>e(Error(`DeepSeek PoW worker exited with code ${a}`)),!1):k(()=>e(Error("DeepSeek PoW worker exited without an answer")),!1)})})}(function(a,b,c,d,e){if("DeepSeekHashV1"!==a)throw Error(`Unsupported DeepSeek PoW algorithm: ${a}`);if(!o.test(b))throw Error("DeepSeek PoW challenge must be a 64-character SHA3-256 hex digest");if("string"!=typeof c||0===c.length||c.length>1024)throw Error("DeepSeek PoW salt must contain 1-1024 characters");if(!Number.isSafeInteger(d)||d<1||d>25e4)throw Error("DeepSeek PoW difficulty must be an integer from 1 to 250000");if(!Number.isSafeInteger(e)||e<0)throw Error("DeepSeek PoW expiry must be a non-negative safe integer");return{challenge:b.toLowerCase(),prefix:`${c}_${e}_`,difficulty:d}}(a,b,c,d,e),f)}var s=c(39609),t=c(14229),u=c(70452);let v=new((c.n(u))())({strict:!1,allErrors:!1,validateFormats:!1}),w=new WeakMap;function x(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function y(a,b,c){let d=Array.isArray(a)?a.find(a=>a?.function?.name===b)??null:null;if(!d)return!1;let e=d.function?.parameters;if(void 0===e)return!0;if(("object"!=typeof e||null===e)&&"boolean"!=typeof e)return!1;let f=w.get(a);f||(f=new Map,w.set(a,f));let g=f.get(b);if(void 0===g){try{g=v.compile(e)}catch{g=null}f.set(b,g)}return!!g&&!0===g(c)}function z(a,b,c){if(!b.toolCalls)return b;let d=(0,t.OA)(c),e=[];for(let f of b.toolCalls){let b=(0,t.n)(f.function.arguments);if(!b)return{content:a,toolCalls:null};let g=b._nonce;if(void 0!==g&&g!==d)return{content:a,toolCalls:null};let{_nonce:h,...i}=b;if(!y(c,f.function.name,i))return{content:a,toolCalls:null};e.push({...f,function:{...f.function,arguments:JSON.stringify(i)}})}return{content:b.content,toolCalls:e}}function A(a){return"string"==typeof a&&!!a.trim()&&(!!/<\/?(?:|||\|\|?)DSML(?:|||\|\|?)\s*(?:calls|invoke|parameter)\b/i.test(a)||/<\/?(?:tool|tool_call)(?::|\s|>)/i.test(a))}function B(a){return Array.isArray(a)?a.filter(a=>a?.type==="text").map(a=>a?.text??"").join("\n"):null==a?"":String(a)}let C=/<(\/?)(?:tool_call|tool)(:[A-Za-z0-9_.+-]+)?((?:\s[^>]*)?)\/?>/g;function D(a,b){let c=RegExp(`\\b${b}\\s*=\\s*("|')`).exec(a);if(!c)return null;let d=c[1],e=c.index+c[0].length,f="";for(;e<a.length;){let b=a[e];if("\\"===b){f+=a[e+1]??"",e+=2;continue}if(b===d)break;f+=b,e+=1}return f}function E(a,b){let c=RegExp(`<${b}\\b[^>]*>([\\s\\S]*?)<\\/${b}>`,"i").exec(a);return c?c[1].trim():null}let F=/<parameter\b([^>]*?)\/?>(?:((?:(?!<parameter\b)[\s\S])*?)<\/parameter>)?/gi;function G(a){return"string"==typeof a&&a.length>0?a:null}let H="[||]",I=`${H}{2}DSML${H}{2}`,J=RegExp(`</?${I}\\s*(?:calls|invoke|parameter)\\b[^>]*>|<${I}\\s*/\\s*(?:calls|invoke|parameter)\\s*>`,"gi");function K(a,b,c){let d=[],e=RegExp(`(?:</?${I}\\s*${b}\\b([^>]*)>|<${I}\\s*/\\s*${b}\\s*>)`,"gi"),f=null;for(;null!==(f=e.exec(a));)d.push({start:c+f.index,end:c+e.lastIndex,attrs:f[1]??""});return d}function L(a,b,c,d,e){let f=D(a.attrs,"name");if(!f)return null;let g=b?b.start:d,h=K(c.slice(a.end,g),"parameter",a.end),i={},j=a.end;for(let a=0;a<h.length;a+=1){let b=h[a],d=D(b.attrs,"name");if(!d)continue;let e=h[a+1],f=c.slice(b.end,e?e.start:g).trim();i[d]=""!==f?f:D(b.attrs,"content")??"",j=e?e.end:g}if(!Object.values(i).some(a=>""!==a))return null;let k=(0,t.Ub)(f,e)??f;return{start:a.start,end:b?b.end:j,name:k,args:i}}let M=/<[||]{1,2}DSML[||]{1,2}\s+(calls|invoke|parameter)([^>]*)>/gi,N=/<\/[||]{1,2}DSML[||]{1,2}\s+(calls|invoke|parameter)\s*>/gi,O=/<(?:(?:\|DSML\|)|(?:||DSML||))invoke\b([^>]*)>([\s\S]*?)<\/(?:(?:\|DSML\|)|(?:||DSML||))invoke\s*>/gi,P=/<(?:(?:\|DSML\|)|(?:||DSML||))parameter\b([^>]*)>([\s\S]*?)(?:<\/(?:(?:\|DSML\|)|(?:||DSML||))parameter\s*>|<(?:(?:\|DSML\|)|(?:||DSML||))parameter\s*>)/gi,Q=/<(?:(?:\|DSML\|)|(?:||DSML||))(?:calls|call|invoke|parameter)\b[^>]*>[^]*?<\/(?:(?:\|DSML\|)|(?:||DSML||))(?:calls|call|invoke|parameter)\s*>/i,R=/(?:<\|tool_call_begin\|>|<|tool▁call▁begin|>)[\s\n]*([^<\s]+)[\s\n]*(?:<\|tool_call_argument_begin\|>|<|tool▁call▁argument▁begin|>)([\s\S]*?)(?:<\|tool_call_argument_end\|>|<|tool▁call▁argument▁end|>)[\s\n]*(?:<\|tool_call_end\|>|<|tool▁call▁end|>)/g;function S(a){try{return JSON.parse(a)}catch{return null}}function T(a,b,c){let d=Array.isArray(c)?c.find(a=>a?.function?.name===b):void 0,e=d?.function?.parameters?.properties;if(!e||"object"!=typeof e)return a;for(let[b,c]of Object.entries(a))e[b]?.type==="string"&&"string"!=typeof c&&(a[b]=JSON.stringify(c));return a}function U(a,b="call",c){var d,e,f;if("string"!=typeof a||0===a.length)return{content:a??"",toolCalls:null};a=a.replace(/\s*This response is AI-generated, for reference only\.\s*$/i,"");let g=(0,t.x2)(c),h=(d=a,RegExp(`</?${I}\\s*(?:calls|invoke|parameter)\\b`,"i").test(d))?function(a,b){let c=[],d=[],e=RegExp(`<${I}\\s*calls\\s*>([\\s\\S]*?)(?:</${I}\\s*calls\\s*>|<${I}\\s*/\\s*calls\\s*>)`,"gi"),f=RegExp(`(?:</${I}\\s*calls\\s*>|<${I}\\s*/\\s*calls\\s*>)\\s*$`,"i"),g=[],h=null;for(;null!==(h=e.exec(a));){let i={start:h.index,end:e.lastIndex};g.push(i);let j=h[1],k=h.index+h[0].indexOf(j),l=f.exec(h[0]);d.push({start:h.index,end:k}),d.push({start:h.index+(l?l.index:h[0].length),end:h.index+h[0].length});let m=K(j,"invoke",k);for(let d=0;d<m.length;d+=1){if(!D(m[d].attrs,"name"))continue;let e=L(m[d],m[d+1],a,k+j.length,b);e&&c.push(e),m[d+1]&&(d+=1)}}let i=K(a,"invoke",0).filter(a=>!g.some(b=>a.start>=b.start&&a.end<=b.end));for(let d=0;d<i.length;d+=1){if(!D(i[d].attrs,"name"))continue;let e=L(i[d],i[d+1],a,a.length,b);e&&c.push(e),i[d+1]&&(d+=1)}return{calls:c.sort((a,b)=>a.start-b.start),strip:d}}(a,g):null,i=h&&h.calls.length>0?h:null;if(!i){let d=/<tool\b|<tool:/.test(a),g=a=>(a.toolCalls?.length??0)>0||!d,h=function(a,b,c){if(!/<(?:(?:||DSML||)|(?:\|DSML\|))/.test(a))return{content:a,toolCalls:null,recognized:!1};let d=(0,t.x2)(c),e=(0,t.OA)(c),f=[],g=[],h=/<(?<dsml>||DSML|||\|DSML\|)\s*invoke\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/\k<dsml>\s*invoke\s*>/g,i=null,j=!1,k=!1;for(;null!==(i=h.exec(a));){let a;j=!0;let l=(0,t.Ub)(i[2],d);if(!e||!l){k=!0;continue}let m=function(a){let b={},c=/<(?:||DSML|||\|DSML\|)\s*parameter\s+name=["']([^"']+)["'][^>]*>([\s\S]*?)(?:<\/?(?:||DSML|||\|DSML\|)\s*parameter\s*>|(?=<(?:||DSML|||\|DSML\|)\s*parameter\s+name=|<\/(?:||DSML|||\|DSML\|)\s*invoke\s*>))/g,d=null;for(;null!==(d=c.exec(a));){let a=d[2].trim();b[d[1]]=S(a)??a}if(Object.keys(b).length>0)return b;let e=S(a.trim()||"{}");return e&&"object"==typeof e&&!Array.isArray(e)&&Object.assign(b,e),b}(i[3]),n=x(m.arguments);if((m._nonce??n?._nonce)!==e){k=!0;continue}if(n){let{_nonce:b,...c}=n;a=c}else{let{_nonce:b,name:c,...d}=m;a=d}if(!y(c,l,a)){k=!0;continue}f.push({id:`${b}_${f.length}`,type:"function",function:{name:l,arguments:JSON.stringify(a)}}),g.push({start:i.index,end:h.lastIndex})}if(k||0===f.length)return{content:a,toolCalls:null,recognized:j};let l=/<\/?(?:||DSML|||\|DSML\|)\s*calls\s*>/g,m=null;for(;null!==(m=l.exec(a));)g.push({start:m.index,end:l.lastIndex});return{content:(0,t.LW)(a,g),toolCalls:f,recognized:!0}}(a,b,c);if(h.recognized&&g(h))return z(a,h,c);let i=function(a,b,c){let d=(0,t.x2)(c),e=[],f=[];R.lastIndex=0;let g=null;for(;null!==(g=R.exec(a));){let a=(0,t.Ub)(g[1],d),h=S(g[2].trim());if(!a||!h||"object"!=typeof h||Array.isArray(h))continue;let i=T(h,a,c);e.push({id:`${b}_${e.length}`,type:"function",function:{name:a,arguments:JSON.stringify(i)}}),f.push({start:g.index,end:g.index+g[0].length})}!function(a,b,c,d,e,f){O.lastIndex=0;let g=null;for(;null!==(g=O.exec(a));){let a=D(g[1]||"","name"),h=a?(0,t.Ub)(a,c):null;if(!h)continue;let{args:i,found:j}=function(a){let b={},c=!1;P.lastIndex=0;let d=null;for(;null!==(d=P.exec(a));){let a=D(d[1]||"","name");if(!a)continue;let e=d[2].trim();b[a]=S(e)??e,c=!0}return{args:b,found:c}}(g[2]);if(!j&&g[2].trim())continue;let k=T(i,h,d);e.push({id:`${b}_${e.length}`,type:"function",function:{name:h,arguments:JSON.stringify(k)}}),f.push({start:g.index,end:g.index+g[0].length})}}(a,b,d,c,e,f),e.length>0&&function(a,b){let c=/<(?:(?:\|DSML\|)|(?:||DSML||))calls\s*>[\s\S]*?<\/(?:(?:\|DSML\|)|(?:||DSML||))calls\s*>/gi,d=null;for(;null!==(d=c.exec(a));){let a=d.index,c=a+d[0].length;b.some(b=>b.start>=a&&b.end<=c)&&b.push({start:a,end:c})}}(a,f);let h=Q.test(a)||/<(?:(?:\|tool_call_)|(?:|tool▁call▁))/.test(a);return 0===e.length?{content:a,toolCalls:null,recognized:h}:{content:(0,t.LW)(a,f),toolCalls:e,recognized:h}}(a,b,c);if(i.recognized&&g(i))return z(a,i,c);e=(f=e=a).includes("DSML")?f.replace(M,(a,b,c)=>{let d=b.toLowerCase();if("calls"===d)return"";let e=D(c,"name"),f=null!==e?` name="${e}"`:"";return"invoke"===d?`<tool${f}>`:`<parameter${f}>`}).replace(N,(a,b)=>{let c=b.toLowerCase();return"calls"===c?"":"invoke"===c?"</tool>":"</parameter>"}):f,(/[||]{1,2}DSML[||]{1,2}/i.test(e)||/<parameter\b/i.test(e)||/<\/(?:parameter|invoke|arguments|calls|tool_calls|function_calls)>/i.test(e)||e.includes("This response is AI-generated, for reference only."))&&(e=(e=e.replace(/\s*This response is AI-generated, for reference only\.\s*$/i,"")).replace(/<\/?(?:[||]{1,2})DSML(?:[||]{1,2})\s*(?:calls|tool_calls|function_calls)>/gi,"").replace(/<(\/?)(?:(?:[||]{1,2})DSML(?:[||]{1,2})\s*)?invoke\b/gi,"<$1tool").replace(/<(\/?)(?:(?:[||]{1,2})DSML(?:[||]{1,2})\s*)?parameter\b/gi,"<$1parameter").replace(/(}\s*)<\/(?:parameter|invoke|calls|tool_calls|function_calls)>/gi,"$1"),/<parameter\b/i.test(e)&&!/<tool\b/i.test(e)&&(e=e.replace(/((?:<parameter\b[\s\S]*?<\/parameter>\s*)+)/gi,"<tool>$1</tool>"))),a=e}let j=function(a){let b=[],c=null;for(C.lastIndex=0;null!==(c=C.exec(a));)b.push({start:c.index,end:C.lastIndex,closing:"/"===c[1],suffix:c[2]?c[2].slice(1):"",attrs:c[3]||""});return b}(a);if(0===j.length&&!i)return z(a,(0,t.uQ)(a,b,c),c);let k=function(a){let b=new Map;if(!Array.isArray(a))return b;for(let c of a){let a=c?.function;if(!a?.name)continue;let d=a.parameters,e=d?.properties;e&&"object"==typeof e&&!Array.isArray(e)?b.set(a.name,new Set(Object.keys(e))):b.set(a.name,new Set)}return b}(c),l=function(a,b){let c=[],d=[];for(let b of a){if(!b.closing){d.push(b);continue}let a=d.pop();a&&c.push({open:a,close:b,innerStart:a.end,innerEnd:b.start})}for(let a of d){let d={start:b,end:b,closing:!0,suffix:"",attrs:""};c.push({open:a,close:d,innerStart:a.end,innerEnd:b})}return c}(j,a.length),m=[],n=(0,t.OA)(c);for(let b of l.filter(a=>!l.some(b=>b!==a&&b.open.start>=a.innerStart&&b.close.end<=a.innerEnd)).sort((a,b)=>a.open.start-b.open.start)){let c=b.open.suffix||D(b.open.attrs,"name")||D(b.open.attrs,"id")||"",d=a.slice(b.innerStart,b.innerEnd).replace(J,""),e=function(a,b,c,d){let e,f=b.trim(),g=E(f,"name"),h=E(f,"arguments")??E(f,"parameters"),i=h?null:function(a){let b={},c=!1,d=null;for(F.lastIndex=0;null!==(d=F.exec(a));){let a=d[1]||"",e=d[2],f=D(a,"name");if(!f)continue;let g=D(a,"content")??("string"==typeof e?e.trim():"");b[f]=g,c=!0}return c?b:null}(f),j=!!g||!!h||!!i,k=j?null:(0,t.n)(f);if(!k&&!j){let a=function(a){let b=a.indexOf("{");if(-1===b)return null;let c=0,d="",e=!1;for(let f=b;f<a.length;f+=1){let g=a[f];if(e){e=!1;continue}if(d){"\\"===g?e=!0:g===d&&(d="");continue}if('"'===g||"'"===g){d=g;continue}if("{"===g){c+=1;continue}if("}"===g&&0==(c-=1))return a.slice(b,f+1)}return null}(f);a&&(k=(0,t.n)(a))}let l=k?G(k.name)??G(k.type):null,m=g?(0,t.Ub)(g,c):null,n=l?(0,t.Ub)(l,c):null,o=a?(0,t.Ub)(a,c):null,p=null,q=!1,r=(a,b)=>{!p&&a&&(p=a,q=b)};if(r(m,!1),r(n,!1),r(o,!0),r(g,!1),r(l,!1),r(a,!0),!p&&!a&&k){let a=G(k.command),b=a?(0,t.Ub)(a,c):null;b&&(p=b,q=!1)}if(!p&&i&&d&&d.size>0){let a=Object.keys(i);if(a.length>0){let b=[];for(let[c,e]of d)e.size>0&&a.every(a=>e.has(a))&&b.push(c);1===b.length&&(p=b[0],q=!1)}}if(!p)return null;if(h)e=(0,t.n)(h)??h;else if(i)e=i;else if(k)if(void 0!==k.arguments)e=k.arguments;else if(void 0!==k.params)e=k.params;else if(q)e=k;else{let{name:a,type:b,id:c,command:d,arguments:f,params:g,...h}=k;e=h}else e={};return{name:p,arguments:(0,t.r3)(e)}}(c,d,g,k);if(e){if(n){let a=(0,t.n)(d);if(a&&"string"==typeof a.name&&void 0!==a._nonce&&a._nonce!==n)continue}m.push({start:b.open.start,end:b.close.end,call:e})}}let o=[];if(i)for(let a of(o=i.strip,i.calls))m.push({start:a.start,end:a.end,call:{name:a.name,arguments:(0,t.r3)(a.args)}});if(0===m.length)return{content:a,toolCalls:null};m.sort((a,b)=>a.start-b.start);let p=[],q=[];for(let a of m)p.push({id:`${b}_${p.length}`,type:"function",function:{name:a.call.name,arguments:a.call.arguments}}),q.push({start:a.start,end:a.end});let r=[...q,...o,...j.filter(a=>!q.some(b=>a.start>=b.start&&a.end<=b.end)).map(a=>({start:a.start,end:a.end}))],s=(0,t.LW)(a,r);return p.length>0&&(s=s.replace(/<parameter\b[^>]*>[\s\S]*?(?:<\/parameter>|$)/gi,"").replace(/<\/?(?:parameter|invoke|tool|calls|tool_calls|function_calls)\b[^>]*>/gi,"").replace(/\n{3,}/g,"\n\n").trim()),function(a,b,c){if(!b.toolCalls)return b;let d=(0,t.OA)(c),e=[];for(let f of b.toolCalls){let b=(0,t.n)(f.function.arguments);if(!b)return{content:a,toolCalls:null};if(!("_nonce"in b)){e.push(f);continue}if(b._nonce!==d)return{content:a,toolCalls:null};let{_nonce:g,...h}=b;if(!y(c,f.function.name,h))return{content:a,toolCalls:null};e.push({...f,function:{...f.function,arguments:JSON.stringify(h)}})}return{content:b.content,toolCalls:e}}(a,{content:s,toolCalls:p},c)}function V(a,{min:b=-Number.MAX_SAFE_INTEGER,max:c=Number.MAX_SAFE_INTEGER}={}){return Number.isSafeInteger(a)&&a>=b&&a<=c}async function W(a){let b=await (0,s.proxyAwareFetch)("https://chat.deepseek.com/api/v0/chat/create_pow_challenge",{method:"POST",headers:{...a.headers,"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`},body:JSON.stringify({target_path:a.targetPath}),signal:a.signal??void 0},a.proxyOptions||null);if(!b.ok)throw Error(`create_pow_challenge HTTP ${b.status}`);let c=await b.json(),d={...c?.data?.biz_data?.challenge??c?.biz_data?.challenge,target_path:a.targetPath};if(!d||"string"!=typeof d.algorithm||"string"!=typeof d.challenge||"string"!=typeof d.salt||"string"!=typeof d.signature||!V(d.difficulty,{min:1})||!V(d.expire_at,{min:0})||"string"!=typeof d.target_path)throw Error("Invalid DeepSeek PoW challenge");return d}var X=c(98915);function Y(a){let b=a.toLowerCase();return b.includes("think")||b.includes("r1")||b.includes("reason")}function Z(a){let b=a.toLowerCase();return b.includes("search")||b.includes("fold")}function $(a,b){let c=a.replace(/^FINISHED\s*/,"").replace(/^(WEB_SEARCH|SEARCHING|SEARCH)\s*/i,"");return Z(b)?b.toLowerCase().includes("search-silent")?c.replace(/\[citation:(\d+)\]/g,""):c.replace(/\[citation:(\d+)\]/g,"[$1]"):c}function _(a,b){return 0===a.length||b.toLowerCase().includes("search-silent")?"":a.filter(a=>a.cite_index).sort((a,b)=>(a.cite_index||0)-(b.cite_index||0)).map(a=>`[${a.cite_index}]: [${a.title}](${a.url})`).join("\n")}let aa="https://chat.deepseek.com",ab=`${aa}/api`,ac=`${ab}/v0/chat/completion`,ad={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Origin:aa,Referer:`${aa}/`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36","X-Client-Bundle-Id":"com.deepseek.chat","X-Client-Locale":"en-US","X-Client-Platform":"web","X-Client-Version":"2.0.0"},ae=new Map,af=new Map;function ag(a){if(a.size>=100){let b=a.keys().next().value;b&&a.delete(b)}}function ah(a){let b=a?.apiKey||a?.accessToken;return"string"!=typeof b||0===b.length?null:(0,X.Xm)(b)}function ai(a,b,c){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c??`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}})}function aj(){let a=Date.now(),b=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"===a?b:3&b|8).toString(16)});return`intercom-HWWAFSESTIME=${a}; HWWAFSESID=${Array.from({length:18},()=>Math.floor(16*Math.random()).toString(16)).join("")}; Hm_lvt_${b()}=${Math.floor(a/1e3)}; _frid=${b()}`}async function ak(a,b){let c=await r(a.algorithm,a.challenge,a.salt,a.difficulty,a.expire_at,{signal:b});if(c<0)throw Error("PoW solver failed");return Buffer.from(JSON.stringify({algorithm:a.algorithm,challenge:a.challenge,salt:a.salt,answer:c,signature:a.signature,target_path:a.target_path})).toString("base64")}async function al(a,b){let c=new TextDecoder,d=a.getReader(),e="",f="",g="",h="",i=!1,j=b||"deepseek-web",k=Y(j),l=[],m=a=>{let b=$(a,j);if(!b)return;let c=h;!c&&k?c="thinking":!c&&Z(j)&&(c="content"),"thinking"===c?g+=b:f+=b},n=(a,b=!1)=>{let c;if(b&&("THINK"===(c=String(a?.type||"").toUpperCase())?h="thinking":("ANSWER"===c||"RESPONSE"===c)&&(h="content")),"string"==typeof a?.content&&0!==a.content.length){if(!b){let b=String(a?.type||"").toUpperCase();"THINK"===b?h="thinking":("ANSWER"===b||"RESPONSE"===b)&&(h="content")}m(a.content)}};for(;;){let{done:a,value:b}=await d.read();if(a)break;let f=(e+=c.decode(b,{stream:!0})).split("\n");for(let a of(e=f.pop()||"",f)){if(!a.startsWith("data: ")&&!a.startsWith("data:"))continue;let b=a.replace(/^data:\s*/,"").trim();try{let a=JSON.parse(b),c=a?.p,d=a?.v;if("response/status"===c&&"FINISHED"===d&&(i=!0),d&&"object"==typeof d&&d.response&&(!0===d.response.thinking_enabled?h="thinking":!1===d.response.thinking_enabled&&(h="content"),Array.isArray(d.response.fragments)))for(let a of d.response.fragments)n(a,!1);if("response/fragments"===c)if(Array.isArray(d))for(let a of d)n(a,!0);else d&&"object"==typeof d&&n(d,!0);if("response"===c&&Array.isArray(d))for(let a of d)a?.p==="response"&&a?.v?.thinking_enabled===!0&&(h="thinking");if("response/search_status"===c)continue;if("response/search_results"===c&&Array.isArray(d)){if(a?.o!=="BATCH")l.length=0,l.push(...d);else for(let a of d){let b=String(a?.p||"").match(/^(\d+)\/cite_index$/);if(b){let c=parseInt(b[1],10);l[c]&&(l[c].cite_index=a.v)}}continue}if("string"==typeof d)m(d);else if(Array.isArray(d)&&"response"===c){for(let a of d)if(Array.isArray(a?.v)){let b=a.v.map(a=>a?.content||"").join("");b&&m(b)}}}catch{}}}let o=_(l,j);if(o&&(f+=`
245
245
 
246
246
  ${o}`),!i)throw Error("DeepSeek web session ended before completion (no FINISHED signal received) — likely a dropped cookie session or network interruption upstream. Retry the request.");return{content:f,reasoningContent:g}}async function am(a,b,c,d=null){let e=ae.get(a);if(e&&e.expiresAt>Math.floor(Date.now()/1e3))return e.accessToken;c?.info?.("DEEPSEEK-WEB","Acquiring access token from /users/current...");let f=await (0,s.proxyAwareFetch)(`${ab}/v0/users/current`,{headers:{Authorization:`Bearer ${a}`,...ad},signal:b??void 0},d);if(401===f.status||403===f.status)throw Error("Token invalid or expired — get a new userToken from DeepSeek localStorage");if(!f.ok)throw Error(`users/current HTTP ${f.status}`);let g=await f.json();if(g?.code&&0!==g.code){let b=g.msg||g?.data?.biz_msg||`error code ${g.code}`;throw ae.delete(a),Error(`DeepSeek rejected token: ${b}`)}let h=g?.data?.biz_data||g?.biz_data;if(!h?.token){let a=g?.msg||g?.data?.biz_msg||"Unknown error";throw Error(`Failed to acquire token: ${a}`)}let i=h.token;return ag(ae),ae.set(a,{accessToken:i,expiresAt:Math.floor(Date.now()/1e3)+3600}),c?.info?.("DEEPSEEK-WEB",`Access token acquired (${i.length} chars)`),i}async function an(a,b,c=null){let d=await (0,s.proxyAwareFetch)(`${ab}/v0/chat_session/create`,{method:"POST",headers:{...ad,"Content-Type":"application/json",Authorization:`Bearer ${a}`,Cookie:aj()},body:JSON.stringify({}),signal:b??void 0},c);if(!d.ok)throw Error(`chat_session/create HTTP ${d.status}`);let e=await d.json(),f=e?.data?.biz_data||e?.biz_data,g=f?.chat_session?.id;if(!g)throw Error(`No session id: code=${e?.code}`);return g}async function ao(a,b,c=null){try{await (0,s.proxyAwareFetch)(`${ab}/v0/chat_session/delete`,{method:"POST",headers:{...ad,"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({chat_session_id:b})},c)}catch{}}async function ap(a,b,c="/api/v0/chat/completion",d=null){return W({accessToken:a,headers:ad,signal:b,targetPath:c,proxyOptions:d})}class aq extends d.H{constructor(){super("deepseek-web",{baseUrl:aa})}async testConnection(a,b){try{let c=ah(a);if(!c)return!1;return!!await am(c,b,null,a?.proxyOptions||null)}catch{return!1}}async execute({model:a,body:b,stream:c,credentials:d,signal:g,log:h,proxyOptions:i=null}){var j;let k,l,m=b||{},n=m.tools,o=Array.isArray(n)&&n.length>0,p=o?function(a){if(!Array.isArray(a)||0===a.length)return"";let b=(0,t.OA)(a);if(!b)return"";let c=[];for(let d of a){let a=d?.function;if(!a?.name)continue;let e="string"==typeof a.description&&a.description?a.description:"",f="";try{let c=x(a.parameters),d=x(c?.properties),e=Array.isArray(c?.required)?c.required.filter(a=>"string"==typeof a):[],g=c?{...c,properties:{...d??{},_nonce:{type:"string",const:b}},required:[...new Set([...e,"_nonce"])]}:a.parameters;f=g?JSON.stringify(g):""}catch{f=""}c.push(`- ${a.name}${e?`: ${e}`:""}${f?`
247
247
  parameters: ${f}`:""}`)}return 0===c.length?"":["You can call tools. To call a tool, output ONLY this exact block (no markdown fence):",`<tool>{"name": "<tool_name>", "arguments": { ... }, "_nonce": "${b}"}</tool>`,"Rules:","- Use exactly <tool>...</tool>. Do NOT use <tool:name>, <tool_call>, <name>, <parameter>, id=/name= attributes, <||DSML||> markers, or code fences.",`- Include the secret binding "_nonce": "${b}" exactly as shown.`,'- "name" must be one of the tools below; "arguments" must be a JSON object.',"- When a tool is needed, emit the <tool> block instead of only describing the plan.","- Emit one <tool> block per call; you may put several blocks back to back.","- If your runtime forces DSML instead, every DSML invoke MUST include this exact binding:",`<||DSML|| parameter name="_nonce" string="true">${b}</||DSML|| parameter>`," A DSML invoke without that binding is invalid and will be rejected.","- If no tool is needed, just answer normally without any <tool> block.","","Available tools:",...c].join("\n")}(n):"",q=Array.isArray(m.messages)?m.messages:[],r=p?[{role:"system",content:p},...q]:q,u=d??{},v=ah(u);if(!v)return{response:ai(400,"Missing userToken — paste it from DeepSeek localStorage (DevTools → Application → Local Storage → chat.deepseek.com → userToken)"),url:ac,headers:{},transformedBody:b};let{modelType:w,thinkingEnabled:y,searchEnabled:z}=(l=(k=(a||"").toLowerCase()).includes("pro")||k.includes("expert")?"expert":"default",{modelType:l,thinkingEnabled:k.includes("r1")||k.includes("think")||k.includes("reason")||m?.thinking_enabled===!0||m?.thinking===!0||!!m?.reasoning_effort,searchEnabled:k.includes("search")||m?.search_enabled===!0||m?.search===!0||m?.web_search===!0}),C=u.providerSpecificData??{},D=!0===C.persistSession,E="number"==typeof C.historyWindow&&C.historyWindow>0?C.historyWindow:0;try{let b=Date.now(),d=await am(v,g,h,i);h?.info?.("DEEPSEEK-WEB",`Token acquired in ${Date.now()-b}ms`);let k=o?function(a,b){let c=[];b&&c.push(b);let d=[],e=new Map,f=!1;for(let b of a)if("system"===b.role){let a=B(b.content).trim();a&&c.push(a)}else if("user"===b.role){let a=B(b.content).trim();a&&d.push(`User: ${a}`)}else if("assistant"===b.role){let a=B(b.content).trim(),c=Array.isArray(b.tool_calls)?b.tool_calls:[],g=[];for(let b of(a&&g.push(a),c)){let a="string"==typeof b?.function?.name?b.function.name:"",c=b?.function?.arguments,d="string"==typeof c&&c?c:JSON.stringify(c??{});b?.id&&e.set(b.id,a),g.push(`<tool>{"name": ${JSON.stringify(a)}, "arguments": ${d}}</tool>`),f=!0}g.length&&d.push(`Assistant: ${g.join("\n")}`)}else if("tool"===b.role){let a=B(b.content).trim(),c=b.tool_call_id&&e.get(b.tool_call_id)||b.name||"tool";d.push(`Tool result (${c}): ${a||"(no output)"}`),f=!0}let g=[];return c.length&&g.push(c.join("\n\n")),d.length&&g.push(d.join("\n\n")),f&&g.push("Continue the task using the tool results above. Do NOT repeat tool calls that already succeeded; perform the next step or give the final answer."),g.join("\n\n").replace(/!\[.*?\]\(.*?\)/g,"")}(q,p):function(a,b=0){if(0===a.length)return"";let c=[],d=[],e=new Map,f="";for(let b of a){var g;let a=(Array.isArray(g=b.content)?g.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):String(g||"")).trim();if("system"===b.role)a&&c.push(a);else if("user"===b.role||"assistant"===b.role)for(let c of(a&&d.push({role:b.role,text:a}),"user"===b.role&&(f=a),Array.isArray(b.tool_calls)?b.tool_calls:[]))c?.id&&"string"==typeof c.function?.name&&e.set(c.id,c.function.name);else if("tool"===b.role&&a){let c=b.tool_call_id&&e.get(b.tool_call_id)||b.name||"tool";d.push({role:"tool",text:`(${c}) ${a}`})}}let h=[];c.length>0&&h.push(c.join("\n\n"));let i=b>0?b:20*(d.length>1);if(i>0&&d.length>1){let a=d.slice(-i).map(a=>"assistant"===a.role?`Assistant: ${a.text}`:"tool"===a.role?`Tool result ${a.text}`:`User: ${a.text}`).join("\n\n");h.push(a)}else f&&h.push(f);return h.join("\n\n").replace(/!\[.*?\]\(.*?\)/g,"")}(r,E);h?.info?.("DEEPSEEK-WEB",`model_type=${w}, thinking=${y}, search=${z}, stream=${!1!==c}, persist=${D}, window=${E}`);let l=async(a,b=k)=>{let c=await ap(d,g,void 0,i),e=await ak(c,g),f={...ad,"Content-Type":"application/json",Authorization:`Bearer ${d}`,"X-Ds-Pow-Response":e,"X-Client-Timezone-Offset":String(-60*new Date().getTimezoneOffset()),Cookie:aj()},h={chat_session_id:a,parent_message_id:null,model_type:w,prompt:b,ref_file_ids:Array.isArray(m.ref_file_ids)?m.ref_file_ids:[],thinking_enabled:y,search_enabled:z,preempt:!1};return{resp:await (0,s.proxyAwareFetch)(ac,{method:"POST",headers:f,body:JSON.stringify(h),signal:g??void 0},i),reqHeaders:f,requestPayload:h}},u=async()=>{if(D){let a=af.get(v);if(a)return{sessionId:a.sessionId,reused:!0};let b=await an(d,g,i);return ag(af),af.set(v,{sessionId:b,createdAt:Date.now()}),{sessionId:b,reused:!1}}return{sessionId:await an(d,g,i),reused:!1}};b=Date.now();let{sessionId:x,reused:C}=await u();h?.info?.("DEEPSEEK-WEB",`Session ${C?"reused":"created"} in ${Date.now()-b}ms`),b=Date.now(),h?.info?.("DEEPSEEK-WEB",`POST ${ac}`);let{resp:F,reqHeaders:G,requestPayload:H}=await l(x);if(h?.info?.("DEEPSEEK-WEB",`Completion response in ${Date.now()-b}ms, status=${F.status}`),!F.ok&&D&&C&&(h?.warn?.("DEEPSEEK-WEB","Reused session failed — retrying with a fresh session"),af.delete(v),x=await an(d,g,i),ag(af),af.set(v,{sessionId:x,createdAt:Date.now()}),C=!1,{resp:F,reqHeaders:G,requestPayload:H}=await l(x)),!F.ok){let a=F.status,b=`DeepSeek API error (${a})`;401===a||403===a?(ae.delete(v),b="DeepSeek token expired — get a fresh userToken from localStorage."):429===a&&(b="DeepSeek rate limited. Wait and retry."),h?.warn?.("DEEPSEEK-WEB",b);try{let a=await F.json();a?.code&&0!==a.code&&(b=`DeepSeek error ${a.code}: ${a.msg}`)}catch{}return D&&af.delete(v),ao(d,x,i).catch(()=>{}),{response:ai(a,b),url:ac,headers:G,transformedBody:H}}if((F.headers.get("content-type")||"").includes("application/json"))try{let a=await F.json(),b=function(a){if(!a||"object"!=typeof a)return null;let b="number"==typeof a.code?a.code:void 0,c=a.msg,d=a.data?.biz_msg;return void 0!==b&&0!==b?{code:b,message:("string"==typeof c?c:"string"==typeof d?d:"")||`DeepSeek error ${b}`}:null}(a);if(b){let a=`DeepSeek error ${b.code}: ${b.message}`;h?.warn?.("DEEPSEEK-WEB",a);let c=40003===b.code?401:40002===b.code?429:502;return 40003===b.code&&ae.delete(v),D&&af.delete(v),ao(d,x,i).catch(()=>{}),{response:ai(c,a,b.code),url:ac,headers:G,transformedBody:H}}return D||ao(d,x,i).catch(()=>{}),{response:new Response(JSON.stringify(a),{status:200,headers:{"Content-Type":"application/json"}}),url:ac,headers:G,transformedBody:H}}catch{}let I=D?async()=>{}:()=>ao(d,x),J="string"==typeof a&&a.trim()?a.trim():"deepseek-web";if(o){let{content:a,reasoningContent:b}=await al(F.body,J),j=U(a,`call-${Date.now()}`,n),m=async a=>(await I(),{response:ai(502,a),url:ac,headers:G,transformedBody:H});if(function(a,b){if(A(a))return!0;if("string"!=typeof a||!a.trim())return!1;let c=(0,t.n)(a);if(!c||void 0===c.arguments)return!1;let d=[c.name,c.command].find(a=>"string"==typeof a&&a.length>0)??null;return!!d&&!!(0,t.Ub)(d,(0,t.x2)(b))}(j.content,n)){h?.warn?.("DEEPSEEK-WEB","Malformed tool envelope — retrying once with nonce binding"),af.delete(v),await ao(d,x,i).catch(()=>{}),x=await an(d,g,i),D&&(ag(af),af.set(v,{sessionId:x,createdAt:Date.now()}));let c=[k,"Your previous response used an invalid tool envelope and was rejected.","Retry the requested next action from scratch. Follow the client tool contract exactly, including its _nonce binding and argument schema. Do not emit bare JSON or unbound DSML."].join("\n\n");if({resp:F,reqHeaders:G,requestPayload:H}=await l(x,c),!F.ok)return m("DeepSeek tool-call repair request failed.");if({content:a,reasoningContent:b}=await al(F.body,J),j=U(a,`call-${Date.now()}`,n),A(j.content))return m("DeepSeek emitted an invalid tool call after repair.")}return await I(),function(a){let{stream:b,clientModel:c,content:d,reasoningContent:g,toolCalls:h,reqHeaders:i,requestPayload:j}=a,k=!!h&&h.length>0,l=k?"tool_calls":"stop",m=`chatcmpl-${Date.now()}`,n=Math.floor(Date.now()/1e3);if(b){let a=new TextEncoder,b=(b,d,e)=>{b.enqueue(a.encode((0,f.N)({id:m,object:"chat.completion.chunk",created:n,model:c,system_fingerprint:null,choices:[{index:0,delta:d,finish_reason:e,logprobs:null}]})))};return{response:new Response(new ReadableStream({start(c){b(c,{role:"assistant",content:""},null),g&&b(c,{reasoning_content:g},null),d&&b(c,{content:d},null),k&&b(c,{tool_calls:h.map((a,b)=>({index:b,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}))},null),b(c,{},l),c.enqueue(a.encode(e.$U)),c.close()}}),{status:200,headers:{...e.uB}}),url:ac,headers:i,transformedBody:j}}let o={role:"assistant",content:d||""};return g&&(o.reasoning_content=g),k&&(o.tool_calls=h,d||(o.content=null)),{response:new Response(JSON.stringify({id:m,object:"chat.completion",created:n,model:c,choices:[{index:0,message:o,finish_reason:l,logprobs:null}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}),{status:200,headers:{"Content-Type":"application/json"}}),url:ac,headers:i,transformedBody:j}}({stream:!1!==c,clientModel:J,content:j.content,reasoningContent:b,toolCalls:j.toolCalls,reqHeaders:G,requestPayload:H})}if(!1!==c){let a,b=(j=function(a,b,c=null){let d=new TextEncoder,g=new TextDecoder,h=b||"deepseek-web",i=`chatcmpl-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,j=Math.floor(Date.now()/1e3),k=!1,l="",m=Y(h),n=[],o=null,p=null;return new ReadableStream({async start(b){var q;let r,s=a.getReader();o=s;let t="",u=!1,v=!1,w=(a,c)=>{b.enqueue(d.encode((0,f.N)({id:i,object:"chat.completion.chunk",created:j,model:h,system_fingerprint:null,choices:[{index:0,delta:a,finish_reason:c??null,logprobs:null}]})))},x=()=>{k||(k=!0,w({role:"assistant",content:""}))},{finishOnce:y,hasFinished:z}=(q=()=>{let a=_(n,h);a&&(x(),w({content:`
248
248
 
249
- ${a}`})),x(),w({},"stop"),b.enqueue(d.encode(e.$U)),b.close()},r=!1,{finishOnce:()=>{if(!r){r=!0;try{q()}catch{}}},hasFinished:()=>r}),{scheduleFinishAfterDrain:A,clearFinishedDrain:B,isDrainPending:C}=p=function(a,b=750){let c=null,d=()=>{c&&(clearTimeout(c),c=null)};return{scheduleFinishAfterDrain:()=>{d(),c=setTimeout(()=>{c=null,a()},b)},clearFinishedDrain:d,isDrainPending:()=>null!==c}}(y),D=a=>{let b=$(a,h);if(!b)return;x(),v=!0;let c=l;!c&&m?c="thinking":!c&&Z(h)&&(c="content"),"thinking"===c?w({reasoning_content:b}):w({content:b})},E=(a,b=!1)=>{let c;if(b&&("THINK"===(c=String(a?.type||"").toUpperCase())?l="thinking":("ANSWER"===c||"RESPONSE"===c)&&(l="content")),"string"==typeof a?.content&&0!==a.content.length){if(!b){let b=String(a?.type||"").toUpperCase();"THINK"===b?l="thinking":("ANSWER"===b||"RESPONSE"===b)&&(l="content")}D(a.content)}};try{for(;;){let{done:a,value:b}=await s.read();if(a)break;let c=(t+=g.decode(b,{stream:!0})).split("\n");for(let a of(t=c.pop()||"",c)){let b;if(!a.startsWith("data: ")&&!a.startsWith("data:"))continue;let c=a.replace(/^data:\s*/,"").trim();if("[DONE]"===c)return void y();try{b=JSON.parse(c)}catch{continue}let d=b?.p,e=b?.o,f=b?.v;if(f&&"object"==typeof f&&f.response){!0===f.response.thinking_enabled?l="thinking":!1===f.response.thinking_enabled&&(l="content");let a=f.response.fragments;if(Array.isArray(a))for(let b of a)E(b,!1)}if("response/fragments"===d)if(Array.isArray(f))for(let a of f)E(a,!0);else f&&"object"==typeof f&&E(f,!0);if("response"===d&&Array.isArray(f))for(let a of f)a?.p==="response"&&a?.v?.thinking_enabled===!0&&(l="thinking");if("response/search_status"!==d){if("response/search_results"===d&&Array.isArray(f)){if("BATCH"!==e)n.length=0,n.push(...f);else for(let a of f){let b=String(a?.p||"").match(/^(\d+)\/cite_index$/);if(b){let c=parseInt(b[1],10);n[c]&&(n[c].cite_index=a.v)}}continue}if("string"==typeof f)D(f);else if(Array.isArray(f)&&"response"===d){for(let a of f)if(Array.isArray(a?.v)){let b=a.v.map(a=>a?.content||"").join("");b&&D(b)}}if("response/status"===d&&"FINISHED"===f){u=!0,A();continue}C()&&A()}}}}catch(a){B(),z()||b.error(a);return}if(!u&&!v){B(),b.error(Error("DeepSeek web session ended before completion (no FINISHED signal received) — likely a dropped cookie session or network interruption upstream. Retry the request."));return}u||c?.warn?.("DEEPSEEK-WEB","upstream closed without FINISHED after partial content; completing with what arrived"),y()},cancel(a){p?.clearFinishedDrain(),o?.cancel(a).catch(()=>{})}},{highWaterMark:16384})}(F.body,J,h),a=j.getReader(),new ReadableStream({async pull(b){let{done:c,value:d}=await a.read();if(c){b.close(),I().catch(()=>{});return}b.enqueue(d)},cancel(){a.cancel(),I().catch(()=>{})}}));return{response:new Response(b,{status:200,headers:{...e.uB}}),url:ac,headers:G,transformedBody:H}}let{content:K,reasoningContent:L}=await al(F.body,J);await I();let M={role:"assistant",content:K};L&&(M.reasoning_content=L);let N={id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a||w,choices:[{index:0,message:M,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}};return{response:new Response(JSON.stringify(N),{status:200,headers:{"Content-Type":"application/json"}}),url:ac,headers:G,transformedBody:H}}catch(c){let a=c instanceof Error?c.message:String(c);if(h?.error?.("DEEPSEEK-WEB",`Execute failed: ${a}`),c instanceof Error&&"AbortError"===c.name)return{response:ai(499,"Request cancelled"),url:ac,headers:{},transformedBody:b};return{response:ai(502,`DeepSeek error: ${a}`),url:ac,headers:{},transformedBody:b}}}}new aq},61433:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(74957),g=c(35024);class h extends f.H{constructor(){super("iflow",g.xq.iflow)}generateUUID(){return e().randomUUID()}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${this.generateUUID()}`,d=Date.now(),e=this.config.headers["User-Agent"]||"iFlow-Cli",f=a.apiKey||a.accessToken||"",g=this.createIFlowSignature(e,c,d,f),h={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":g};return a.apiKey&&(h.Authorization=`Bearer ${a.apiKey}`),b&&(h.Accept="text/event-stream"),h}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return c&&b.messages&&!b.stream_options&&(b.stream_options={include_usage:!0}),b}}},63094:(a,b,c)=>{c.d(b,{j9:()=>L});var d=c(55511),e=c.n(d),f=c(74957),g=c(35024),h=c(57247),i=c(41004),j=c(72239),k=c(14170),l=c(86724),m=c(80662),n=c(60210),o=c(20742);let p=null;class q extends Error{constructor(a){super(a),this.name="OpencodeTlsUnavailableError"}}async function r(){return p||(p=(async()=>{let a=await (0,o.A)("wreq-js");if("function"!=typeof a.createSession)throw Error("wreq-js runtime is missing createSession");return a.createSession({emulation:{tlsOptions:{cipherList:"TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA"}}})})().catch(a=>{throw p=null,a})),p}async function s(a,b={},{signal:c,timeoutMs:d=12e4}={}){let e;try{e=await r()}catch(a){throw new q(`wreq-js unavailable (${a instanceof Error?a.message:"unknown"}) — install the optional wreq-js dependency to reach the OpenCode free tier`)}let f={method:b.method||"GET",headers:b.headers,redirect:"follow",timeout:d};void 0!==b.body&&(f.body=b.body),c&&(f.signal=c);let g=await e.fetch(a,f),h={};return g.headers?.forEach?.((a,b)=>{h[b]=a}),new Response(g.body,{status:g.status,statusText:g.statusText,headers:h})}var t=c(37981),u=c(80614);let v="x-opencode-session",w="_opencodeSession",x=/^ses_[0-9a-f]{12}[0-9A-Za-z]{14}$/,y=0,z=0;function A(){let a=e().randomBytes(14),b="";for(let c=0;c<14;c++)b+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[a[c]%62];return b}let B=(1n<<48n)-1n;function C(a,b){return(~(4096n*BigInt(a)+BigInt(b))&B).toString(16).padStart(12,"0")}let D=new Map,E=setInterval(()=>{let a=Date.now();for(let[b,c]of D)a-c.lastUsed>i.v1.sessionTtlMs&&D.delete(b)},i.v1.sessionCleanupIntervalMs);function F(a,b=""){if("string"==typeof a&&x.test(a.trim()))return a.trim();let c=`${b||"generic"}\0${a||""}`,d=D.get(c);if(d)return d.lastUsed=Date.now(),d.sessionId;let e=`ses_${C(Date.now(),1)}${A()}`;return D.size>=5e3&&D.delete(D.keys().next().value),D.set(c,{sessionId:e,lastUsed:Date.now()}),e}function G(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}E.unref&&E.unref();let H=new Map,I=setInterval(()=>{let a=Date.now();for(let[b,c]of H)a-c.lastUsed>i.v1.sessionTtlMs&&H.delete(b)},i.v1.sessionCleanupIntervalMs);function J(a){return String(a||"").replace(/\([^()]+\)\s*$/,"").trim()}function K(a){let b=h.Xg.opencode||"opencode";return(0,h.ux)(b,J(a))===k.h.OPENAI_RESPONSES}I.unref&&I.unref();class L extends f.H{constructor(){super("opencode",g.xq.opencode)}prepareRequestCredentials({body:a,credentials:b,providerSessionId:c,clientTool:d}={}){let f=b||{},g=function(a,b,c,d){let f=b?.rawHeaders||{},g=function(a){if(!a||"object"!=typeof a)return null;for(let[b,c]of Object.entries(a))if(b.toLowerCase()===v){let a=G(c);if(a&&x.test(a))return a}return null}(f);if(g)return g;let h=null;for(let[a,b]of Object.entries(f))if(a.toLowerCase()===v){h=G(b);break}let i=h||G(c);if(i)return F(i,d);if(b?.connectionId||function(a){try{if(!a||"object"!=typeof a)return!1;if("string"==typeof a.session_id&&a.session_id.trim()||"string"==typeof a.conversation_id&&a.conversation_id.trim()||"string"==typeof a.prompt_cache_key&&a.prompt_cache_key.trim()||a.metadata&&"string"==typeof a.metadata.user_id&&a.metadata.user_id.trim()||a.request&&null!=a.request.sessionId&&""!==String(a.request.sessionId))return!0;let b=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(b){let a="";for(let c of b)if(c?.role==="assistant"){let b=c.content;if("string"==typeof b)a+=b;else if(Array.isArray(b))for(let c of b)a+=c?.text||c?.output||"";if(a.length>=50)return!0}}return!1}catch{return!1}}(a)){let c=null;try{c=(0,m.oV)({headers:f,body:a,connectionId:b?.connectionId,scope:"opencode"})}catch{c=null}if(c)return F(c,d)}let j=function(a){let b=a?.connectionId||a?.id;if(b)return`opencode:conn:${String(b).slice(0,128)}`;let c=a?.rawHeaders||{},d=c.authorization||c.Authorization||c["x-api-key"]||c["X-Api-Key"]||"";if(d){let a=e().createHash("sha256").update(String(d)).digest("hex").slice(0,32);return`opencode:auth:${a}`}return"opencode:default"}(b),k=H.get(j);if(k)return k.lastUsed=Date.now(),H.delete(j),H.set(j,k),k.sessionId;let l=function(a=Date.now()){return a!==y&&(y=a,z=0),z++,`ses_${C(a,z)}${A()}`}();return H.size>=1e3&&H.delete(H.keys().next().value),H.set(j,{sessionId:l,lastUsed:Date.now()}),l}(a,f,c,d);return{...f,[w]:g}}transformRequest(a,b,c,d){if(b&&"object"==typeof b&&a&&!b.model&&(b.model=a),b&&"object"==typeof b&&(b.stream=!0),K(a||b?.model)&&b&&"object"==typeof b){"tool_choice"in b&&"auto"!==b.tool_choice&&this.config.quirks?.forceAutoToolChoiceModels?.includes(J(a))&&(b.tool_choice="auto");let c=(0,t.me)(b.input);c&&(b.input=c),Array.isArray(b.input)&&0!==b.input.length||(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),void 0===b.max_output_tokens&&(void 0!==b.max_completion_tokens?b.max_output_tokens=b.max_completion_tokens:void 0!==b.max_tokens&&(b.max_output_tokens=b.max_tokens)),delete b.max_tokens,delete b.max_completion_tokens,function(a,b){let c=b.reasoning,d=c&&"object"==typeof c&&!Array.isArray(c)?c:null,e="string"==typeof b.reasoning_effort?b.reasoning_effort:d?.effort;if("string"!=typeof e)return;let f=J(a||b.model),g=(0,j.k)("opencode",f),h=e.toLowerCase().trim();("max"===h||"ultra"===h)&&g?.length&&!g.includes(h)&&("ultra"===h&&g.includes("max")?h="max":g.includes("xhigh")&&(h="xhigh")),b.reasoning={...d,effort:h},b.reasoning.summary||(b.reasoning.summary="auto"),delete b.reasoning_effort}(a,b),b.stream=!0,b.store=!1,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=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,d=("string"==typeof a.name?a.name:"string"==typeof c?.name?c.name:"").trim();if(!d)return!1;let e="string"==typeof a.description?a.description:"string"==typeof c?.description?c.description:"",f=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:c?.parameters&&"object"==typeof c.parameters&&!Array.isArray(c.parameters)?c.parameters:{type:"object",properties:{}};for(let b of("object"!==f.type||f.properties||(f={...f,properties:{}}),Object.keys(a)))delete a[b];return a.type="function",a.name=d.slice(0,128),e&&(a.description=e),a.parameters=f,b.add(a.name),!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.input)&&(b.input=b.input.filter(a=>!!(!a||"object"!=typeof a||Array.isArray(a))||"reasoning"!==a.type&&((delete a.encrypted_content,delete a.reasoning_encrypted_content,"function_call"===a.type)?!!a.name&&"string"==typeof a.name&&""!==a.name.trim()&&(a.name=a.name.trim().slice(0,128),a.call_id=(0,t.N8)(a.call_id),a.arguments=(0,t.We)(a.arguments),!0):("function_call_output"===a.type&&(a.call_id=(0,t.N8)(a.call_id),a.output=(0,t.DP)(a.output)),!0)))),(0,n.Ke)(b,!0)}else b&&"object"==typeof b&&(b?.reasoning_effort==="auto"&&delete b.reasoning_effort,(0,n.Ke)(b,!1));return(0,l.Z)({provider:this.provider,model:a,body:b})}async execute(a){if(await (0,u.Rm)())return(0,u.nY)(a);let b=this.prepareRequestCredentials(a);return super.execute({...a,credentials:b,directFetch:(a,b)=>s(a,{method:b.method,headers:b.headers,body:b.body},{signal:b.signal})})}buildUrl(a){let b=this.config.baseUrl;return K(a)?`${b}/inference/v1/responses`:`${b}/inference/v1/chat/completions`}buildHeaders(a,b=!0){let c,d=a?.rawHeaders||{},e={};for(let[a,b]of Object.entries(d))e[a.toLowerCase()]=b;let f=e["user-agent"]||"",g=!!(c=String(f||"").match(/^opencode\/[a-z0-9-]+\/(\d+)\.\d+\.\d+\/[a-z0-9-]+$/i))&&parseInt(c[1],10)>=2,h=a?.[w]||this.prepareRequestCredentials({credentials:a})[w];return{"Content-Type":"application/json",Authorization:"Bearer public","User-Agent":g?f:"opencode/latest/2.0.26/cli","x-opencode-client":e["x-opencode-client"]||"cli","x-opencode-session":h,"x-opencode-session-id":h,"x-session-affinity":h,"x-session-id":h,"x-opencode-project":e["x-opencode-project"]||"global",Accept:b?"text/event-stream":"*/*"}}}},71880:(a,b,c)=>{c.d(b,{y:()=>u});var d=c(77598),e=c.n(d),f=c(96179),g=c(41004),h=c(93943),i=c(7630),j=c(57247),k=c(43659);let l=["max_tokens","max_completion_tokens","max_output_tokens"],m=new Set(["4016","4015","4011",4016,4015,4011]),n="currently overloaded",o=Symbol.for("deveco.chatId");function p(a){let b=String(a||""),c=b.indexOf("/");return c>=0?b.slice(c+1):b}function q(a){return a?e().createHash("sha256").update(String(a)).digest("hex").slice(0,32):e().randomUUID().replace(/-/g,"")}function r(a){let b=p(a);return(0,j.KC)("deveco").find(a=>a.id===b)||null}async function s(a,b){let c=a.body.getReader(),d=[],e=0,f=!1,g=null,h=new Promise(a=>{g=setTimeout(()=>a("timeout"),b)}),i=null;try{for(;e<8192;){i=c.read();let a=await Promise.race([i,h]);if("timeout"===a){f=!0;break}if(i=null,a.done||(d.push(a.value),e+=a.value.byteLength,Buffer.from(t(d)).toString("utf8").includes(n)))break}}catch{}return clearTimeout(g),{head:d.length?Buffer.from(t(d)).toString("utf8"):"",replayed:new Response(new ReadableStream({async start(a){try{for(let b of d)a.enqueue(b);let b=i;for(;;){let{done:d,value:e}=await (b||c.read());if(b=null,d)break;a.enqueue(e)}a.close()}catch(b){a.error(b)}},cancel(a){c.cancel(a).catch(()=>{})}}),{status:a.status,statusText:a.statusText,headers:a.headers}),timedOut:f}}function t(a){let b=new Uint8Array(a.reduce((a,b)=>a+b.byteLength,0)),c=0;for(let d of a)b.set(d,c),c+=d.byteLength;return b}class u extends f.L{constructor(a="deveco"){super(a)}async execute(a){var b,c,d;let e,f=q(a?.providerSessionId),h=a?{...a,credentials:{...a.credentials||{},[o]:f}}:a,i=await super.execute(h),j=i?.response;if(!j||200!==j.status)return i;if(!(j.headers?.get?.("content-type")||"").includes("event-stream")){let a=function(a){if(!a||!a.includes("errorCode"))return null;try{let b=JSON.parse(a);if(void 0===b.errorCode)return null;return m.has(b.errorCode)||/token|jwt|auth|login|realname/i.test(String(b.errorMsg||""))?b:null}catch{return null}}(await j.clone().text().catch(()=>""));return a?function(a,b,c){let{response:d}=a;return{...a,response:new Response(b,{status:c,statusText:d.statusText,headers:d.headers})}}(i,JSON.stringify({error:{type:"authentication_error",message:a.errorMsg||"DevEco token rejected — reconnect the account"}}),g.gx.UNAUTHORIZED):i}let l=r(a?.model);if(!l?.contextLength||(b=i,c=a,d=4.5*l.contextLength,(e=b.bodyStr||JSON.stringify(b.transformedBody||c?.body||{})).includes(";base64,")?!(Buffer.byteLength(e.replace(/;base64,[A-Za-z0-9+/=]+/g,""),"utf8")>d):!(e.length>d||!(3*e.length<=d)&&Buffer.byteLength(e,"utf8")>d)))return i;let{head:p,replayed:t,timedOut:u}=await s(j,3e3);return u||!p.includes(n)?{...i,response:t}:{...i,response:new Response(JSON.stringify((0,k.xJ)(g.gx.BAD_REQUEST,`prompt is too long: DevEco built-in models cap the conversation at ${l.contextLength} tokens and this request exceeds that window. Compact or shrink the context, or route this model to a larger-context provider.`)),{status:g.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);return e&&"object"==typeof e&&(e.model=p(e.model||a),e.stream=!0,l.some(a=>null!=e[a])||(e.max_tokens=r(e.model||a)?.maxOutputTokens||32e3),void 0===e.tool_choice||Array.isArray(e.tools)&&0!==e.tools.length||delete e.tool_choice),e}buildHeaders(a,b=!0,c,d,e){let f=a?.accessToken||a?.providerSpecificData?.securityToken||"";return{"Content-Type":"application/json",Authorization:`Bearer ${f}`,"Chat-Id":a?.[o]||q(null),lang:"en",...b?{Accept:"text/event-stream"}:{}}}parseError(a,b){if(b)try{let c=JSON.parse(b),d=c?.error?.message||c?.message;if("string"==typeof d&&d)return{status:a.status,message:d}}catch{}return super.parseError(a,b)}async refreshCredentials(a,b,c=null){let d=await (0,h.MF)(this.provider,a,()=>(0,i.WH)(a,{log:b,proxyOptions:c||a?.proxyOptions||null}));return d?.providerSpecificData&&(d.providerSpecificData={...a?.providerSpecificData||{},...d.providerSpecificData}),d}}},73870:(a,b,c)=>{c.d(b,{w:()=>n});var d=c(74957),e=c(35024),f=c(57247),g=c(8521),h=c(39609),i=c(49426),j=c(41004);let k=new Map;function l(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("authorized_user"===b.type&&b.client_id&&b.client_secret&&b.refresh_token)return b;return null}catch{return null}}async function m(a){if(k.has(a))return k.get(a);let b=await (0,i.S)(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&k.set(a,e),e}class n extends d.H{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,g.Sc)(d?.apiKey),h=l(d?.apiKey),i=!!e||!!h||!!d?.accessToken,j=i?null:d?.apiKey,k=e?.project_id||h?.quota_project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!k)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/global/endpoints/openapi/chat/completions`;return j?`${a}?key=${j}`:a}let m=b?"streamGenerateContent":"generateContent";if(i){if(!k)throw Error("Vertex OAuth/ADC requires a project_id. Add quota_project_id to your ADC JSON or set providerSpecificData.projectId.");let c=d?.providerSpecificData?.location||(0,f.V2)(this.provider,a)?.defaultLocation||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/${c}/publishers/google/models/${a}:${m}`;return b&&(e+="?alt=sse"),e}let n=d?.providerSpecificData?.location||"global",o=k?`https://aiplatform.googleapis.com/v1/projects/${k}/locations/${n}/publishers/google/models/${a}:${m}`:`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${m}`;return b&&(o+="?alt=sse"),j&&(o+=b?`&key=${j}`:`?key=${j}`),o}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,g.Sc)(a?.apiKey);if(!c)return!1;let d=await (0,g.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:k=null}){let n,o=(0,g.Sc)(d?.apiKey),p=l(d?.apiKey);if(o){let a=await (0,g.pb)(o,f);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if(p){let a=await (0,g.I9)(p.refresh_token,p.client_id,p.client_secret,f);if(!a?.accessToken)throw Error("Vertex: failed to refresh access token from ADC JSON (authorized_user)");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!o&&!p&&!d?.providerSpecificData?.projectId){let a=await m(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");f?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let q=this.buildUrl(a,c,0,d),r=this.buildHeaders(d,c),s=this.transformRequest(a,b,c,d),t=(0,i.n)(e,this.config?.timeoutMs||j.Z1);try{n=await (0,h.proxyAwareFetch)(q,{method:"POST",headers:r,body:JSON.stringify(s),signal:t.signal},k)}catch(a){throw t.settleError(a)}finally{t.clear()}return{response:n,url:q,headers:r,transformedBody:s}}}},74161:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(96179),e=c(94526);class f extends d.L{constructor(){super("zcode")}transformRequest(a,b,c,d){return function(a){var b;let c;if(!a||"object"!=typeof a||Array.isArray(a)||!((c=(Array.isArray(b=a.system)?b:"string"==typeof b?[b]:[]).map(a=>"string"==typeof a?a:"string"==typeof a?.text?a.text:"")).length>3)&&e.L.every(a=>c.some(b=>b===a.text)))return a;let d=function(a){if("string"==typeof a)return e.L.some(b=>b.text===a)?null:{text:a,cacheControl:null};if(!Array.isArray(a))return null;let b=null,c=[];for(let d of a){if("string"==typeof d){d&&!e.L.some(a=>a.text===d)&&c.push(d);continue}"string"==typeof d?.text&&d.text&&!e.L.some(a=>a.text===d.text)&&c.push(d.text),d?.cache_control&&(b=d.cache_control)}return c.length?{text:c.join("\n\n"),cacheControl:b}:null}(a.system);if(d)return{...a,system:[...e.L,{type:"text",text:d.text,...d.cacheControl?{cache_control:{...d.cacheControl}}:{}}]};let f=null;if(Array.isArray(a.system))for(let b of a.system)b?.cache_control&&(f=b.cache_control);if(!f)return{...a,system:[...e.L]};let g=e.L.map((a,b)=>b===e.L.length-1?{...a,cache_control:{...f}}:a);return{...a,system:g}}(super.transformRequest(a,b,c,d))}}},76467:(a,b,c)=>{c.d(b,{B:()=>M});var d=c(74957),e=c(35024),f=c(6382),g=c(94755),h=c(8521),i=c(78959),j=c(24),k=c(41004),l=c(68421),m=c(8658),n=c(12009);let o=l.bJ.maxMessageBytes,p=l.bJ.maxHeadersBytes,q=new Set(["assistantResponseEvent","reasoningContentEvent","codeEvent","toolUseEvent","messageStopEvent","metadataEvent","MetadataEvent","contextUsageEvent","meteringEvent","metricsEvent"]),r=new TextEncoder,s=new TextDecoder,t=Object.freeze({tool:"Retry the previous response because its Kiro tool_call wrapper was malformed. If you use the wrapper tool named tool_call, its input must contain a non-empty name and an arguments field.",ellipsis:"Retry the previous response because it ended with only an ellipsis. Return the complete final answer, not only ... or ….",short_final:"Retry the previous response because its final only announced a future action. Complete the check now and return the result or a concrete blocker."}),u=/^(?:(?:(?:現在|接著|接下來|下一步)[,,::\s]*(?:我(?:只)?(?:會|要|將|再)?\s*)?|我只再)(?:補|查|確認|驗證|追(?:查|蹤)?|繼續|檢查|測試)|我(?:會|要|將)(?:再|重新)?(?:補(?:齊|查)?|抓取|查(?:詢)?|確認|驗證|追(?:查|蹤)?|繼續|檢查|測試)|(?:(?:next|now|then)\b[\s,:-]*)?(?:i(?:'ll| will| am going to| need to)|let me)\s+(?:verify|check|confirm|validate|investigate|trace|continue|follow up|test)\b)/iu,v=/^目前證據顯示[\s\S]{1,700}[。.!?;;]\s*最後補查\s+504\s+access\s+log[,,]\s*確認\s+host[//]路徑與是否為集中流量[。.!]?$/iu,w=/^(?:(?:next|now|then)\b[\s,:-]*)?(?:i(?:'ll| will| am going to| need to)|let me)\s+(?:verify|check|confirm|validate|investigate|trace|continue|follow up|test)\b/iu,x=/(?:[:;\n]|[.!?]\s+\S|\b(?:status|checksum|response|deployment)\s+(?:is|are|was|were|matches?|equals?|returned)\b)/iu,y=/^(?:(?:現在|接著|接下來|下一步)[,,::\s]*(?:我(?:只)?(?:會|要|將|再)?\s*)?|我只再|我(?:會|要|將)(?:再|重新)?)(?:補|抓取|查|確認|驗證|追|繼續|檢查|測試)/u,z=/(?:[。!?]\s*\S|(?:版本|狀態|回應|結果|部署|校驗碼)(?:是|為|等於|顯示))/u,A=/(?:請(?:你|先)|你(?:先|需要|可以|提供|確認|批准|允許)|等待(?:你|使用者)|等你|核准|同意|授權|\b(?:after|when|once)\s+you\b|\byour\s+(?:approval|confirmation|permission|input)\b|\bwait(?:ing)?\s+for\s+you\b|\bplease\s+(?:approve|confirm|provide|send)\b)/iu,B=/(?:已(?:經)?完成|完成(?:了|驗證|確認)|修復完成|確認無誤|驗證(?:完成|通過)|測試(?:均)?通過|結論|總結|\b(?:done|completed|fixed|verified|confirmed|passed|in conclusion|summary)\b|\b(?:is|are) complete\b)/iu,C=/(?:顯示|發現|因此|成功|失敗|正常|無錯誤|沒有錯誤|\b(?:found|shows?|showed|because|therefore|succeeded|failed|healthy|green|no errors?)\b)/iu;function D(a,b){let c=Number.parseInt(process.env?.[a]||"",10);return Number.isFinite(c)&&c>0?c:b}function E(a,b){let c=new Uint8Array(b),d=0;for(let b of a)c.set(b,d),d+=b.byteLength;return c}async function F(a,b,c,d){let e=a?.body?.getReader?.();if(!e)return"";let f=[],g=0;try{for(;g<c;){let{done:a,value:h}=await (0,n.S)(e,b,d,"Kiro retry error body stalled");if(a)break;let i=c-g,j=h.byteLength>i?h.slice(0,i):h;if(f.push(j),g+=j.byteLength,h.byteLength>i)break}}finally{await e.cancel("bounded Kiro retry error body").catch(()=>{})}return s.decode(E(f,g))}function G(a){let b=String(a||"").trim().replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase().replace(/[\s-]+/g,"_");return["endturn","end_turn","stop","stop_sequence"].includes(b)?"end_turn":["tooluse","tool_use","tool_calls"].includes(b)?"tool_use":["maxtokens","max_tokens","max_output_tokens","length"].includes(b)?"max_tokens":b||null}let H=new Set(["model_context_window_exceeded","max_tokens"]);function I(a,b){return["malformed_model_output","invalid_model_output"].includes(a)?"retryable_protocol_failure":["cancelled","pause_turn","model_context_window_exceeded"].includes(a)?"terminal_incomplete":"refusal"===a||/(?:content.*filter|guardrail|safety|policy|blocked)/u.test(a)?"terminal_refusal":"max_tokens"===a?b?"terminal_incomplete":"length":a&&!["end_turn","tool_use"].includes(a)?"unknown_failure":b||"tool_use"===a?"tool_use":a&&"end_turn"!==a?"unknown_failure":"complete"}function J(a,b){if(!b)return a;if(!a)return b;let c=a=>{let b=I(a,!1);return"terminal_refusal"===b?6:"terminal_incomplete"===b?5:"unknown_failure"===b?4:"retryable_protocol_failure"===b?3:"length"===b?2:1};return c(b)>c(a)?b:a}function K(a){return["...","…"].includes(String(a||"").trim())}function L(a,b,c){return r.encode(`data: ${JSON.stringify({error:{message:b,type:"upstream_error",code:a,...c?{details:c}:{}}})}
249
+ ${a}`})),x(),w({},"stop"),b.enqueue(d.encode(e.$U)),b.close()},r=!1,{finishOnce:()=>{if(!r){r=!0;try{q()}catch{}}},hasFinished:()=>r}),{scheduleFinishAfterDrain:A,clearFinishedDrain:B,isDrainPending:C}=p=function(a,b=750){let c=null,d=()=>{c&&(clearTimeout(c),c=null)};return{scheduleFinishAfterDrain:()=>{d(),c=setTimeout(()=>{c=null,a()},b)},clearFinishedDrain:d,isDrainPending:()=>null!==c}}(y),D=a=>{let b=$(a,h);if(!b)return;x(),v=!0;let c=l;!c&&m?c="thinking":!c&&Z(h)&&(c="content"),"thinking"===c?w({reasoning_content:b}):w({content:b})},E=(a,b=!1)=>{let c;if(b&&("THINK"===(c=String(a?.type||"").toUpperCase())?l="thinking":("ANSWER"===c||"RESPONSE"===c)&&(l="content")),"string"==typeof a?.content&&0!==a.content.length){if(!b){let b=String(a?.type||"").toUpperCase();"THINK"===b?l="thinking":("ANSWER"===b||"RESPONSE"===b)&&(l="content")}D(a.content)}};try{for(;;){let{done:a,value:b}=await s.read();if(a)break;let c=(t+=g.decode(b,{stream:!0})).split("\n");for(let a of(t=c.pop()||"",c)){let b;if(!a.startsWith("data: ")&&!a.startsWith("data:"))continue;let c=a.replace(/^data:\s*/,"").trim();if("[DONE]"===c)return void y();try{b=JSON.parse(c)}catch{continue}let d=b?.p,e=b?.o,f=b?.v;if(f&&"object"==typeof f&&f.response){!0===f.response.thinking_enabled?l="thinking":!1===f.response.thinking_enabled&&(l="content");let a=f.response.fragments;if(Array.isArray(a))for(let b of a)E(b,!1)}if("response/fragments"===d)if(Array.isArray(f))for(let a of f)E(a,!0);else f&&"object"==typeof f&&E(f,!0);if("response"===d&&Array.isArray(f))for(let a of f)a?.p==="response"&&a?.v?.thinking_enabled===!0&&(l="thinking");if("response/search_status"!==d){if("response/search_results"===d&&Array.isArray(f)){if("BATCH"!==e)n.length=0,n.push(...f);else for(let a of f){let b=String(a?.p||"").match(/^(\d+)\/cite_index$/);if(b){let c=parseInt(b[1],10);n[c]&&(n[c].cite_index=a.v)}}continue}if("string"==typeof f)D(f);else if(Array.isArray(f)&&"response"===d){for(let a of f)if(Array.isArray(a?.v)){let b=a.v.map(a=>a?.content||"").join("");b&&D(b)}}if("response/status"===d&&"FINISHED"===f){u=!0,A();continue}C()&&A()}}}}catch(a){B(),z()||b.error(a);return}if(!u&&!v){B(),b.error(Error("DeepSeek web session ended before completion (no FINISHED signal received) — likely a dropped cookie session or network interruption upstream. Retry the request."));return}u||c?.warn?.("DEEPSEEK-WEB","upstream closed without FINISHED after partial content; completing with what arrived"),y()},cancel(a){p?.clearFinishedDrain(),o?.cancel(a).catch(()=>{})}},{highWaterMark:16384})}(F.body,J,h),a=j.getReader(),new ReadableStream({async pull(b){let{done:c,value:d}=await a.read();if(c){b.close(),I().catch(()=>{});return}b.enqueue(d)},cancel(){a.cancel(),I().catch(()=>{})}}));return{response:new Response(b,{status:200,headers:{...e.uB}}),url:ac,headers:G,transformedBody:H}}let{content:K,reasoningContent:L}=await al(F.body,J);await I();let M={role:"assistant",content:K};L&&(M.reasoning_content=L);let N={id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a||w,choices:[{index:0,message:M,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}};return{response:new Response(JSON.stringify(N),{status:200,headers:{"Content-Type":"application/json"}}),url:ac,headers:G,transformedBody:H}}catch(c){let a=c instanceof Error?c.message:String(c);if(h?.error?.("DEEPSEEK-WEB",`Execute failed: ${a}`),c instanceof Error&&"AbortError"===c.name)return{response:ai(499,"Request cancelled"),url:ac,headers:{},transformedBody:b};return{response:ai(502,`DeepSeek error: ${a}`),url:ac,headers:{},transformedBody:b}}}}new aq},61433:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(74957),g=c(35024);class h extends f.H{constructor(){super("iflow",g.xq.iflow)}generateUUID(){return e().randomUUID()}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${this.generateUUID()}`,d=Date.now(),e=this.config.headers["User-Agent"]||"iFlow-Cli",f=a.apiKey||a.accessToken||"",g=this.createIFlowSignature(e,c,d,f),h={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":g};return a.apiKey&&(h.Authorization=`Bearer ${a.apiKey}`),b&&(h.Accept="text/event-stream"),h}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return c&&b.messages&&!b.stream_options&&(b.stream_options={include_usage:!0}),b}}},63094:(a,b,c)=>{c.d(b,{j9:()=>L});var d=c(55511),e=c.n(d),f=c(74957),g=c(35024),h=c(57247),i=c(41004),j=c(72239),k=c(14170),l=c(86724),m=c(80662),n=c(60210),o=c(20742);let p=null;class q extends Error{constructor(a){super(a),this.name="OpencodeTlsUnavailableError"}}async function r(){return p||(p=(async()=>{let a=await (0,o.A)("wreq-js");if("function"!=typeof a.createSession)throw Error("wreq-js runtime is missing createSession");return a.createSession({emulation:{tlsOptions:{cipherList:"TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA"}}})})().catch(a=>{throw p=null,a})),p}async function s(a,b={},{signal:c,timeoutMs:d=12e4}={}){let e;try{e=await r()}catch(a){throw new q(`wreq-js unavailable (${a instanceof Error?a.message:"unknown"}) — install the optional wreq-js dependency to reach the OpenCode free tier`)}let f={method:b.method||"GET",headers:b.headers,redirect:"follow",timeout:d};void 0!==b.body&&(f.body=b.body),c&&(f.signal=c);let g=await e.fetch(a,f),h={};return g.headers?.forEach?.((a,b)=>{h[b]=a}),new Response(g.body,{status:g.status,statusText:g.statusText,headers:h})}var t=c(37981),u=c(80614);let v="x-opencode-session",w="_opencodeSession",x=/^ses_[0-9a-f]{12}[0-9A-Za-z]{14}$/,y=0,z=0;function A(){let a=e().randomBytes(14),b="";for(let c=0;c<14;c++)b+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[a[c]%62];return b}let B=(1n<<48n)-1n;function C(a,b){return(~(4096n*BigInt(a)+BigInt(b))&B).toString(16).padStart(12,"0")}let D=new Map,E=setInterval(()=>{let a=Date.now();for(let[b,c]of D)a-c.lastUsed>i.v1.sessionTtlMs&&D.delete(b)},i.v1.sessionCleanupIntervalMs);function F(a,b=""){if("string"==typeof a&&x.test(a.trim()))return a.trim();let c=`${b||"generic"}\0${a||""}`,d=D.get(c);if(d)return d.lastUsed=Date.now(),d.sessionId;let e=`ses_${C(Date.now(),1)}${A()}`;return D.size>=5e3&&D.delete(D.keys().next().value),D.set(c,{sessionId:e,lastUsed:Date.now()}),e}function G(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}E.unref&&E.unref();let H=new Map,I=setInterval(()=>{let a=Date.now();for(let[b,c]of H)a-c.lastUsed>i.v1.sessionTtlMs&&H.delete(b)},i.v1.sessionCleanupIntervalMs);function J(a){return String(a||"").replace(/\([^()]+\)\s*$/,"").trim()}function K(a){let b=h.Xg.opencode||"opencode";return(0,h.ux)(b,J(a))===k.h.OPENAI_RESPONSES}I.unref&&I.unref();class L extends f.H{constructor(){super("opencode",g.xq.opencode)}prepareRequestCredentials({body:a,credentials:b,providerSessionId:c,clientTool:d}={}){let f=b||{},g=function(a,b,c,d){let f=b?.rawHeaders||{},g=function(a){if(!a||"object"!=typeof a)return null;for(let[b,c]of Object.entries(a))if(b.toLowerCase()===v){let a=G(c);if(a&&x.test(a))return a}return null}(f);if(g)return g;let h=null;for(let[a,b]of Object.entries(f))if(a.toLowerCase()===v){h=G(b);break}let i=h||G(c);if(i)return F(i,d);if(b?.connectionId||function(a){try{if(!a||"object"!=typeof a)return!1;if("string"==typeof a.session_id&&a.session_id.trim()||"string"==typeof a.conversation_id&&a.conversation_id.trim()||"string"==typeof a.prompt_cache_key&&a.prompt_cache_key.trim()||a.metadata&&"string"==typeof a.metadata.user_id&&a.metadata.user_id.trim()||a.request&&null!=a.request.sessionId&&""!==String(a.request.sessionId))return!0;let b=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(b){let a="";for(let c of b)if(c?.role==="assistant"){let b=c.content;if("string"==typeof b)a+=b;else if(Array.isArray(b))for(let c of b)a+=c?.text||c?.output||"";if(a.length>=50)return!0}}return!1}catch{return!1}}(a)){let c=null;try{c=(0,m.oV)({headers:f,body:a,connectionId:b?.connectionId,scope:"opencode"})}catch{c=null}if(c)return F(c,d)}let j=function(a){let b=a?.connectionId||a?.id;if(b)return`opencode:conn:${String(b).slice(0,128)}`;let c=a?.rawHeaders||{},d=c.authorization||c.Authorization||c["x-api-key"]||c["X-Api-Key"]||"";if(d){let a=e().createHash("sha256").update(String(d)).digest("hex").slice(0,32);return`opencode:auth:${a}`}return"opencode:default"}(b),k=H.get(j);if(k)return k.lastUsed=Date.now(),H.delete(j),H.set(j,k),k.sessionId;let l=function(a=Date.now()){return a!==y&&(y=a,z=0),z++,`ses_${C(a,z)}${A()}`}();return H.size>=1e3&&H.delete(H.keys().next().value),H.set(j,{sessionId:l,lastUsed:Date.now()}),l}(a,f,c,d);return{...f,[w]:g}}transformRequest(a,b,c,d){if(b&&"object"==typeof b&&a&&!b.model&&(b.model=a),b&&"object"==typeof b&&(b.stream=!0),K(a||b?.model)&&b&&"object"==typeof b){"tool_choice"in b&&"auto"!==b.tool_choice&&this.config.quirks?.forceAutoToolChoiceModels?.includes(J(a))&&(b.tool_choice="auto");let c=(0,t.me)(b.input);c&&(b.input=c),Array.isArray(b.input)&&0!==b.input.length||(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),void 0===b.max_output_tokens&&(void 0!==b.max_completion_tokens?b.max_output_tokens=b.max_completion_tokens:void 0!==b.max_tokens&&(b.max_output_tokens=b.max_tokens)),delete b.max_tokens,delete b.max_completion_tokens,function(a,b){let c=b.reasoning,d=c&&"object"==typeof c&&!Array.isArray(c)?c:null,e="string"==typeof b.reasoning_effort?b.reasoning_effort:d?.effort;if("string"!=typeof e)return;let f=J(a||b.model),g=(0,j.k)("opencode",f),h=e.toLowerCase().trim();("max"===h||"ultra"===h)&&g?.length&&!g.includes(h)&&("ultra"===h&&g.includes("max")?h="max":g.includes("xhigh")&&(h="xhigh")),b.reasoning={...d,effort:h},b.reasoning.summary||(b.reasoning.summary="auto"),delete b.reasoning_effort}(a,b),b.stream=!0,b.store=!1,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=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,d=("string"==typeof a.name?a.name:"string"==typeof c?.name?c.name:"").trim();if(!d)return!1;let e="string"==typeof a.description?a.description:"string"==typeof c?.description?c.description:"",f=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:c?.parameters&&"object"==typeof c.parameters&&!Array.isArray(c.parameters)?c.parameters:{type:"object",properties:{}};for(let b of("object"!==f.type||f.properties||(f={...f,properties:{}}),Object.keys(a)))delete a[b];return a.type="function",a.name=d.slice(0,128),e&&(a.description=e),a.parameters=f,b.add(a.name),!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.input)&&(b.input=b.input.filter(a=>!!(!a||"object"!=typeof a||Array.isArray(a))||"reasoning"!==a.type&&((delete a.encrypted_content,delete a.reasoning_encrypted_content,"function_call"===a.type)?!!a.name&&"string"==typeof a.name&&""!==a.name.trim()&&(a.name=a.name.trim().slice(0,128),a.call_id=(0,t.N8)(a.call_id),a.arguments=(0,t.We)(a.arguments),!0):("function_call_output"===a.type&&(a.call_id=(0,t.N8)(a.call_id),a.output=(0,t.DP)(a.output)),!0)))),(0,n.Ke)(b,!0)}else b&&"object"==typeof b&&(b?.reasoning_effort==="auto"&&delete b.reasoning_effort,(0,n.Ke)(b,!1));return(0,l.Z)({provider:this.provider,model:a,body:b})}async execute(a){if(await (0,u.Rm)())return(0,u.nY)(a);let b=this.prepareRequestCredentials(a);return super.execute({...a,credentials:b,directFetch:(a,b)=>s(a,{method:b.method,headers:b.headers,body:b.body},{signal:b.signal})})}buildUrl(a){let b=this.config.baseUrl;return K(a)?`${b}/inference/v1/responses`:`${b}/inference/v1/chat/completions`}buildHeaders(a,b=!0){let c,d=a?.rawHeaders||{},e={};for(let[a,b]of Object.entries(d))e[a.toLowerCase()]=b;let f=e["user-agent"]||"",g=!!(c=String(f||"").match(/^opencode\/[a-z0-9-]+\/(\d+)\.\d+\.\d+\/[a-z0-9-]+$/i))&&parseInt(c[1],10)>=2,h=a?.[w]||this.prepareRequestCredentials({credentials:a})[w];return{"Content-Type":"application/json",Authorization:"Bearer public","User-Agent":g?f:"opencode/latest/2.0.26/cli","x-opencode-client":e["x-opencode-client"]||"cli","x-opencode-session":h,"x-opencode-session-id":h,"x-session-affinity":h,"x-session-id":h,"x-opencode-project":e["x-opencode-project"]||"global",Accept:b?"text/event-stream":"*/*"}}}},71880:(a,b,c)=>{c.d(b,{y:()=>u});var d=c(77598),e=c.n(d),f=c(96179),g=c(41004),h=c(93943),i=c(7630),j=c(57247),k=c(43659);let l=["max_tokens","max_completion_tokens","max_output_tokens"],m=new Set(["4016","4015","4011",4016,4015,4011]),n="currently overloaded",o=Symbol.for("deveco.chatId");function p(a){let b=String(a||""),c=b.indexOf("/");return c>=0?b.slice(c+1):b}function q(a){return a?e().createHash("sha256").update(String(a)).digest("hex").slice(0,32):e().randomUUID().replace(/-/g,"")}function r(a){let b=p(a);return(0,j.KC)("deveco").find(a=>a.id===b)||null}async function s(a,b){let c=a.body.getReader(),d=[],e=0,f=!1,g=null,h=new Promise(a=>{g=setTimeout(()=>a("timeout"),b)}),i=null;try{for(;e<8192;){i=c.read();let a=await Promise.race([i,h]);if("timeout"===a){f=!0;break}if(i=null,a.done||(d.push(a.value),e+=a.value.byteLength,Buffer.from(t(d)).toString("utf8").includes(n)))break}}catch{}return clearTimeout(g),{head:d.length?Buffer.from(t(d)).toString("utf8"):"",replayed:new Response(new ReadableStream({async start(a){try{for(let b of d)a.enqueue(b);let b=i;for(;;){let{done:d,value:e}=await (b||c.read());if(b=null,d)break;a.enqueue(e)}a.close()}catch(b){a.error(b)}},cancel(a){c.cancel(a).catch(()=>{})}}),{status:a.status,statusText:a.statusText,headers:a.headers}),timedOut:f}}function t(a){let b=new Uint8Array(a.reduce((a,b)=>a+b.byteLength,0)),c=0;for(let d of a)b.set(d,c),c+=d.byteLength;return b}class u extends f.L{constructor(a="deveco"){super(a)}async execute(a){var b,c,d;let e,f=q(a?.providerSessionId),h=a?{...a,credentials:{...a.credentials||{},[o]:f}}:a,i=await super.execute(h),j=i?.response;if(!j||200!==j.status)return i;if(!(j.headers?.get?.("content-type")||"").includes("event-stream")){let a=function(a){if(!a||!a.includes("errorCode"))return null;try{let b=JSON.parse(a);if(void 0===b.errorCode)return null;return m.has(b.errorCode)||/token|jwt|auth|login|realname/i.test(String(b.errorMsg||""))?b:null}catch{return null}}(await j.clone().text().catch(()=>""));return a?function(a,b,c){let{response:d}=a;return{...a,response:new Response(b,{status:c,statusText:d.statusText,headers:d.headers})}}(i,JSON.stringify({error:{type:"authentication_error",message:a.errorMsg||"DevEco token rejected — reconnect the account"}}),g.gx.UNAUTHORIZED):i}let l=r(a?.model);if(!l?.contextLength||(b=i,c=a,d=4.5*l.contextLength,(e=b.bodyStr||JSON.stringify(b.transformedBody||c?.body||{})).includes(";base64,")?!(Buffer.byteLength(e.replace(/;base64,[A-Za-z0-9+/=]+/g,""),"utf8")>d):!(e.length>d||!(3*e.length<=d)&&Buffer.byteLength(e,"utf8")>d)))return i;let{head:p,replayed:t,timedOut:u}=await s(j,3e3);return u||!p.includes(n)?{...i,response:t}:{...i,response:new Response(JSON.stringify((0,k.xJ)(g.gx.BAD_REQUEST,`prompt is too long: DevEco built-in models cap the conversation at ${l.contextLength} tokens and this request exceeds that window. Compact or shrink the context, or route this model to a larger-context provider.`)),{status:g.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);return e&&"object"==typeof e&&(e.model=p(e.model||a),e.stream=!0,l.some(a=>null!=e[a])||(e.max_tokens=r(e.model||a)?.maxOutputTokens||32e3),void 0===e.tool_choice||Array.isArray(e.tools)&&0!==e.tools.length||delete e.tool_choice),e}buildHeaders(a,b=!0,c,d,e){let f=a?.accessToken||a?.providerSpecificData?.securityToken||"";return{"Content-Type":"application/json",Authorization:`Bearer ${f}`,"Chat-Id":a?.[o]||q(null),lang:"en",...b?{Accept:"text/event-stream"}:{}}}parseError(a,b){if(b)try{let c=JSON.parse(b),d=c?.error?.message||c?.message;if("string"==typeof d&&d)return{status:a.status,message:d}}catch{}return super.parseError(a,b)}async refreshCredentials(a,b,c=null){let d=await (0,h.MF)(this.provider,a,()=>(0,i.WH)(a,{log:b,proxyOptions:c||a?.proxyOptions||null}));return d?.providerSpecificData&&(d.providerSpecificData={...a?.providerSpecificData||{},...d.providerSpecificData}),d}}},73870:(a,b,c)=>{c.d(b,{w:()=>n});var d=c(74957),e=c(35024),f=c(57247),g=c(8590),h=c(39609),i=c(49426),j=c(41004);let k=new Map;function l(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("authorized_user"===b.type&&b.client_id&&b.client_secret&&b.refresh_token)return b;return null}catch{return null}}async function m(a){if(k.has(a))return k.get(a);let b=await (0,i.S)(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&k.set(a,e),e}class n extends d.H{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,g.Sc)(d?.apiKey),h=l(d?.apiKey),i=!!e||!!h||!!d?.accessToken,j=i?null:d?.apiKey,k=e?.project_id||h?.quota_project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!k)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/global/endpoints/openapi/chat/completions`;return j?`${a}?key=${j}`:a}let m=b?"streamGenerateContent":"generateContent";if(i){if(!k)throw Error("Vertex OAuth/ADC requires a project_id. Add quota_project_id to your ADC JSON or set providerSpecificData.projectId.");let c=d?.providerSpecificData?.location||(0,f.V2)(this.provider,a)?.defaultLocation||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/${c}/publishers/google/models/${a}:${m}`;return b&&(e+="?alt=sse"),e}let n=d?.providerSpecificData?.location||"global",o=k?`https://aiplatform.googleapis.com/v1/projects/${k}/locations/${n}/publishers/google/models/${a}:${m}`:`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${m}`;return b&&(o+="?alt=sse"),j&&(o+=b?`&key=${j}`:`?key=${j}`),o}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,g.Sc)(a?.apiKey);if(!c)return!1;let d=await (0,g.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:k=null}){let n,o=(0,g.Sc)(d?.apiKey),p=l(d?.apiKey);if(o){let a=await (0,g.pb)(o,f);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if(p){let a=await (0,g.I9)(p.refresh_token,p.client_id,p.client_secret,f);if(!a?.accessToken)throw Error("Vertex: failed to refresh access token from ADC JSON (authorized_user)");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!o&&!p&&!d?.providerSpecificData?.projectId){let a=await m(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");f?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let q=this.buildUrl(a,c,0,d),r=this.buildHeaders(d,c),s=this.transformRequest(a,b,c,d),t=(0,i.n)(e,this.config?.timeoutMs||j.Z1);try{n=await (0,h.proxyAwareFetch)(q,{method:"POST",headers:r,body:JSON.stringify(s),signal:t.signal},k)}catch(a){throw t.settleError(a)}finally{t.clear()}return{response:n,url:q,headers:r,transformedBody:s}}}},74161:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(96179),e=c(94526);class f extends d.L{constructor(){super("zcode")}transformRequest(a,b,c,d){return function(a){var b;let c;if(!a||"object"!=typeof a||Array.isArray(a)||!((c=(Array.isArray(b=a.system)?b:"string"==typeof b?[b]:[]).map(a=>"string"==typeof a?a:"string"==typeof a?.text?a.text:"")).length>3)&&e.L.every(a=>c.some(b=>b===a.text)))return a;let d=function(a){if("string"==typeof a)return e.L.some(b=>b.text===a)?null:{text:a,cacheControl:null};if(!Array.isArray(a))return null;let b=null,c=[];for(let d of a){if("string"==typeof d){d&&!e.L.some(a=>a.text===d)&&c.push(d);continue}"string"==typeof d?.text&&d.text&&!e.L.some(a=>a.text===d.text)&&c.push(d.text),d?.cache_control&&(b=d.cache_control)}return c.length?{text:c.join("\n\n"),cacheControl:b}:null}(a.system);if(d)return{...a,system:[...e.L,{type:"text",text:d.text,...d.cacheControl?{cache_control:{...d.cacheControl}}:{}}]};let f=null;if(Array.isArray(a.system))for(let b of a.system)b?.cache_control&&(f=b.cache_control);if(!f)return{...a,system:[...e.L]};let g=e.L.map((a,b)=>b===e.L.length-1?{...a,cache_control:{...f}}:a);return{...a,system:g}}(super.transformRequest(a,b,c,d))}}},76467:(a,b,c)=>{c.d(b,{B:()=>M});var d=c(74957),e=c(35024),f=c(6382),g=c(94755),h=c(8590),i=c(78959),j=c(24),k=c(41004),l=c(68421),m=c(8658),n=c(12009);let o=l.bJ.maxMessageBytes,p=l.bJ.maxHeadersBytes,q=new Set(["assistantResponseEvent","reasoningContentEvent","codeEvent","toolUseEvent","messageStopEvent","metadataEvent","MetadataEvent","contextUsageEvent","meteringEvent","metricsEvent"]),r=new TextEncoder,s=new TextDecoder,t=Object.freeze({tool:"Retry the previous response because its Kiro tool_call wrapper was malformed. If you use the wrapper tool named tool_call, its input must contain a non-empty name and an arguments field.",ellipsis:"Retry the previous response because it ended with only an ellipsis. Return the complete final answer, not only ... or ….",short_final:"Retry the previous response because its final only announced a future action. Complete the check now and return the result or a concrete blocker."}),u=/^(?:(?:(?:現在|接著|接下來|下一步)[,,::\s]*(?:我(?:只)?(?:會|要|將|再)?\s*)?|我只再)(?:補|查|確認|驗證|追(?:查|蹤)?|繼續|檢查|測試)|我(?:會|要|將)(?:再|重新)?(?:補(?:齊|查)?|抓取|查(?:詢)?|確認|驗證|追(?:查|蹤)?|繼續|檢查|測試)|(?:(?:next|now|then)\b[\s,:-]*)?(?:i(?:'ll| will| am going to| need to)|let me)\s+(?:verify|check|confirm|validate|investigate|trace|continue|follow up|test)\b)/iu,v=/^目前證據顯示[\s\S]{1,700}[。.!?;;]\s*最後補查\s+504\s+access\s+log[,,]\s*確認\s+host[//]路徑與是否為集中流量[。.!]?$/iu,w=/^(?:(?:next|now|then)\b[\s,:-]*)?(?:i(?:'ll| will| am going to| need to)|let me)\s+(?:verify|check|confirm|validate|investigate|trace|continue|follow up|test)\b/iu,x=/(?:[:;\n]|[.!?]\s+\S|\b(?:status|checksum|response|deployment)\s+(?:is|are|was|were|matches?|equals?|returned)\b)/iu,y=/^(?:(?:現在|接著|接下來|下一步)[,,::\s]*(?:我(?:只)?(?:會|要|將|再)?\s*)?|我只再|我(?:會|要|將)(?:再|重新)?)(?:補|抓取|查|確認|驗證|追|繼續|檢查|測試)/u,z=/(?:[。!?]\s*\S|(?:版本|狀態|回應|結果|部署|校驗碼)(?:是|為|等於|顯示))/u,A=/(?:請(?:你|先)|你(?:先|需要|可以|提供|確認|批准|允許)|等待(?:你|使用者)|等你|核准|同意|授權|\b(?:after|when|once)\s+you\b|\byour\s+(?:approval|confirmation|permission|input)\b|\bwait(?:ing)?\s+for\s+you\b|\bplease\s+(?:approve|confirm|provide|send)\b)/iu,B=/(?:已(?:經)?完成|完成(?:了|驗證|確認)|修復完成|確認無誤|驗證(?:完成|通過)|測試(?:均)?通過|結論|總結|\b(?:done|completed|fixed|verified|confirmed|passed|in conclusion|summary)\b|\b(?:is|are) complete\b)/iu,C=/(?:顯示|發現|因此|成功|失敗|正常|無錯誤|沒有錯誤|\b(?:found|shows?|showed|because|therefore|succeeded|failed|healthy|green|no errors?)\b)/iu;function D(a,b){let c=Number.parseInt(process.env?.[a]||"",10);return Number.isFinite(c)&&c>0?c:b}function E(a,b){let c=new Uint8Array(b),d=0;for(let b of a)c.set(b,d),d+=b.byteLength;return c}async function F(a,b,c,d){let e=a?.body?.getReader?.();if(!e)return"";let f=[],g=0;try{for(;g<c;){let{done:a,value:h}=await (0,n.S)(e,b,d,"Kiro retry error body stalled");if(a)break;let i=c-g,j=h.byteLength>i?h.slice(0,i):h;if(f.push(j),g+=j.byteLength,h.byteLength>i)break}}finally{await e.cancel("bounded Kiro retry error body").catch(()=>{})}return s.decode(E(f,g))}function G(a){let b=String(a||"").trim().replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase().replace(/[\s-]+/g,"_");return["endturn","end_turn","stop","stop_sequence"].includes(b)?"end_turn":["tooluse","tool_use","tool_calls"].includes(b)?"tool_use":["maxtokens","max_tokens","max_output_tokens","length"].includes(b)?"max_tokens":b||null}let H=new Set(["model_context_window_exceeded","max_tokens"]);function I(a,b){return["malformed_model_output","invalid_model_output"].includes(a)?"retryable_protocol_failure":["cancelled","pause_turn","model_context_window_exceeded"].includes(a)?"terminal_incomplete":"refusal"===a||/(?:content.*filter|guardrail|safety|policy|blocked)/u.test(a)?"terminal_refusal":"max_tokens"===a?b?"terminal_incomplete":"length":a&&!["end_turn","tool_use"].includes(a)?"unknown_failure":b||"tool_use"===a?"tool_use":a&&"end_turn"!==a?"unknown_failure":"complete"}function J(a,b){if(!b)return a;if(!a)return b;let c=a=>{let b=I(a,!1);return"terminal_refusal"===b?6:"terminal_incomplete"===b?5:"unknown_failure"===b?4:"retryable_protocol_failure"===b?3:"length"===b?2:1};return c(b)>c(a)?b:a}function K(a){return["...","…"].includes(String(a||"").trim())}function L(a,b,c){return r.encode(`data: ${JSON.stringify({error:{message:b,type:"upstream_error",code:a,...c?{details:c}:{}}})}
250
250
 
251
251
  data: [DONE]
252
252
 
@@ -270,7 +270,7 @@ Content-Type: ${d||"application/octet-stream"}\r
270
270
 
271
271
  `)),c.enqueue(i.encode(l.$U)),j=!0;return}h&&(n.handleInner(h,c),o())};return new Response(new ReadableStream({async start(a){try{let b;for(;-1!==(b=g.indexOf("\n"));){let c=g.slice(0,b);if(g=g.slice(b+1),p(c,a),j){await e.cancel().catch(()=>{}),a.close();return}}for(h&&(g+=d.decode()).length>0&&(p(g,a),g="");!j&&!h;){let b,{done:c,value:f}=await e.read();if(c){(g+=d.decode()).length>0&&(p(g,a),g="");break}for(g+=d.decode(f,{stream:!0});-1!==(b=g.indexOf("\n"));){let c=g.slice(0,b);if(g=g.slice(b+1),p(c,a),j){await e.cancel().catch(()=>{}),a.close();return}}}}catch{}finally{if(!j)try{n.flush(a),j=!0}catch{}try{a.close()}catch{}await e.cancel().catch(()=>{})}},cancel:()=>e.cancel().catch(()=>{})}),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache"}})}class Z extends g.H{constructor(a="qoder"){super(a,h.xq[a]),this.region="qoder-cn"===a?"cn":"intl"}buildUrl(a){return`${(0,n.e9)(a,this.region)}/algo${n.F8}?FetchKeys=llm_model_result&AgentId=agent_common&Encode=1`}async execute({model:a,body:b,stream:c,credentials:e,signal:f,log:g,proxyOptions:h=null}){let k,l,p,q=e?.apiKey||e?.accessToken;if((0,o.zh)(q))try{e=await (0,o._M)(e,h,f,this.region)}catch(a){return g?.error?.("QODER",`PAT exchange failed: ${a.message}`),{response:new Response(JSON.stringify({error:{message:`qoder PAT exchange failed: ${a.message}`}}),{status:401,headers:{"Content-Type":"application/json"}}),url:this.buildUrl(e),headers:{},transformedBody:b}}let z=this.buildUrl(e),A=e?.providerSpecificData||{};if(!A.userId)return{response:new Response(JSON.stringify({error:{message:"qoder credential is missing userId; reconnect the account"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:z,headers:{},transformedBody:b};if(!e?.accessToken)return{response:new Response(JSON.stringify({error:{message:"qoder credential is missing accessToken; reconnect the account"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:z,headers:{},transformedBody:b};try{({qoderKey:k,payload:l}=await S({model:a,body:b,credentials:e,log:g,proxyOptions:h,signal:f,region:this.region}))}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message}}),{status:400,headers:{"Content-Type":"application/json"}}),url:z,headers:{},transformedBody:b}}let B=`${this.provider}/${k}`,C=async a=>{let c,g,l=Buffer.from(JSON.stringify(a),"utf8"),n=Buffer.from(function(a){let b=(Buffer.isBuffer(a)?a:"string"==typeof a?Buffer.from(a,"utf8"):Buffer.from(a)).toString("base64"),c=b.length,e=Math.floor(c/3),f=b.slice(c-e)+b.slice(e,c-e)+b.slice(0,e),g=Buffer.alloc(c);for(let a=0;a<c;a++){let b=f.charCodeAt(a);b<128&&d[b]>=0?g[a]=d[b]:g[a]=b}return g.toString("latin1")}(l),"latin1");try{c=(0,r.dE)(n,z,{userId:A.userId,authToken:e.accessToken,name:e.displayName||"",email:e.email||"",machineId:A.machineId||(0,r.if)(A.userId)})}catch(a){return{error:new Response(JSON.stringify({error:{message:`qoder cosy signing failed: ${a.message}`}}),{status:401,headers:{"Content-Type":"application/json"}}),url:z,headers:{},transformedBody:b}}let o={"Content-Type":"application/json",Accept:"text/event-stream","Cache-Control":"no-cache","X-Model-Key":k,"X-Model-Source":a.model_config&&a.model_config.source||"system","Accept-Encoding":"identity",...c},p=this.config?.timeoutMs||m.pH,q=(0,j.n)(f,p);try{g=await (0,i.proxyAwareFetch)(z,{method:"POST",headers:o,body:n,signal:q.signal},{...h,strictProxy:!0})}catch(a){if(f?.aborted)throw f.reason??a;throw q.settleError(a)}finally{q.clear()}return{response:g,url:z,headers:o,transformedBody:a}},D=async(a,b,c,d,g)=>{let j=function(a,{requestSetId:b,modelKey:c,queueType:d}={}){let e=new URLSearchParams;return b&&e.set("requestSetId",b),c&&e.set("modelKey",c),d&&e.set("queueType",d),`${a}/algo/api/v2/service/ask/queue/status?${e.toString()}`}((0,n.e9)(e,this.region),{requestSetId:c,modelKey:a,queueType:b});try{let a=await (0,i.proxyAwareFetch)(j,{method:"GET",headers:{Accept:"application/json","Accept-Encoding":"identity","X-Request-ID":d,"X-Session-ID":g||"",...(0,r.dE)(Buffer.alloc(0),j,{userId:A.userId,authToken:e.accessToken,name:e.displayName||"",email:e.email||"",machineId:A.machineId||(0,r.if)(A.userId)})},signal:f},h);if(!a.ok)return{endpointOk:!1,info:null};let b=function(a){let b="string"==typeof a?x(a):a;if(!t(b))return null;let c=w(b.isQueued);return void 0===c?null:{isQueued:c,serviceAvailable:w(b.serviceAvailable),modelKey:v(b.modelKey),queueType:v(b.queueType),queueCount:u(b.queueCount),retryAfterSeconds:u(b.retryAfterSeconds),waitTime:u(b.waitTime)}}(await a.text().catch(()=>""));return b?{endpointOk:!0,info:b}:{endpointOk:!1,info:null}}catch(a){if(f?.aborted)throw a;return{endpointOk:!1,info:null}}},E=Number.isFinite(p=Number(process.env.QODER_MODEL_QUEUE_MAX_WAIT_MS))&&p>0?p:18e4,F=Date.now(),G=null,H=!0,I=!1,J=l;for(;;){let a=await C(J);if(a.error)return{response:a.error,url:a.url,headers:a.headers,transformedBody:a.transformedBody};if(!a.response.ok)return{response:a.response,url:a.url,headers:a.headers,transformedBody:a.transformedBody};let b=a.response.body.getReader(),c=new TextDecoder,d=await X(b,c),e=d.isError?function(a){let b="string"==typeof a?x(a):a;if(!b)return null;let c=function(a){let b=[],c=new Set,d=new Set,e=[a];for(;e.length>0;){let a=e.shift();if(t(a)){if(c.has(a))continue;for(let f of(c.add(a),b.push(a),s)){let b=a[f];if(t(b)||Array.isArray(b))e.push(b);else if("string"==typeof b&&!d.has(b)){d.add(b);let a=x(b);a&&e.push(a)}}}else if(Array.isArray(a))for(let b of a)(t(b)||Array.isArray(b))&&e.push(b)}return b}(b),d={code:void 0,subCode:void 0,isQueued:void 0,modelKey:void 0,queueType:void 0,queueCount:void 0,serviceAvailable:void 0,retryAfterSeconds:void 0,waitTime:void 0};for(let a of c)void 0===d.code&&(d.code=v(a.code)),void 0===d.subCode&&(d.subCode=v(a.subCode)),void 0===d.isQueued&&(d.isQueued=w(a.isQueued)),void 0===d.modelKey&&(d.modelKey=v(a.modelKey)),void 0===d.queueType&&(d.queueType=v(a.queueType)),void 0===d.queueCount&&(d.queueCount=u(a.queueCount)),void 0===d.serviceAvailable&&(d.serviceAvailable=w(a.serviceAvailable)),void 0===d.retryAfterSeconds&&(d.retryAfterSeconds=u(a.retryAfterSeconds)),void 0===d.waitTime&&(d.waitTime=u(a.waitTime));return!0!==d.isQueued&&!1!==d.serviceAvailable&&"RESOURCE_LIMIT"!==d.subCode&&"10605"!==d.code?null:d}(d.message||""):null;if(!e){if(d.isError){let b=d.isBilling?m.gx.FORBIDDEN:Number.isInteger(d.statusVal)&&d.statusVal>=400&&d.statusVal<=599?d.statusVal:m.gx.BAD_GATEWAY;return{response:new Response(JSON.stringify({error:{message:d.message||"qoder upstream error",code:d.statusVal}}),{status:b,headers:{"Content-Type":"application/json"}}),url:a.url,headers:a.headers,transformedBody:a.transformedBody}}let c=new Response(new ReadableStream({start(a){let c=!1,e=()=>{if(!c){c=!0;try{a.close()}catch{}}},f=b=>{if(c)return!1;try{return a.enqueue(b),!0}catch{return c=!0,!1}},g=new TextEncoder;if(d.consumed&&!f(g.encode(d.consumed)))return;if(d.upstreamDone)return void e();let h=()=>{c||b.read().then(({done:a,value:b})=>{a?e():f(b)&&h()}).catch(()=>e())};h()},cancel:()=>b.cancel().catch(()=>{})}),{status:a.response.status,statusText:a.response.statusText,headers:a.response.headers});return{response:await Y(c,B,g),url:a.url,headers:a.headers,transformedBody:a.transformedBody}}G=e;let h=Date.now()-F;if(h>=E)return g?.warn?.("QODER",`model queue wait timed out after ${Math.round(h/1e3)}s for ${B} (queueType=${G.queueType||"?"}, waitTime=${G.waitTime??"?"}s)`),{response:new Response(JSON.stringify({error:{message:`qoder model "${k}" is still queued after ${Math.round(h/1e3)}s (queueType=${G.queueType||"?"}); retry shortly`,code:"qoder_model_queued",type:"rate_limit_error"}}),{status:503,headers:{"Content-Type":"application/json"}}),url:a.url,headers:a.headers,transformedBody:a.transformedBody};let i=y(e);if(H){let a=J.request_set_id,b=await D(e.modelKey||k,e.queueType,a,J.request_id,J.session_id);b.endpointOk?!1===b.info.isQueued?I?(H=!1,g?.info?.("QODER",`queue status claims ready but "${k}" is still refused; falling back to timed replays`)):(I=!0,g?.info?.("QODER",`model "${k}" reported ready (queueType=${b.info.queueType||"?"}); replaying`),i=0):(i=y(b.info,{fromStatus:!0}),g?.info?.("QODER",`model "${k}" still queued (queueType=${b.info.queueType||"?"}, queueCount=${b.info.queueCount??"?"}); rechecking in ${Math.round(i/1e3)}s`)):H=!1}i>0&&await function(a,b){return a>0?new Promise((c,d)=>{if(b?.aborted)return void d(b.reason);let e=setTimeout(()=>{b?.removeEventListener?.("abort",f),c()},a),f=()=>{clearTimeout(e),d(b.reason)};b?.addEventListener?.("abort",f,{once:!0})}):Promise.resolve()}(i,f)}}async refreshCredentials(){return!1}parseError(a,b){let c=super.parseError(a,b),d=function(a){let b=T(a);if(!U.test(b))return null;let c=b.match(/"retryAfterSeconds"\s*:\s*(\d+)/),d=c?Number(c[1]):0;return d>0?1e3*d:null}(b);return d&&(c.resetsAtMs=Date.now()+d),c}needsRefresh(){return!1}}},77919:(a,b,c)=>{c.d(b,{$:()=>M});var d=c(74957),e=c(35024),f=c(41004),g=c(39609),h=c(49426),i=c(78959),j=c(92536),k=c(22115);function l(a){let b=a?.content;return"string"==typeof b?b:Array.isArray(b)?b.map(a=>"string"==typeof a?a:a?.text??"").filter(Boolean).join("\n"):""}function m(a){for(let b=a.length-1;b>=0;b--)if("user"===String(a[b]?.role||""))return l(a[b]);return""}function n(a,b){let c=b&&"object"==typeof b?b:{},d=Object.keys(c).sort().map(a=>{var b;return`${a}=${"string"==typeof(b=c[a])?b.replace(/\s+/g," ").replace(/["'`]/g,"").toLowerCase():b}`});return`${a}(${d.join(",")})`}function o(a){let b=a&&"object"==typeof a?a.properties:null;return b&&"object"==typeof b?b:{}}function p(a){let b=a&&"object"==typeof a?a.required:null;return Array.isArray(b)?b:[]}function q(a){return`${a.name} ${a.description||""}`.toLowerCase()}function r(a,b){let c=new Set(Object.keys(o(a.parameters)).map(a=>a.toLowerCase()));return b.some(a=>c.has(a.toLowerCase()))}function s(a){return/\b(mcp|mcpproxy|upstream|registry|oauth|cache key|token usage|handoff|context management|memory|memories|lsp|language server|plan file|server management|tool discovery)\b/.test(q(a))}function t(a){return/\b(ctx_|memory|memories|conversation history|session notes|project memories|context\.db)\b/.test(q(a))}function u(a){if(s(a))return!1;let b=q(a),c=a.name.toLowerCase(),d=/\b(bash|shell|terminal|run_command|execute_command|exec|command)\b/.test(c),e=/\b(?:run|execute).{0,24}\b(?:shell|bash|terminal|command)\b|\b(?:shell|bash|terminal)\b/.test(b);return d||r(a,["command","cmd","shell"])&&e}function v(a){let b=q(a);return r(a,["filePath","file_path","path"])&&/\b(read|file|filesystem|open)\b/.test(b)&&!/\b(write|edit|patch|delete|remove|grep|search|bash|shell|command)\b/.test(b)}function w(a){let b=q(a),c=a.name.toLowerCase(),d=/\b(webfetch|web.fetch|fetch_url|url_fetch|read_url|browse_page|browsepage)\b/.test(c),e=/\b(?:fetch|browse|read).{0,32}\b(?:url|uri|web page|page content)\b|\b(?:url|uri|web page|page content).{0,32}\b(?:fetch|browse|read)\b/.test(b);return d||!s(a)&&r(a,["url","uri"])&&e}function x(a){let b=q(a);return r(a,["query","search"])&&/\b(web|internet|exa|browser|browse|serp)\b/.test(b)&&!s(a)&&!t(a)}function y(...a){for(let b of a)if("string"==typeof b&&b.trim())return b}function z(a){return null!=a&&""!==a}function A(a,b,c,d){let e=c.toolsByName.get(a);if(!e)return b;let f=o(e.parameters),g=p(e.parameters),h={...b};for(let a of("filePath"in f&&!z(h.filePath)&&(h.filePath=y(b.filePath,b.file_path,b.path)),"file_path"in f&&!z(h.file_path)&&(h.file_path=y(b.file_path,b.filePath,b.path)),"path"in f&&!z(h.path)&&(h.path=y(b.path,b.filePath,b.file_path)),"query"in f&&!z(h.query)&&(h.query=y(b.query,b.search,b.input)),"url"in f&&!z(h.url)&&(h.url=y(b.url,b.uri)),"uri"in f&&!z(h.uri)&&(h.uri=y(b.uri,b.url)),"input"in f&&!z(h.input)&&(h.input=y(b.input,b.query,b.command)),g)){if(z(h[a]))continue;let b=function(a,b,c){let d=a.toLowerCase(),e=y(b.command,b.cmd,b.shell,b.input),f=y(b.filePath,b.file_path,b.path,b.filename),g=y(b.query,b.search,b.input),h=y(b.url,b.uri);return"command"===d||"cmd"===d?e:"filepath"===d||"file_path"===d||"path"===d?f:"query"===d||"search"===d?g:"url"===d||"uri"===d?h:"input"===d?g||h||e||f:"description"===d||"reason"===d?e?`Execute shell command: ${e}`:f?`Read file: ${f}`:h?`Fetch URL: ${h}`:g?`Search: ${g}`:`Grok Web ${c} tool call`:void 0}(a,h,d);void 0!==b&&(h[a]=b)}let i={},j=new Set([...Object.keys(f),...g]);for(let a of Object.keys(h))(0===j.size||j.has(a))&&(i[a]=h[a]);return i}function B(a,b,c){if(!c.enabled||!a||"object"!=typeof a)return null;let d=b||`call_${crypto.randomUUID()}`,e=(a,b)=>{if(!b||"object"!=typeof b)return null;let e=function(a,b){let c=null;for(let d of b.toolsByName.values()){let e=function(a,b,c){let d=a.name.toLowerCase(),e=(a.description||"").toLowerCase(),f=new Set(Object.keys(o(a.parameters)).map(a=>a.toLowerCase())),g=`${d} ${e}`,h=String(c||"").toLowerCase(),i=0;if("bash"===b)u(a)||(i-=80),"bash"===d&&(i+=100),["shell","terminal","run_command","execute_command","exec","command"].includes(d)&&(i+=80),(f.has("command")||f.has("cmd"))&&(i+=60),/bash|shell|terminal|command|execute|run/.test(g)&&(i+=25),/read|search|grep|web|http|browser|context|note|memory/.test(d)&&(i-=50);else if("readFile"===b)v(a)||(i-=60),["read","read_file","readfile","file_read"].includes(d)&&(i+=100),(f.has("filepath")||f.has("file_path")||f.has("path"))&&(i+=50),/read.*file|file.*read|filesystem/.test(g)&&(i+=25),/write|edit|delete|remove|bash|shell|command/.test(g)&&(i-=50);else("webSearch"===b||"browsePage"===b)&&((t(a)||s(a))&&(i-=180),("browsePage"===b||/https?:\/\//.test(String(h||"")))&&(w(a)||(i-=60),/webfetch|web_fetch|fetch|browse|browse_page|read_url|url_fetch|page/.test(d)&&(i+=140),(f.has("url")||f.has("uri"))&&(i+=90),/fetch|browse|url|web page|page content|extract.*url|read.*url/.test(g)&&(i+=55),/websearch|web_search|search/.test(d)&&!(f.has("url")||f.has("uri"))&&(i-=80)),"webSearch"!==b||x(a)||(i-=60),["web_search","websearch","search"].includes(d)&&(i+=100),(f.has("query")||f.has("search"))&&(i+=50),/web.*search|search.*web|internet|browse/.test(g)&&(i+=25),/file|bash|shell|command|write|edit/.test(g)&&(i-=50));return i}(d,a,b.lastUserText);e<=0||(!c||e>c.score)&&(c={name:d.name,score:e})}return c?.name||null}(a,c);if(!e)return null;let f=A(e,b,c,a);return c.executedToolKeys.has(n(e,f))?null:{id:d,type:"function",function:{name:e,arguments:JSON.stringify(f)}}},f=a.bash?.args?e("bash",a.bash.args):null;if(f)return f;let g=(a.readFile||a.read_file)?.args?e("readFile",(a.readFile||a.read_file).args):null;if(g)return g;let h=a.webSearch?.args?e("webSearch",a.webSearch.args):null;if(h)return h;let i=(a.browsePage||a.browse_page)?.args?e("browsePage",(a.browsePage||a.browse_page).args):null;return i||null}function C(a,b){if(!b.enabled||!a.includes("<tool_call>"))return null;let c=[];for(let d of function*(a,b,c){for(;;){let d=b.exec(a);if(null===d)return;let e=d.index+d[0].length,f=c.exec(a.slice(e));if(null===f||(yield{inner:a.slice(e,e+f.index),after:e+f.index+f[0].length},b.lastIndex=c.lastIndex=0,!(a=a.slice(e+f.index+f[0].length)).includes("<tool_call>")))return}}(String(a),/<tool_call>/g,/<\/tool_call>/g)){let a;try{a=JSON.parse(d.inner.trim())}catch{continue}if(!a||"object"!=typeof a)continue;let e="string"==typeof a.name?a.name.trim():"";if(!e||!b.toolsByName.has(e))continue;let f=A(e,function(a){if(!a)return{};if("object"==typeof a)return a;if("string"==typeof a)try{let b=JSON.parse(a);return b&&"object"==typeof b?b:{}}catch{return{input:a}}return{}}(a.arguments),b,"clientTool");b.executedToolKeys.has(n(e,f))||c.push({id:"string"==typeof a.id&&a.id.trim()?a.id.trim():`call_${crypto.randomUUID()}`,type:"function",function:{name:e,arguments:JSON.stringify(f)}})}return c.length>0?c:null}var D=c(10079);let E=e.xq["grok-web"].baseUrl,F={"grok-3":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_FAST",isThinking:!1},"grok-3-mini":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_MINI_THINKING",isThinking:!0},"grok-3-thinking":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_THINKING",isThinking:!0},"grok-4":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_FAST",isThinking:!1},"grok-4-mini":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_MINI_THINKING",isThinking:!0},"grok-4-thinking":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_THINKING",isThinking:!0},"grok-4-heavy":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_EXPERT",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-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20-beta":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_420",isThinking:!1}};function G(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 H(){return btoa(.5>Math.random()?`x1:TypeError: Cannot read properties of null (reading 'children["${G(5,!0)}"]')`:`x1:TypeError: Cannot read properties of undefined (reading '${G(10)}')`)}function I(a){let b=new Uint8Array(a);return crypto.getRandomValues(b),Array.from(b,a=>a.toString(16).padStart(2,"0")).join("")}async function*J(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*K(a,b,c){let d="",e="",f=!1;for await(let g of J(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.toolUsageCard){yield{toolCard:a.toolUsageCard,toolCardId:a.toolUsageCardId,fingerprint:d,responseId:e};continue}if(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}}async function L(a,b,c,d,e,f,g){let h="",i="",j=[],k=[];for await(let b of K(a,e,f)){if(b.fingerprint&&(i=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){j.push(b.thinking);continue}if(b.toolCard&&g){let a=B(b.toolCard,b.toolCardId,g);a&&k.push(a);continue}if(b.done)break;b.fullMessage?h=b.fullMessage:b.delta&&(h+=b.delta)}let l={role:"assistant",content:h};j.length>0&&(l.reasoning_content=j.join("\n"));let m=(g?.enabled?C(h,g):null)||(k.length?k:null),n="stop";m?.length&&(l.content=h.replace(/<tool_call>[\s\S]*?<\/tool_call>/g,"").trim(),l.tool_calls=m,n="tool_calls");let o=Math.ceil(h.length/4),p=Math.ceil(h.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:i||null,choices:[{index:0,message:l,finish_reason:n,logprobs:null}],usage:{prompt_tokens:o,completion_tokens:p,total_tokens:o+p}}),{status:200,headers:{"Content-Type":"application/json"}})}class M extends d.H{constructor(){super("grok-web",e.xq["grok-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:r,proxyOptions:y=null}){let z,A,G=b?.messages;if(!G||!Array.isArray(G)||0===G.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:E,headers:{},transformedBody:b};let J=F[a];J||r?.info?.("GROK-WEB",`Unmapped model ${a}, defaulting to grok-4.1-fast`);let{grokModel:M,modelMode:N,isThinking:O}=J||F["grok-4.1-fast"],P=function(a){let b=Array.isArray(a?.tools)?a.tools:[],c=Array.isArray(a?.messages)?a.messages:[],d=a?.tool_choice??"auto",e=function(a){let b=new Set,c=[];for(let d of a)if("assistant"===String(d?.role||"")&&Array.isArray(d.tool_calls))for(let a of d.tool_calls){let d=a?.function||{},e={};try{e=JSON.parse(d.arguments||"{}")}catch{}b.add(n(d.name||"",e)),c.push(function(a,b){let c=b&&"object"==typeof b?b:{},d=Object.keys(c).sort().map(a=>String(c[a]).slice(0,60)).join(", ");return`${a}(${d})`}(d.name||"tool",e))}return{keys:b,summaries:c}}(c);if("none"===d)return{enabled:!1,toolsByName:new Map,lastUserText:m(c),executedToolKeys:e.keys,completedToolCalls:e.summaries};let f=b.map(a=>{let b=a?.function;if(a?.type!=="function"||!b||"object"!=typeof b)return null;let c="string"==typeof b.name?b.name.trim():"";return c?{name:c,..."string"==typeof b.description?{description:b.description}:{},parameters:b.parameters||{type:"object",properties:{}}}:null}).filter(Boolean),g=d&&"object"==typeof d&&"string"==typeof d.function?.name?d.function.name:null,h=g?f.filter(a=>a.name===g):f;return{enabled:h.length>0,toolsByName:new Map(h.map(a=>[a.name,a])),lastUserText:m(c),executedToolKeys:e.keys,completedToolCalls:e.summaries}}(b),Q=P.enabled?function(a,b,c){var d,e;let f=(d=b,e=c,d.enabled?['CLIENT_TOOLS: use this caller-runtime tool list as the tool interface for this request. To call one, respond only with <tool_call>{"name":"exact_tool_name","arguments":{...}}</tool_call>. After tool results, answer normally.',`tool_choice=${JSON.stringify(e??"auto")}`,...d.completedToolCalls.length?["completed_tool_calls:",...d.completedToolCalls.map(a=>`- ${a}`),"Do not repeat completed tool calls unless a different result is required; use their tool results to answer."]:[],"tools (priority order for this request):",...[...d.toolsByName.values()].map((a,b)=>({tool:a,index:b,score:w(a)?90:x(a)?85:v(a)?75:u(a)?70:/\b(glob|grep|search files?|file search|content search)\b/.test(q(a))?60:/\b(edit|write|patch|modify|apply)\b/.test(q(a))?50:/\b(task|agent|delegate|subagent)\b/.test(q(a))?40:t(a)?20:s(a)?10:30})).sort((a,b)=>b.score-a.score||a.index-b.index).map(({tool:a},b)=>{var c;let d,e,f;return`${b+1}. name: ${a.name}${d=Object.keys(o(c=a.parameters)),e=p(c),f=[],d.length&&f.push(`args=${d.join(",")}`),e.length&&f.push(`required=${e.join(",")}`),f.length?` (${f.join("; ")})`:""}${a.description?`
272
272
  description: ${a.description}`:""}`})].join("\n"):""),g=[],h=-1;for(let b=a.length-1;b>=0;b--)if("user"===String(a[b]?.role||"")){h=b;break}let i=[];for(let b=0;b<a.length;b++){let c=a[b],d=String(c?.role||"user");"developer"===d&&(d="system");let e=l(c);if("tool"===d){if(b<h)continue;let a="string"==typeof c.name?c.name:"unknown_tool";e=`CLIENT TOOL RESULT from caller runtime for ${a} (${c.tool_call_id||"unknown_call"}). Use this result to answer; do not call the same tool again:
273
- ${e}`}else if("assistant"===d&&Array.isArray(c.tool_calls)){if(b<h)continue;let a=c.tool_calls.map(a=>({id:a.id,function:a.function}));e=[e,`Previous assistant tool calls: ${JSON.stringify(a)}`].filter(Boolean).join("\n")}e.trim()&&i.push({role:d,text:e})}let j=-1;for(let a=i.length-1;a>=0;a--)if("user"===i[a].role){j=a;break}for(let a=0;a<i.length;a++)g.push(a===j?i[a].text:`${i[a].role}: ${i[a].text}`);return f.trim()&&g.push(f.trim()),g.join("\n\n")}(G,P,b?.tool_choice):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")}(G);if(!Q.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:E,headers:{},transformedBody:b};let R={temporary:!0,modelName:M,modelMode:N,message:Q,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}},S=I(16),T=I(8),U={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":'"Chromium";v="146", "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":k.CO,"x-statsig-id":H(),"Browser-Id":crypto.randomUUID(),"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${S}-${T}-00`};if(d.apiKey){let a=(0,D.lT)(d.apiKey);a&&(U.Cookie=a)}r?.info?.("GROK-WEB",`Query to ${a} (grok=${M}, mode=${N}), len=${Q.length}`);let V=!(0,g.hasProxyEgress)(E,y),W=(0,h.n)(e,this.config?.timeoutMs||f.Z1);try{z=V?await (0,k.X7)(E,{method:"POST",headers:U,body:JSON.stringify(R),timeoutMs:12e4,signal:W.signal}):await (0,g.proxyAwareFetch)(E,{method:"POST",headers:U,body:JSON.stringify(R),signal:W.signal},y)}catch(a){if(a instanceof k.jm)return{response:new Response(JSON.stringify({error:{message:a.message,type:"configuration_error",code:"TLS_CLIENT_UNAVAILABLE"}}),{status:503,headers:{"Content-Type":"application/json"}}),url:E,headers:U,transformedBody:R};return r?.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:E,headers:U,transformedBody:R}}finally{W.clear()}if(!z.ok){let a=z.status,b=`Grok returned HTTP ${a}`;return(0,k.ZB)(await z.clone().text().catch(()=>""))?b="Grok returned a Cloudflare challenge — cf_clearance in the pasted Cookie header no longer matches this machine. Re-copy the full Cookie header from a logged-in grok.com browser on this machine.":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."),r?.warn?.("GROK-WEB",b),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:E,headers:U,transformedBody:R}}if(!z.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:E,headers:U,transformedBody:R};let X=`chatcmpl-grok-${crypto.randomUUID().slice(0,12)}`,Y=Math.floor(Date.now()/1e3);if(c){var Z;let b;A=new Response((Z=z.body,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let f="",g="",h=!1,k=[];for await(let i of K(Z,O,e)){if(i.fingerprint&&(f=i.fingerprint),i.error){c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{content:`[Error: ${i.error}]`},finish_reason:null,logprobs:null}]})));break}if(i.thinking){c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{reasoning_content:i.thinking},finish_reason:null,logprobs:null}]})));continue}if(i.toolCard&&P){let a=B(i.toolCard,i.toolCardId,P);a&&k.push(a);continue}if(i.done)break;if(i.delta)if(P?.enabled){var d;if(g+=i.delta,d=g,/<tool(?:_call)?$|<tool_call[^>]*$/.test(d)||d.includes("<tool_call>")&&!d.includes("</tool_call>")){h=!0;continue}if(h)continue;let e=Math.min(12,g.length),k=g.slice(0,g.length-e);k&&c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{content:k},finish_reason:null,logprobs:null}]}))),g=g.slice(g.length-e)}else c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{content:i.delta},finish_reason:null,logprobs:null}]})));i.fullMessage&&P?.enabled&&(g=i.fullMessage)}let l=(P?.enabled?C(g,P):null)||(k.length?k:null);if(l?.length){for(let d=0;d<l.length;d++)c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{tool_calls:[{index:d,...l[d]}]},finish_reason:null,logprobs:null}]})));c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{},finish_reason:"tool_calls",logprobs:null}]})))}else g&&c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{content:g},finish_reason:null,logprobs:null}]}))),c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]})));c.enqueue(b.encode(i.$U))}catch(d){c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,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(i.$U))}finally{c.close()}}})),{status:200,headers:{...i.uB}})}else A=await L(z.body,a,X,Y,O,e,P);return{response:A,url:E,headers:U,transformedBody:R}}async generateMedia({prompt:a,kind:b="image",size:c,duration:d,n:e=1,credentials:f,signal:g,log:h}){if("image"!==b&&"video"!==b)throw Error("Grok Web supports image and video generation only");if(!a?.trim())throw Error("prompt is required for media generation");let i="video"===b?1:Math.max(1,e),j=(0,D.lT)(String(f?.apiKey||""));if(!j)throw Error("Grok Web requires the grok.com Cookie header (sso) pasted into the connection");let l=[];for(let e=0;e<i;e++){if(g?.aborted)throw Error("aborted");let e=crypto.randomUUID(),f={"Content-Type":"application/json",Accept:"text/event-stream","User-Agent":k.CO,"Sec-Ch-Ua":'"Chromium";v="146", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',Origin:"https://grok.com",Referer:"https://grok.com/","Browser-Id":e,"x-xai-request-id":e,"x-statsig-id":H(),Cookie:j},i="video"===b?function({prompt:a,size:b,duration:c}){return{modelName:"imagine-video-gen",message:`${a} --mode=custom`,enableImageStreaming:!0,enableSideBySide:!0,sendFinalMetadata:!0,responseMetadata:{experiments:[],modelConfigOverride:{modelMap:{}}},mediaGenInput:{textToVideo:{prompt:a,aspectRatio:/^\d{1,2}:\d{1,2}$/.test(String(b||""))?String(b):"16:9",duration:Number.isFinite(Number(c))&&Number(c)>0?Number(c):6,resolutionName:"480p"}},kind:"CONVERSATION_KIND_IMAGINE"}}({prompt:a,size:c,duration:d}):{temporary:!0,modelName:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_FAST",message:c?`Generate an image (${c}): ${a}`:`Generate an image: ${a}`,fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!0,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!0,imageGenerationCount:1,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}},m=await (0,k.X7)(E,{method:"POST",headers:f,body:JSON.stringify(i),timeoutMs:"video"===b?3e5:17e4,signal:g}),n=await m.text();if(!m.ok||(0,k.ZB)(n))throw Error((0,k.ZB)(n)?"Grok returned a Cloudflare challenge — re-copy the full Cookie header (with cf_clearance) from a logged-in grok.com browser on this machine":`grok ${b} request failed: HTTP ${m.status} ${n.slice(0,200)}`);if("video"===b){let a=function(a){let b=[],c=a=>{if(!(b.length>8)){if("string"==typeof a){if(/\.mp4(\?|#|$)/i.test(a))return void b.push(a);let d=a.trim();if(d.startsWith("{")||d.startsWith("["))try{c(JSON.parse(d))}catch{}return}if(Array.isArray(a))return void a.forEach(c);a&&"object"==typeof a&&Object.values(a).forEach(c)}};for(let b of String(a).split("\n")){let a=b.trim();if(a.startsWith("{"))try{c(JSON.parse(a))}catch{}}return b[b.length-1]||null}(n);if(!a)throw h?.warn?.("GROK-WEB",`no video URL in stream, tail: ${n.slice(-300)}`),Error("grok returned no video asset — quota may be exhausted (1 video/day) or the prompt was moderated");let b=await (0,k.X7)(a.startsWith("http")?a:`https://assets.grok.com/${a}`,{method:"GET",headers:{"User-Agent":k.CO,Referer:"https://grok.com/",Cookie:j},timeoutMs:12e4,signal:g});if(!b.ok)throw Error(`video download failed: HTTP ${b.status}`);let c=Buffer.from(await b.arrayBuffer());l.push({b64:c.toString("base64"),mime:"video/mp4"});break}let o=null;for(let a of n.split("\n")){let b,c;if(!a.trim().startsWith("{"))continue;try{b=JSON.parse(a)}catch{continue}let d=b?.result?.response?.cardAttachment?.jsonData;if("string"!=typeof d)continue;try{c=JSON.parse(d)}catch{continue}let e=c?.image_chunk;e&&Number(e.progress)>=100&&e.imageUrl&&(o=e)}if(!o)throw Error("grok returned no completed image chunk — prompt may have been moderated or image generation is unavailable for this account");let p=await (0,k.X7)(`https://assets.grok.com/${o.imageUrl}`,{method:"GET",headers:{"User-Agent":k.CO,Referer:"https://grok.com/",Cookie:j},timeoutMs:6e4,signal:g});if(!p.ok)throw Error(`image download failed: HTTP ${p.status}`);let q=Buffer.from(await p.arrayBuffer());l.push({b64:q.toString("base64"),mime:o.mimeType||"image/jpeg"})}return h?.info?.("GROK-WEB",`${b} generation completed (${l.length} item(s))`),l}}},80479:(a,b,c)=>{c.d(b,{qG:()=>J,we:()=>K,gZ:()=>u,zD:()=>L}),c(4573);var d=c(20742),e=c(31421),f=c(77030);let g=null,h=null;async function i(){let a=process.env.OBSCURA_BIN;if(a)return a;let{resolve:b}=await Promise.resolve().then(c.t.bind(c,76760,23)),{existsSync:d,accessSync:e,constants:f}=await Promise.resolve().then(c.t.bind(c,73024,23));for(let a of(process.env.PATH||"").split(":")){let c=b(a,"obscura");try{if(e(c,f.X_OK),d(c))return c}catch{}}return null}async function j(a,b){let c=Date.now()+b;for(;Date.now()<c;){try{let b=new AbortController,c=setTimeout(()=>b.abort(),1500),d=a.replace(/^ws/,"http").replace(/\/$/,"")+"/json/version",e=await fetch(d,{signal:b.signal});if(clearTimeout(c),e.ok)return!0}catch{}await new Promise(a=>setTimeout(a,250))}return!1}async function k(){let a;if(void 0!==(a=process.env.NINEROUTER_BROWSER_POOL)&&("off"===a||"0"===a||"false"===a))return null;if(g)return g;if(h)return h;h=(async()=>{let a=process.env.OBSCURA_CDP_ENDPOINT;if(a)return g={child:null,endpoint:a};let b=await i();if(!b)return null;let c=Number(process.env.OBSCURA_PORT)||await new Promise((a,b)=>{let c=(0,f.createServer)();c.once("error",b),c.listen(0,"127.0.0.1",()=>{let d=c.address();c.close(()=>{d&&"object"==typeof d?a(d.port):b(Error("obscura: could not allocate a free port"))})})}),d=(0,e.spawn)(b,["serve","--port",String(c),"--host","127.0.0.1"],{stdio:["ignore","ignore","pipe"]});d.stderr?.on("data",()=>{});let h=`http://127.0.0.1:${c}`,k=new Promise(a=>{d.once("exit",()=>a(!0)),d.once("error",()=>a(!0))});return!0!==await Promise.race([j(h,3e4),k.then(()=>!1)])?(d.kill("SIGKILL"),null):g={child:d,endpoint:h}})();try{return await h}finally{h=null}}async function l(){let a=await k();if(!a)return null;try{let{chromium:b}=await (0,d.A)("playwright-core");return{browser:await b.connectOverCDP(a.endpoint),child:a.child}}catch{return null}}let m="Missing X server or $DISPLAY: a headed browser needs a display. Install Xvfb (apt-get install xvfb) or run with xvfb-run.";class n extends Error{constructor(a){super(a?`${m} (${a})`:m),this.name="MissingDisplayError",this.code="NINER_NO_DISPLAY"}}let o=null,p=null,q=!1;async function r(a={}){let b=a.env??process.env;if(!((a.platform??process.platform)!=="linux"||function(a=process.env){return!!(a.DISPLAY||a.WAYLAND_DISPLAY)}(b))){if(o&&null===o.child.exitCode&&!o.child.killed)return o.display;if(o=null,!p){var c,d;p=(c=a.spawn??e.spawn,d=a.timeoutMs??5e3,new Promise((a,b)=>{let e=c("Xvfb",["-displayfd","3","-screen","0","1280x1024x24","-nolisten","tcp"],{stdio:["ignore","ignore","ignore","pipe"]}),f=!1,g="",h=a=>{if(!f){f=!0,clearTimeout(i);try{e.kill("SIGTERM")}catch{}b(a)}},i=setTimeout(()=>h(new n("Xvfb start timeout")),d);i.unref?.(),e.once("error",a=>h(new n("ENOENT"===a.code?"Xvfb not found":a.message))),e.once("exit",()=>{o?.child===e&&(o=null),h(new n("Xvfb exited"))});let j=e.stdio?.[3];j?.on("data",b=>{g+=b.toString();let c=/^(\d+)\n/.exec(g);if(!c||f)return;f=!0,clearTimeout(i);let d=`:${c[1]}`;o={child:e,display:d},e.unref?.(),a(d)})})).finally(()=>{p=null}),q||a.spawn||(q=!0,process.once("exit",()=>s()))}return p}}function s(){let a=o?.child;o=null;try{a?.kill("SIGTERM")}catch{}}var t=c(4052);function u(a){let b=String(a?.connectionProxyUrl||a?.url||"").trim();if(!1===(a?.connectionProxyEnabled??a?.enabled))return null;if(!b){if(a?.strictProxy===!0&&String(a?.vercelRelayUrl||"").trim())throw Error("This connection proxies through a relay pool, which the browser page cannot use — set a plain http/socks5 proxy URL on the connection for it.");return null}let c=String(a?.connectionNoProxy||"").trim();return{server:b,...c?{bypass:c}:{}}}let v={browser:null,engine:null,headedBrowser:null,contexts:new Map,pendingContexts:new Map,launching:null,headedLaunching:null,generation:0,lastActivity:0,idleTimer:null,evictTimer:null,cloakLaunch:null,cloakLaunchResolved:!1,metrics:{browserLaunches:0,browserLaunchFailures:0,contextsCreated:0,contextsReused:0,contextsEvicted:0,contextsReleased:0,contextCreateFailures:0,shutdowns:0,lastShutdownReason:null}};async function w(){if(v.cloakLaunchResolved)return v.cloakLaunch;v.cloakLaunchResolved=!0;try{v.cloakLaunch=(await import("cloakbrowser")).launch??null}catch{v.cloakLaunch=null}return v.cloakLaunch}function x(){v.idleTimer&&clearTimeout(v.idleTimer),v.idleTimer=setTimeout(()=>{M("idle-timeout")},3e5),v.idleTimer.unref?.()}function y(a){let b=a?v.browser:v.headedBrowser;return b?.isConnected()?b:(b&&z(a,null),null)}function z(a,b){a?v.browser=b:v.headedBrowser=b}function A(a){return a?v.launching:v.headedLaunching}function B(a,b){a?v.launching=b:v.headedLaunching=b}function C(a,b){A(a)===b&&B(a,null)}function D(a){let b=!1!==a.headless;return{headless:b,...a.executablePath?{executablePath:a.executablePath}:{},args:["--no-sandbox","--disable-dev-shm-usage","--disable-blink-features=AutomationControlled","--disk-cache-size=52428800",...b?[]:["--window-position=-32000,-32000"]]}}async function E(a,b){if(!b){let{chromium:b}=await (0,d.A)("playwright-core"),c=await r(),e=D(a);return c&&(e.env={...process.env,DISPLAY:c}),(0,t.KI)(b,e)}let c=await l();if(c)return v.engine="obscura",c.browser;let e=await w();if(e)return v.engine="cloakbrowser",e({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage"]});v.engine="chromium";let{chromium:f}=await (0,d.A)("playwright-core");return(0,t.KI)(f,D(a))}async function F(a){let b=!1!==a.headless,c=y(b);if(c)return c;let d=A(b);if(d)return d;let e=v.generation,f=(async()=>{let c=await E(a,b);if(v.generation!==e)throw await c.close().catch(()=>{}),Error("Pool shut down during browser launch");return z(b,c),v.metrics.browserLaunches++,c})();B(b,f);try{let a=await f;return C(b,f),a}catch(a){throw C(b,f),v.metrics.browserLaunchFailures++,a}}function G(a,b){b&&v.metrics.contextCreateFailures++,v.pendingContexts.delete(a)}async function H(a,b){if(b.cookieString){var c,d;let e=(c=b.cookieString,d=b.cookieDomain,c.split(";").map(a=>a.trim()).filter(Boolean).map(a=>{let b=a.indexOf("=");if(b<0)return null;let c=a.slice(0,b).trim(),e=a.slice(b+1).trim();return c&&e?{name:c,value:e,domain:d.startsWith(".")?d:`.${d}`,path:"/",expires:-1,httpOnly:!1,secure:!0,sameSite:"Lax"}:null}).filter(Boolean));e.length>0&&await a.addCookies(e)}if(!b.localStorage||0===Object.keys(b.localStorage).length)return;let e=new URL(b.localStorageOrigin||b.warmupUrl||"").origin;await a.addInitScript(({expectedOrigin:a,entries:b})=>{if(window.location.origin===a)for(let[a,c]of b)window.localStorage.setItem(a,c)},{expectedOrigin:e,entries:Object.entries(b.localStorage)})}async function I(a,b){if(!b)return null;let c=null;try{return c=await a.newPage(),await c.goto(b,{waitUntil:"domcontentloaded",timeout:3e4}),await new Promise(a=>setTimeout(a,1500)),c}catch{return await c?.close().catch(()=>{}),null}}async function J(a,b){let c;if(void 0!==(c=process.env.NINEROUTER_BROWSER_POOL)&&("off"===c||"0"===c||"false"===c))throw Error("browserPool: NINEROUTER_BROWSER_POOL=off — context requested but pool is disabled");let d=!1!==b.headless,e=`${d?"headless":"headed"}:${a}`,f=v.contexts.get(e);if(f)return f.lastUsed=Date.now(),v.lastActivity=Date.now(),v.metrics.contextsReused++,x(),f;let g=v.pendingContexts.get(e);if(g)return g.promise;let h=(async()=>{let a=await F(b),c=d&&("obscura"===v.engine||null!==v.cloakLaunch),f=b.proxy||u(b.proxyOptions),g=await a.newContext({userAgent:b.userAgent||"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",locale:b.locale||"en-US",timezoneId:b.timezone||"America/New_York",viewport:{width:1280,height:800},...f?{proxy:f}:{},...b.storageState?{storageState:b.storageState}:{}});await H(g,b);let h=await I(g,b.warmupUrl);if(y(d)!==a)throw await g.close().catch(()=>{}),h&&await h.close().catch(()=>{}),Error("Pool shut down during context creation");let i={id:e,context:g,warmupPage:h,lastUsed:Date.now(),isStealth:c};return v.contexts.set(e,i),v.metrics.contextsCreated++,v.lastActivity=Date.now(),x(),v.evictTimer&&clearInterval(v.evictTimer),v.evictTimer=setInterval(()=>(function(){let a=Date.now();for(let[b,c]of v.contexts)a-c.lastUsed>6e5&&(console.log("[BrowserPool] Evicted stale context","(idle",((a-c.lastUsed)/1e3).toFixed(0)+"s)"),v.contexts.delete(b),v.metrics.contextsEvicted++,c.context.close().catch(()=>{}));for(let[b,c]of v.pendingContexts)a-c.createdAt>3e5&&(v.pendingContexts.delete(b),v.metrics.contextsEvicted++);0!==v.contexts.size||0!==v.pendingContexts.size||v.launching||v.headedLaunching||M("all-contexts-evicted")})(),6e4),v.evictTimer.unref?.(),i})();return v.pendingContexts.set(e,{promise:h,createdAt:Date.now()}),h.then(()=>G(e,!1)).catch(()=>G(e,!0)),h}async function K(a){return a.context.newPage()}async function L(a){let b=[a,`headless:${a}`,`headed:${a}`].find(a=>v.contexts.has(a));if(!b)return;let c=v.contexts.get(b);if(c){v.contexts.delete(b),v.metrics.contextsReleased++;try{await c.context.close()}catch{}0===v.contexts.size&&await M("last-context-closed")}}async function M(a){for(let[b,c]of(v.generation++,v.metrics.shutdowns++,v.metrics.lastShutdownReason=a,v.idleTimer&&(clearTimeout(v.idleTimer),v.idleTimer=null),v.evictTimer&&(clearInterval(v.evictTimer),v.evictTimer=null),v.pendingContexts.clear(),v.contexts)){try{await c.context.close()}catch{}v.contexts.delete(b)}if(v.browser){try{await v.browser.close()}catch{}v.browser=null}if(v.headedBrowser){try{await v.headedBrowser.close()}catch{}v.headedBrowser=null}v.launching=null,v.headedLaunching=null,s(),v.engine=null,v.lastActivity=Date.now()}},83243:(a,b,c)=>{c.d(b,{M:()=>i});var d=c(96179),e=c(8521),f=c(4338);let g=/insufficient|balance|credit|quota|exhaust|limit|余额|积分|额度|不足|用完|上限/i;async function h(a){let b=a?.status;if(!a||402!==b&&403!==b&&429!==b)return a;let c=await a.text().catch(()=>"");if(429===b||!g.test(c)){let d=new Headers(a.headers);return d.delete("content-length"),d.delete("content-encoding"),new Response(c,{status:b,statusText:a.statusText,headers:d})}let d=c.trim();try{let a=JSON.parse(c);d=a?.error?.message??a?.message??a?.msg??a?.base_resp?.status_msg??d}catch{}let e=new Headers(a.headers);return e.delete("content-length"),e.delete("content-encoding"),e.set("content-type","application/json"),new Response(JSON.stringify({type:"error",error:{type:"rate_limit_error",message:`usage limit reached: ${d}`}}),{status:429,statusText:"Too Many Requests",headers:e})}class i extends d.L{async execute(a){if((0,f.xK)(a?.credentials)){let b=await (0,f.u_)(a.credentials,a.log);a={...a,credentials:{...a.credentials,accessToken:b.accessToken}}}let b=await super.execute(a);return b?.response?{...b,response:await h(b.response)}:b}async refreshCredentials(a,b){if((0,f.xK)(a))try{return(0,f.zC)(a,"upstream 401",b),{accessToken:(await (0,f.u_)(a,b)).accessToken}}catch(a){return b?.warn?.("TOKEN",`MCODE lease refresh failed: ${a.message}`),null}return!!a?.refreshToken&&(0,e.rE)(this.provider,a.refreshToken,b)}}},85308:(a,b,c)=>{c.d(b,{A:()=>j});var d=c(74957),e=c(39609),f=c(49426),g=c(41004),h=c(35024);let i=parseInt(process.env.TRAE_STREAM_TIMEOUT_MS||"300000",10);class j extends d.H{constructor(a="trae"){super(a,h.xq[a]),this.isEnterprise="trae-enterprise"===a}base(){let a=this.config?.baseUrl;if(a)return a.replace(/\/$/,"");if(!this.isEnterprise)return"https://core-normal.trae.ai/api/remote/v1";throw Error(`Trae provider "${this.provider}" has no transport baseUrl`)}buildHeaders(a,b=!0){let c=a?.providerSpecificData||{};return{...this.config?.headers||{},Authorization:`Cloud-IDE-JWT ${a?.accessToken||""}`,"Content-Type":"application/json","X-Preferenced-Language":c.appLanguage||"en","x-user-region":c.userRegion||"US","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Accept:b?"text/event-stream":"application/json"}}resolveMode(a){let b=(a||"").trim().toLowerCase(),c="work"===b||"auto-work"===b||"solo-work"===b;if(c&&!this.isEnterprise)return{mode:"work",strategy:"auto",modelName:""};let d=!b||"auto"===b||c;return{mode:"code",strategy:d?"auto":"manual",modelName:d?"":a}}commonParams(a,b,c,d){let e=function(a){let b=String(a||"").split(".");if(3!==b.length)return{};try{let a=JSON.parse(Buffer.from(b[1],"base64url").toString());return a?.data||{}}catch{return{}}}(d),f=this.isEnterprise,g={language:"en-us",app_language:a.appLanguage||"en",quality:"stable",app_version:a.appVersion||(f?"3.5.54":"1.0.0.1229"),web_id:a.webId||"",user_identity:a.userIdentity||(f?"member":"Free"),is_freshman:"0",biz_user_id:a.bizUserId||"",user_unique_id:a.userUniqueId||e.user_id||"",scope:a.scope||(f?e.scope||"saas":"marscode-us"),tenant:a.tenant||(f?e.tenant_id||"tob_online":"marscode"),region:a.region||(f?"cn-beijing":"US-East"),aiRegion:a.aiRegion||a.region||(f?"cn-beijing":"US-East"),is_privacy_mode:0,privacy_mode:"off",solo_chat_mode:b};return c&&(g.biz_session_id=c),JSON.stringify(g)}async createSession(a,b,c,d,h,i,j){let k,{mode:l,strategy:m,modelName:n}=this.resolveMode(c),o={mode:l,environment_id:"default",initial_message:{chat_session_id:"",content:[],query:b,model_name:n,agent_type:"solo_agent_remote",model_selection_strategy:m,common_params:this.commonParams(d,l,null,i)},env:"remote",auto_create_project:!1,origin:"web"},p=(0,f.n)(h,this.config?.timeoutMs||g.pH);try{k=await (0,e.proxyAwareFetch)(`${this.base()}/chat_sessions`,{method:"POST",headers:a,body:JSON.stringify(o),signal:p.signal},j||null)}catch(a){throw p.settleError(a)}finally{p.clear()}let q=await k.text();if(!k.ok)throw Error(`[${k.status}] ${q}`);let r=JSON.parse(q);if(r?.code!==0)throw Error(`Trae create_session: ${JSON.stringify(r)}`);return{sessionId:r.data.chat_session_id,messageId:r.data.message_id}}async streamEvents(a,b,c,d,f,g){let h=`${this.base()}/chat_sessions/${b}/events?reply_to_message_id=${encodeURIComponent(c)}`,j=new AbortController;f?.aborted&&j.abort();let k=setTimeout(()=>j.abort(Error("trae stream timeout")),i),l=()=>j.abort();f&&f.addEventListener("abort",l,{once:!0});try{let b=await (0,e.proxyAwareFetch)(h,{method:"GET",headers:a,signal:j.signal},g||null);if(!b.ok||!b.body)throw Error(`[${b.status}] events stream failed`);let c=b.body.getReader(),f=new TextDecoder,i="",k=null;for(;;){let a,{done:b,value:e}=await c.read();if(b)break;for(i+=f.decode(e,{stream:!0});(a=i.indexOf("\n"))>=0;){let b=i.slice(0,a).replace(/\r$/,"");if(i=i.slice(a+1),b.startsWith("event:"))k=b.slice(6).trim();else if(b.startsWith("data:")){let a,e=b.slice(5).trim();try{a=JSON.parse(e)}catch{a={_raw:e}}if(d(k,a))return void await c.cancel().catch(()=>{})}else""===b&&(k=null)}}}finally{clearTimeout(k),f&&f.removeEventListener("abort",l)}}async execute({model:a,body:b,stream:c,credentials:d,signal:e}){let f,g=d?.providerSpecificData||{},h=d?.proxyOptions||null,i=function(a){let b=[];for(let c of a){let a="";"string"==typeof c.content?a=c.content:Array.isArray(c.content)&&(a=c.content.map(a=>"string"==typeof a?a:a&&"object"==typeof a?String(a.text??""):"").join("")),"system"===c.role?b.push(`[System]
273
+ ${e}`}else if("assistant"===d&&Array.isArray(c.tool_calls)){if(b<h)continue;let a=c.tool_calls.map(a=>({id:a.id,function:a.function}));e=[e,`Previous assistant tool calls: ${JSON.stringify(a)}`].filter(Boolean).join("\n")}e.trim()&&i.push({role:d,text:e})}let j=-1;for(let a=i.length-1;a>=0;a--)if("user"===i[a].role){j=a;break}for(let a=0;a<i.length;a++)g.push(a===j?i[a].text:`${i[a].role}: ${i[a].text}`);return f.trim()&&g.push(f.trim()),g.join("\n\n")}(G,P,b?.tool_choice):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")}(G);if(!Q.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:E,headers:{},transformedBody:b};let R={temporary:!0,modelName:M,modelMode:N,message:Q,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}},S=I(16),T=I(8),U={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":'"Chromium";v="146", "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":k.CO,"x-statsig-id":H(),"Browser-Id":crypto.randomUUID(),"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${S}-${T}-00`};if(d.apiKey){let a=(0,D.lT)(d.apiKey);a&&(U.Cookie=a)}r?.info?.("GROK-WEB",`Query to ${a} (grok=${M}, mode=${N}), len=${Q.length}`);let V=!(0,g.hasProxyEgress)(E,y),W=(0,h.n)(e,this.config?.timeoutMs||f.Z1);try{z=V?await (0,k.X7)(E,{method:"POST",headers:U,body:JSON.stringify(R),timeoutMs:12e4,signal:W.signal}):await (0,g.proxyAwareFetch)(E,{method:"POST",headers:U,body:JSON.stringify(R),signal:W.signal},y)}catch(a){if(a instanceof k.jm)return{response:new Response(JSON.stringify({error:{message:a.message,type:"configuration_error",code:"TLS_CLIENT_UNAVAILABLE"}}),{status:503,headers:{"Content-Type":"application/json"}}),url:E,headers:U,transformedBody:R};return r?.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:E,headers:U,transformedBody:R}}finally{W.clear()}if(!z.ok){let a=z.status,b=`Grok returned HTTP ${a}`;return(0,k.ZB)(await z.clone().text().catch(()=>""))?b="Grok returned a Cloudflare challenge — cf_clearance in the pasted Cookie header no longer matches this machine. Re-copy the full Cookie header from a logged-in grok.com browser on this machine.":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."),r?.warn?.("GROK-WEB",b),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:E,headers:U,transformedBody:R}}if(!z.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:E,headers:U,transformedBody:R};let X=`chatcmpl-grok-${crypto.randomUUID().slice(0,12)}`,Y=Math.floor(Date.now()/1e3);if(c){var Z;let b;A=new Response((Z=z.body,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let f="",g="",h=!1,k=[];for await(let i of K(Z,O,e)){if(i.fingerprint&&(f=i.fingerprint),i.error){c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{content:`[Error: ${i.error}]`},finish_reason:null,logprobs:null}]})));break}if(i.thinking){c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{reasoning_content:i.thinking},finish_reason:null,logprobs:null}]})));continue}if(i.toolCard&&P){let a=B(i.toolCard,i.toolCardId,P);a&&k.push(a);continue}if(i.done)break;if(i.delta)if(P?.enabled){var d;if(g+=i.delta,d=g,/<tool(?:_call)?$|<tool_call[^>]*$/.test(d)||d.includes("<tool_call>")&&!d.includes("</tool_call>")){h=!0;continue}if(h)continue;let e=Math.min(12,g.length),k=g.slice(0,g.length-e);k&&c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{content:k},finish_reason:null,logprobs:null}]}))),g=g.slice(g.length-e)}else c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{content:i.delta},finish_reason:null,logprobs:null}]})));i.fullMessage&&P?.enabled&&(g=i.fullMessage)}let l=(P?.enabled?C(g,P):null)||(k.length?k:null);if(l?.length){for(let d=0;d<l.length;d++)c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{tool_calls:[{index:d,...l[d]}]},finish_reason:null,logprobs:null}]})));c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{},finish_reason:"tool_calls",logprobs:null}]})))}else g&&c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{content:g},finish_reason:null,logprobs:null}]}))),c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,model:a,system_fingerprint:f||null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]})));c.enqueue(b.encode(i.$U))}catch(d){c.enqueue(b.encode((0,j.N)({id:X,object:"chat.completion.chunk",created:Y,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(i.$U))}finally{c.close()}}})),{status:200,headers:{...i.uB}})}else A=await L(z.body,a,X,Y,O,e,P);return{response:A,url:E,headers:U,transformedBody:R}}async generateMedia({prompt:a,kind:b="image",size:c,duration:d,n:e=1,credentials:f,signal:g,log:h}){if("image"!==b&&"video"!==b)throw Error("Grok Web supports image and video generation only");if(!a?.trim())throw Error("prompt is required for media generation");let i="video"===b?1:Math.max(1,e),j=(0,D.lT)(String(f?.apiKey||""));if(!j)throw Error("Grok Web requires the grok.com Cookie header (sso) pasted into the connection");let l=[];for(let e=0;e<i;e++){if(g?.aborted)throw Error("aborted");let e=crypto.randomUUID(),f={"Content-Type":"application/json",Accept:"text/event-stream","User-Agent":k.CO,"Sec-Ch-Ua":'"Chromium";v="146", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',Origin:"https://grok.com",Referer:"https://grok.com/","Browser-Id":e,"x-xai-request-id":e,"x-statsig-id":H(),Cookie:j},i="video"===b?function({prompt:a,size:b,duration:c}){return{modelName:"imagine-video-gen",message:`${a} --mode=custom`,enableImageStreaming:!0,enableSideBySide:!0,sendFinalMetadata:!0,responseMetadata:{experiments:[],modelConfigOverride:{modelMap:{}}},mediaGenInput:{textToVideo:{prompt:a,aspectRatio:/^\d{1,2}:\d{1,2}$/.test(String(b||""))?String(b):"16:9",duration:Number.isFinite(Number(c))&&Number(c)>0?Number(c):6,resolutionName:"480p"}},kind:"CONVERSATION_KIND_IMAGINE"}}({prompt:a,size:c,duration:d}):{temporary:!0,modelName:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_FAST",message:c?`Generate an image (${c}): ${a}`:`Generate an image: ${a}`,fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!0,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!0,imageGenerationCount:1,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}},m=await (0,k.X7)(E,{method:"POST",headers:f,body:JSON.stringify(i),timeoutMs:"video"===b?3e5:17e4,signal:g}),n=await m.text();if(!m.ok||(0,k.ZB)(n))throw Error((0,k.ZB)(n)?"Grok returned a Cloudflare challenge — re-copy the full Cookie header (with cf_clearance) from a logged-in grok.com browser on this machine":`grok ${b} request failed: HTTP ${m.status} ${n.slice(0,200)}`);if("video"===b){let a=function(a){let b=[],c=a=>{if(!(b.length>8)){if("string"==typeof a){if(/\.mp4(\?|#|$)/i.test(a))return void b.push(a);let d=a.trim();if(d.startsWith("{")||d.startsWith("["))try{c(JSON.parse(d))}catch{}return}if(Array.isArray(a))return void a.forEach(c);a&&"object"==typeof a&&Object.values(a).forEach(c)}};for(let b of String(a).split("\n")){let a=b.trim();if(a.startsWith("{"))try{c(JSON.parse(a))}catch{}}return b[b.length-1]||null}(n);if(!a)throw h?.warn?.("GROK-WEB",`no video URL in stream, tail: ${n.slice(-300)}`),Error("grok returned no video asset — quota may be exhausted (1 video/day) or the prompt was moderated");let b=await (0,k.X7)(a.startsWith("http")?a:`https://assets.grok.com/${a}`,{method:"GET",headers:{"User-Agent":k.CO,Referer:"https://grok.com/",Cookie:j},timeoutMs:12e4,signal:g});if(!b.ok)throw Error(`video download failed: HTTP ${b.status}`);let c=Buffer.from(await b.arrayBuffer());l.push({b64:c.toString("base64"),mime:"video/mp4"});break}let o=null;for(let a of n.split("\n")){let b,c;if(!a.trim().startsWith("{"))continue;try{b=JSON.parse(a)}catch{continue}let d=b?.result?.response?.cardAttachment?.jsonData;if("string"!=typeof d)continue;try{c=JSON.parse(d)}catch{continue}let e=c?.image_chunk;e&&Number(e.progress)>=100&&e.imageUrl&&(o=e)}if(!o)throw Error("grok returned no completed image chunk — prompt may have been moderated or image generation is unavailable for this account");let p=await (0,k.X7)(`https://assets.grok.com/${o.imageUrl}`,{method:"GET",headers:{"User-Agent":k.CO,Referer:"https://grok.com/",Cookie:j},timeoutMs:6e4,signal:g});if(!p.ok)throw Error(`image download failed: HTTP ${p.status}`);let q=Buffer.from(await p.arrayBuffer());l.push({b64:q.toString("base64"),mime:o.mimeType||"image/jpeg"})}return h?.info?.("GROK-WEB",`${b} generation completed (${l.length} item(s))`),l}}},80479:(a,b,c)=>{c.d(b,{qG:()=>J,we:()=>K,gZ:()=>u,zD:()=>L}),c(4573);var d=c(20742),e=c(31421),f=c(77030);let g=null,h=null;async function i(){let a=process.env.OBSCURA_BIN;if(a)return a;let{resolve:b}=await Promise.resolve().then(c.t.bind(c,76760,23)),{existsSync:d,accessSync:e,constants:f}=await Promise.resolve().then(c.t.bind(c,73024,23));for(let a of(process.env.PATH||"").split(":")){let c=b(a,"obscura");try{if(e(c,f.X_OK),d(c))return c}catch{}}return null}async function j(a,b){let c=Date.now()+b;for(;Date.now()<c;){try{let b=new AbortController,c=setTimeout(()=>b.abort(),1500),d=a.replace(/^ws/,"http").replace(/\/$/,"")+"/json/version",e=await fetch(d,{signal:b.signal});if(clearTimeout(c),e.ok)return!0}catch{}await new Promise(a=>setTimeout(a,250))}return!1}async function k(){let a;if(void 0!==(a=process.env.NINEROUTER_BROWSER_POOL)&&("off"===a||"0"===a||"false"===a))return null;if(g)return g;if(h)return h;h=(async()=>{let a=process.env.OBSCURA_CDP_ENDPOINT;if(a)return g={child:null,endpoint:a};let b=await i();if(!b)return null;let c=Number(process.env.OBSCURA_PORT)||await new Promise((a,b)=>{let c=(0,f.createServer)();c.once("error",b),c.listen(0,"127.0.0.1",()=>{let d=c.address();c.close(()=>{d&&"object"==typeof d?a(d.port):b(Error("obscura: could not allocate a free port"))})})}),d=(0,e.spawn)(b,["serve","--port",String(c),"--host","127.0.0.1"],{stdio:["ignore","ignore","pipe"]});d.stderr?.on("data",()=>{});let h=`http://127.0.0.1:${c}`,k=new Promise(a=>{d.once("exit",()=>a(!0)),d.once("error",()=>a(!0))});return!0!==await Promise.race([j(h,3e4),k.then(()=>!1)])?(d.kill("SIGKILL"),null):g={child:d,endpoint:h}})();try{return await h}finally{h=null}}async function l(){let a=await k();if(!a)return null;try{let{chromium:b}=await (0,d.A)("playwright-core");return{browser:await b.connectOverCDP(a.endpoint),child:a.child}}catch{return null}}let m="Missing X server or $DISPLAY: a headed browser needs a display. Install Xvfb (apt-get install xvfb) or run with xvfb-run.";class n extends Error{constructor(a){super(a?`${m} (${a})`:m),this.name="MissingDisplayError",this.code="NINER_NO_DISPLAY"}}let o=null,p=null,q=!1;async function r(a={}){let b=a.env??process.env;if(!((a.platform??process.platform)!=="linux"||function(a=process.env){return!!(a.DISPLAY||a.WAYLAND_DISPLAY)}(b))){if(o&&null===o.child.exitCode&&!o.child.killed)return o.display;if(o=null,!p){var c,d;p=(c=a.spawn??e.spawn,d=a.timeoutMs??5e3,new Promise((a,b)=>{let e=c("Xvfb",["-displayfd","3","-screen","0","1280x1024x24","-nolisten","tcp"],{stdio:["ignore","ignore","ignore","pipe"]}),f=!1,g="",h=a=>{if(!f){f=!0,clearTimeout(i);try{e.kill("SIGTERM")}catch{}b(a)}},i=setTimeout(()=>h(new n("Xvfb start timeout")),d);i.unref?.(),e.once("error",a=>h(new n("ENOENT"===a.code?"Xvfb not found":a.message))),e.once("exit",()=>{o?.child===e&&(o=null),h(new n("Xvfb exited"))});let j=e.stdio?.[3];j?.on("data",b=>{g+=b.toString();let c=/^(\d+)\n/.exec(g);if(!c||f)return;f=!0,clearTimeout(i);let d=`:${c[1]}`;o={child:e,display:d},e.unref?.(),a(d)})})).finally(()=>{p=null}),q||a.spawn||(q=!0,process.once("exit",()=>s()))}return p}}function s(){let a=o?.child;o=null;try{a?.kill("SIGTERM")}catch{}}var t=c(4052);function u(a){let b=String(a?.connectionProxyUrl||a?.url||"").trim();if(!1===(a?.connectionProxyEnabled??a?.enabled))return null;if(!b){if(a?.strictProxy===!0&&String(a?.vercelRelayUrl||"").trim())throw Error("This connection proxies through a relay pool, which the browser page cannot use — set a plain http/socks5 proxy URL on the connection for it.");return null}let c=String(a?.connectionNoProxy||"").trim();return{server:b,...c?{bypass:c}:{}}}let v={browser:null,engine:null,headedBrowser:null,contexts:new Map,pendingContexts:new Map,launching:null,headedLaunching:null,generation:0,lastActivity:0,idleTimer:null,evictTimer:null,cloakLaunch:null,cloakLaunchResolved:!1,metrics:{browserLaunches:0,browserLaunchFailures:0,contextsCreated:0,contextsReused:0,contextsEvicted:0,contextsReleased:0,contextCreateFailures:0,shutdowns:0,lastShutdownReason:null}};async function w(){if(v.cloakLaunchResolved)return v.cloakLaunch;v.cloakLaunchResolved=!0;try{v.cloakLaunch=(await import("cloakbrowser")).launch??null}catch{v.cloakLaunch=null}return v.cloakLaunch}function x(){v.idleTimer&&clearTimeout(v.idleTimer),v.idleTimer=setTimeout(()=>{M("idle-timeout")},3e5),v.idleTimer.unref?.()}function y(a){let b=a?v.browser:v.headedBrowser;return b?.isConnected()?b:(b&&z(a,null),null)}function z(a,b){a?v.browser=b:v.headedBrowser=b}function A(a){return a?v.launching:v.headedLaunching}function B(a,b){a?v.launching=b:v.headedLaunching=b}function C(a,b){A(a)===b&&B(a,null)}function D(a){let b=!1!==a.headless;return{headless:b,...a.executablePath?{executablePath:a.executablePath}:{},args:["--no-sandbox","--disable-dev-shm-usage","--disable-blink-features=AutomationControlled","--disk-cache-size=52428800",...b?[]:["--window-position=-32000,-32000"]]}}async function E(a,b){if(!b){let{chromium:b}=await (0,d.A)("playwright-core"),c=await r(),e=D(a);return c&&(e.env={...process.env,DISPLAY:c}),(0,t.KI)(b,e)}let c=await l();if(c)return v.engine="obscura",c.browser;let e=await w();if(e)return v.engine="cloakbrowser",e({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage"]});v.engine="chromium";let{chromium:f}=await (0,d.A)("playwright-core");return(0,t.KI)(f,D(a))}async function F(a){let b=!1!==a.headless,c=y(b);if(c)return c;let d=A(b);if(d)return d;let e=v.generation,f=(async()=>{let c=await E(a,b);if(v.generation!==e)throw await c.close().catch(()=>{}),Error("Pool shut down during browser launch");return z(b,c),v.metrics.browserLaunches++,c})();B(b,f);try{let a=await f;return C(b,f),a}catch(a){throw C(b,f),v.metrics.browserLaunchFailures++,a}}function G(a,b){b&&v.metrics.contextCreateFailures++,v.pendingContexts.delete(a)}async function H(a,b){if(b.cookieString){var c,d;let e=(c=b.cookieString,d=b.cookieDomain,c.split(";").map(a=>a.trim()).filter(Boolean).map(a=>{let b=a.indexOf("=");if(b<0)return null;let c=a.slice(0,b).trim(),e=a.slice(b+1).trim();return c&&e?{name:c,value:e,domain:d.startsWith(".")?d:`.${d}`,path:"/",expires:-1,httpOnly:!1,secure:!0,sameSite:"Lax"}:null}).filter(Boolean));e.length>0&&await a.addCookies(e)}if(!b.localStorage||0===Object.keys(b.localStorage).length)return;let e=new URL(b.localStorageOrigin||b.warmupUrl||"").origin;await a.addInitScript(({expectedOrigin:a,entries:b})=>{if(window.location.origin===a)for(let[a,c]of b)window.localStorage.setItem(a,c)},{expectedOrigin:e,entries:Object.entries(b.localStorage)})}async function I(a,b){if(!b)return null;let c=null;try{return c=await a.newPage(),await c.goto(b,{waitUntil:"domcontentloaded",timeout:3e4}),await new Promise(a=>setTimeout(a,1500)),c}catch{return await c?.close().catch(()=>{}),null}}async function J(a,b){let c;if(void 0!==(c=process.env.NINEROUTER_BROWSER_POOL)&&("off"===c||"0"===c||"false"===c))throw Error("browserPool: NINEROUTER_BROWSER_POOL=off — context requested but pool is disabled");let d=!1!==b.headless,e=`${d?"headless":"headed"}:${a}`,f=v.contexts.get(e);if(f)return f.lastUsed=Date.now(),v.lastActivity=Date.now(),v.metrics.contextsReused++,x(),f;let g=v.pendingContexts.get(e);if(g)return g.promise;let h=(async()=>{let a=await F(b),c=d&&("obscura"===v.engine||null!==v.cloakLaunch),f=b.proxy||u(b.proxyOptions),g=await a.newContext({userAgent:b.userAgent||"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",locale:b.locale||"en-US",timezoneId:b.timezone||"America/New_York",viewport:{width:1280,height:800},...f?{proxy:f}:{},...b.storageState?{storageState:b.storageState}:{}});await H(g,b);let h=await I(g,b.warmupUrl);if(y(d)!==a)throw await g.close().catch(()=>{}),h&&await h.close().catch(()=>{}),Error("Pool shut down during context creation");let i={id:e,context:g,warmupPage:h,lastUsed:Date.now(),isStealth:c};return v.contexts.set(e,i),v.metrics.contextsCreated++,v.lastActivity=Date.now(),x(),v.evictTimer&&clearInterval(v.evictTimer),v.evictTimer=setInterval(()=>(function(){let a=Date.now();for(let[b,c]of v.contexts)a-c.lastUsed>6e5&&(console.log("[BrowserPool] Evicted stale context","(idle",((a-c.lastUsed)/1e3).toFixed(0)+"s)"),v.contexts.delete(b),v.metrics.contextsEvicted++,c.context.close().catch(()=>{}));for(let[b,c]of v.pendingContexts)a-c.createdAt>3e5&&(v.pendingContexts.delete(b),v.metrics.contextsEvicted++);0!==v.contexts.size||0!==v.pendingContexts.size||v.launching||v.headedLaunching||M("all-contexts-evicted")})(),6e4),v.evictTimer.unref?.(),i})();return v.pendingContexts.set(e,{promise:h,createdAt:Date.now()}),h.then(()=>G(e,!1)).catch(()=>G(e,!0)),h}async function K(a){return a.context.newPage()}async function L(a){let b=[a,`headless:${a}`,`headed:${a}`].find(a=>v.contexts.has(a));if(!b)return;let c=v.contexts.get(b);if(c){v.contexts.delete(b),v.metrics.contextsReleased++;try{await c.context.close()}catch{}0===v.contexts.size&&await M("last-context-closed")}}async function M(a){for(let[b,c]of(v.generation++,v.metrics.shutdowns++,v.metrics.lastShutdownReason=a,v.idleTimer&&(clearTimeout(v.idleTimer),v.idleTimer=null),v.evictTimer&&(clearInterval(v.evictTimer),v.evictTimer=null),v.pendingContexts.clear(),v.contexts)){try{await c.context.close()}catch{}v.contexts.delete(b)}if(v.browser){try{await v.browser.close()}catch{}v.browser=null}if(v.headedBrowser){try{await v.headedBrowser.close()}catch{}v.headedBrowser=null}v.launching=null,v.headedLaunching=null,s(),v.engine=null,v.lastActivity=Date.now()}},83243:(a,b,c)=>{c.d(b,{M:()=>i});var d=c(96179),e=c(8590),f=c(4338);let g=/insufficient|balance|credit|quota|exhaust|limit|余额|积分|额度|不足|用完|上限/i;async function h(a){let b=a?.status;if(!a||402!==b&&403!==b&&429!==b)return a;let c=await a.text().catch(()=>"");if(429===b||!g.test(c)){let d=new Headers(a.headers);return d.delete("content-length"),d.delete("content-encoding"),new Response(c,{status:b,statusText:a.statusText,headers:d})}let d=c.trim();try{let a=JSON.parse(c);d=a?.error?.message??a?.message??a?.msg??a?.base_resp?.status_msg??d}catch{}let e=new Headers(a.headers);return e.delete("content-length"),e.delete("content-encoding"),e.set("content-type","application/json"),new Response(JSON.stringify({type:"error",error:{type:"rate_limit_error",message:`usage limit reached: ${d}`}}),{status:429,statusText:"Too Many Requests",headers:e})}class i extends d.L{async execute(a){if((0,f.xK)(a?.credentials)){let b=await (0,f.u_)(a.credentials,a.log);a={...a,credentials:{...a.credentials,accessToken:b.accessToken}}}let b=await super.execute(a);return b?.response?{...b,response:await h(b.response)}:b}async refreshCredentials(a,b){if((0,f.xK)(a))try{return(0,f.zC)(a,"upstream 401",b),{accessToken:(await (0,f.u_)(a,b)).accessToken}}catch(a){return b?.warn?.("TOKEN",`MCODE lease refresh failed: ${a.message}`),null}return!!a?.refreshToken&&(0,e.rE)(this.provider,a.refreshToken,b)}}},85308:(a,b,c)=>{c.d(b,{A:()=>j});var d=c(74957),e=c(39609),f=c(49426),g=c(41004),h=c(35024);let i=parseInt(process.env.TRAE_STREAM_TIMEOUT_MS||"300000",10);class j extends d.H{constructor(a="trae"){super(a,h.xq[a]),this.isEnterprise="trae-enterprise"===a}base(){let a=this.config?.baseUrl;if(a)return a.replace(/\/$/,"");if(!this.isEnterprise)return"https://core-normal.trae.ai/api/remote/v1";throw Error(`Trae provider "${this.provider}" has no transport baseUrl`)}buildHeaders(a,b=!0){let c=a?.providerSpecificData||{};return{...this.config?.headers||{},Authorization:`Cloud-IDE-JWT ${a?.accessToken||""}`,"Content-Type":"application/json","X-Preferenced-Language":c.appLanguage||"en","x-user-region":c.userRegion||"US","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Accept:b?"text/event-stream":"application/json"}}resolveMode(a){let b=(a||"").trim().toLowerCase(),c="work"===b||"auto-work"===b||"solo-work"===b;if(c&&!this.isEnterprise)return{mode:"work",strategy:"auto",modelName:""};let d=!b||"auto"===b||c;return{mode:"code",strategy:d?"auto":"manual",modelName:d?"":a}}commonParams(a,b,c,d){let e=function(a){let b=String(a||"").split(".");if(3!==b.length)return{};try{let a=JSON.parse(Buffer.from(b[1],"base64url").toString());return a?.data||{}}catch{return{}}}(d),f=this.isEnterprise,g={language:"en-us",app_language:a.appLanguage||"en",quality:"stable",app_version:a.appVersion||(f?"3.5.54":"1.0.0.1229"),web_id:a.webId||"",user_identity:a.userIdentity||(f?"member":"Free"),is_freshman:"0",biz_user_id:a.bizUserId||"",user_unique_id:a.userUniqueId||e.user_id||"",scope:a.scope||(f?e.scope||"saas":"marscode-us"),tenant:a.tenant||(f?e.tenant_id||"tob_online":"marscode"),region:a.region||(f?"cn-beijing":"US-East"),aiRegion:a.aiRegion||a.region||(f?"cn-beijing":"US-East"),is_privacy_mode:0,privacy_mode:"off",solo_chat_mode:b};return c&&(g.biz_session_id=c),JSON.stringify(g)}async createSession(a,b,c,d,h,i,j){let k,{mode:l,strategy:m,modelName:n}=this.resolveMode(c),o={mode:l,environment_id:"default",initial_message:{chat_session_id:"",content:[],query:b,model_name:n,agent_type:"solo_agent_remote",model_selection_strategy:m,common_params:this.commonParams(d,l,null,i)},env:"remote",auto_create_project:!1,origin:"web"},p=(0,f.n)(h,this.config?.timeoutMs||g.pH);try{k=await (0,e.proxyAwareFetch)(`${this.base()}/chat_sessions`,{method:"POST",headers:a,body:JSON.stringify(o),signal:p.signal},j||null)}catch(a){throw p.settleError(a)}finally{p.clear()}let q=await k.text();if(!k.ok)throw Error(`[${k.status}] ${q}`);let r=JSON.parse(q);if(r?.code!==0)throw Error(`Trae create_session: ${JSON.stringify(r)}`);return{sessionId:r.data.chat_session_id,messageId:r.data.message_id}}async streamEvents(a,b,c,d,f,g){let h=`${this.base()}/chat_sessions/${b}/events?reply_to_message_id=${encodeURIComponent(c)}`,j=new AbortController;f?.aborted&&j.abort();let k=setTimeout(()=>j.abort(Error("trae stream timeout")),i),l=()=>j.abort();f&&f.addEventListener("abort",l,{once:!0});try{let b=await (0,e.proxyAwareFetch)(h,{method:"GET",headers:a,signal:j.signal},g||null);if(!b.ok||!b.body)throw Error(`[${b.status}] events stream failed`);let c=b.body.getReader(),f=new TextDecoder,i="",k=null;for(;;){let a,{done:b,value:e}=await c.read();if(b)break;for(i+=f.decode(e,{stream:!0});(a=i.indexOf("\n"))>=0;){let b=i.slice(0,a).replace(/\r$/,"");if(i=i.slice(a+1),b.startsWith("event:"))k=b.slice(6).trim();else if(b.startsWith("data:")){let a,e=b.slice(5).trim();try{a=JSON.parse(e)}catch{a={_raw:e}}if(d(k,a))return void await c.cancel().catch(()=>{})}else""===b&&(k=null)}}}finally{clearTimeout(k),f&&f.removeEventListener("abort",l)}}async execute({model:a,body:b,stream:c,credentials:d,signal:e}){let f,g=d?.providerSpecificData||{},h=d?.proxyOptions||null,i=function(a){let b=[];for(let c of a){let a="";"string"==typeof c.content?a=c.content:Array.isArray(c.content)&&(a=c.content.map(a=>"string"==typeof a?a:a&&"object"==typeof a?String(a.text??""):"").join("")),"system"===c.role?b.push(`[System]
274
274
  ${a}`):"assistant"===c.role?b.push(`[Assistant]
275
275
  ${a}`):b.push(a)}return JSON.stringify([{type:"text",data:{content:b.join("\n\n")}}])}(b?.messages||[]),j=`chatcmpl-${this.provider}-${Date.now()}`,k=Math.floor(Date.now()/1e3),l=(a,b)=>new Response(JSON.stringify({error:{message:b,type:"api_error",code:""}}),{status:a,headers:{"Content-Type":"application/json"}}),m=d?.accessToken||"";if(!m)return{response:l(401,`${this.provider}: no Cloud-IDE-JWT — reconnect this provider`),url:this.base(),headers:{},transformedBody:b};let n=this.buildHeaders({...d,accessToken:m},!1!==c);try{f=await this.createSession(n,i,a,g,e,m,h)}catch(a){return{response:l(502,a?.message?String(a.message):String(a)),url:this.base(),headers:n,transformedBody:b}}let o=[],p={},q=0,r=null,s=null,t="",u=a=>{a.tool_call_info?.name==="finish"&&(t=a.tool_call_info?.params?.summary||t);let b=a.id;if(!b)return"";b in p||o.push(b);let c=a.thought||"";c.length>=(p[b]||"").length&&(p[b]=c);let d=o.map(a=>p[a]).join(""),e=d.slice(q);return q=d.length,e},v=()=>{let a=o.map(a=>p[a]).join("");return t.startsWith(a)&&t.length>a.length?t.slice(a.length):""};if(!1!==c){let c=new TextEncoder;return{response:new Response(new ReadableStream({start:async b=>{let d=a=>b.enqueue(c.encode(`data: ${JSON.stringify(a)}
276
276