@rsalmn/extremerouter 0.8.6 → 0.8.7

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 (1106) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +10 -8
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/routes-manifest.json +12 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js +2 -2
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +3 -3
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +4 -4
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js +2 -2
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  94. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  96. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  97. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  98. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  99. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  103. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  104. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  105. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  107. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  108. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  109. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  110. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  111. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
  112. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  113. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  114. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  115. package/app/.next-cli-build/server/app/api/alerts/test/route.js +2 -2
  116. package/app/.next-cli-build/server/app/api/alerts/test/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/breaker/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/breaker/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cache/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cache/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  136. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  142. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  152. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
  160. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  162. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  164. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  166. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  168. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/combos/lab/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/combos/lab/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/combos/simulate/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/combos/simulate/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js +2 -2
  180. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/health/overview/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/health/overview/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/health/providers/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/health/providers/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/health/stream/route.js +2 -2
  194. package/app/.next-cli-build/server/app/api/health/stream/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +5 -5
  206. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -0
  222. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -0
  223. package/app/.next-cli-build/server/app/api/models/catalog-sync/route_client-reference-manifest.js +1 -0
  224. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  241. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/auto-import/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/auto-import/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/import/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/import/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/quota/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/quota/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/zcode/import/route.js +1 -0
  273. package/app/.next-cli-build/server/app/api/oauth/zcode/import/route.js.nft.json +1 -0
  274. package/app/.next-cli-build/server/app/api/oauth/zcode/import/route_client-reference-manifest.js +1 -0
  275. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  276. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +2 -2
  298. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/providers/capture/launch/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/providers/capture/launch/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/providers/capture/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/providers/capture/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/providers/felo-capture/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/providers/felo-capture/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  344. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  346. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  350. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  352. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/smart-routing/active/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/smart-routing/active/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/smart-routing/history/route.js +2 -2
  368. package/app/.next-cli-build/server/app/api/smart-routing/history/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/smart-routing/lab/route.js +2 -2
  370. package/app/.next-cli-build/server/app/api/smart-routing/lab/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/smart-routing/stream/route.js +2 -2
  372. package/app/.next-cli-build/server/app/api/smart-routing/stream/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/swarm/active/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/swarm/active/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/swarm/stream/route.js +2 -2
  376. package/app/.next-cli-build/server/app/api/swarm/stream/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  382. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  400. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  404. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  406. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  412. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js +1 -1
  414. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  416. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/usage/meta/route.js +1 -1
  418. package/app/.next-cli-build/server/app/api/usage/meta/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  420. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  422. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  424. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  430. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  442. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  443. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  444. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  446. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  449. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  450. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  452. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  454. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  455. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  456. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  458. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  460. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  461. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  462. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  463. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  464. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  465. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  466. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  467. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  468. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  469. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  470. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  471. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  472. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  473. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  474. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  475. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  476. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  477. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  478. package/app/.next-cli-build/server/app/callback.html +1 -1
  479. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  480. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  481. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  482. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
  483. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  485. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  487. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  488. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  489. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  490. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  491. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  492. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  493. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  494. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  495. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  496. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  497. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  498. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  499. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  500. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  501. package/app/.next-cli-build/server/app/index.html +1 -1
  502. package/app/.next-cli-build/server/app/index.rsc +6 -6
  503. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  504. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  505. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  506. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
  507. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  508. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  509. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  510. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  511. package/app/.next-cli-build/server/app/landing.html +1 -1
  512. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  513. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  514. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  515. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
  516. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  518. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  519. package/app/.next-cli-build/server/app/login/page.js +2 -2
  520. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  521. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  522. package/app/.next-cli-build/server/app/login.html +1 -1
  523. package/app/.next-cli-build/server/app/login.rsc +7 -7
  524. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  525. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  526. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
  527. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  528. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  529. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  530. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  531. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  532. package/app/.next-cli-build/server/app/page.js +2 -2
  533. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  534. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  535. package/app/.next-cli-build/server/app-paths-manifest.json +10 -8
  536. package/app/.next-cli-build/server/chunks/1194.js +1 -1
  537. package/app/.next-cli-build/server/chunks/1241.js +1 -1
  538. package/app/.next-cli-build/server/chunks/1350.js +2 -2
  539. package/app/.next-cli-build/server/chunks/1411.js +9 -0
  540. package/app/.next-cli-build/server/chunks/1429.js +1 -1
  541. package/app/.next-cli-build/server/chunks/1719.js +1 -1
  542. package/app/.next-cli-build/server/chunks/1891.js +1 -1
  543. package/app/.next-cli-build/server/chunks/212.js +1 -1
  544. package/app/.next-cli-build/server/chunks/2409.js +1 -1
  545. package/app/.next-cli-build/server/chunks/3535.js +1 -1
  546. package/app/.next-cli-build/server/chunks/3552.js +1 -0
  547. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  548. package/app/.next-cli-build/server/chunks/3841.js +1 -1
  549. package/app/.next-cli-build/server/chunks/4046.js +1 -1
  550. package/app/.next-cli-build/server/chunks/4109.js +1 -1
  551. package/app/.next-cli-build/server/chunks/412.js +1 -1
  552. package/app/.next-cli-build/server/chunks/4502.js +5 -5
  553. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  554. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  555. package/app/.next-cli-build/server/chunks/4957.js +1 -0
  556. package/app/.next-cli-build/server/chunks/5050.js +2 -0
  557. package/app/.next-cli-build/server/chunks/507.js +1 -1
  558. package/app/.next-cli-build/server/chunks/5253.js +1 -1
  559. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  560. package/app/.next-cli-build/server/chunks/5330.js +11 -11
  561. package/app/.next-cli-build/server/chunks/5473.js +9 -0
  562. package/app/.next-cli-build/server/chunks/5604.js +13 -0
  563. package/app/.next-cli-build/server/chunks/5612.js +1 -1
  564. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  565. package/app/.next-cli-build/server/chunks/5628.js +1 -1
  566. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  567. package/app/.next-cli-build/server/chunks/5961.js +1 -1
  568. package/app/.next-cli-build/server/chunks/6182.js +1 -1
  569. package/app/.next-cli-build/server/chunks/6488.js +1 -0
  570. package/app/.next-cli-build/server/chunks/6777.js +1 -1
  571. package/app/.next-cli-build/server/chunks/6878.js +1 -1
  572. package/app/.next-cli-build/server/chunks/698.js +1 -1
  573. package/app/.next-cli-build/server/chunks/7016.js +2 -2
  574. package/app/.next-cli-build/server/chunks/7566.js +2 -2
  575. package/app/.next-cli-build/server/chunks/7765.js +2 -2
  576. package/app/.next-cli-build/server/chunks/7815.js +1 -0
  577. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  578. package/app/.next-cli-build/server/chunks/8048.js +1 -1
  579. package/app/.next-cli-build/server/chunks/809.js +1 -1
  580. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  581. package/app/.next-cli-build/server/chunks/8266.js +1 -1
  582. package/app/.next-cli-build/server/chunks/8271.js +1 -1
  583. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  584. package/app/.next-cli-build/server/chunks/8802.js +2 -2
  585. package/app/.next-cli-build/server/chunks/885.js +14 -14
  586. package/app/.next-cli-build/server/chunks/8895.js +6 -6
  587. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  588. package/app/.next-cli-build/server/chunks/9903.js +1 -1
  589. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  590. package/app/.next-cli-build/server/middleware.js +6 -6
  591. package/app/.next-cli-build/server/pages/404.html +1 -1
  592. package/app/.next-cli-build/server/pages/500.html +1 -1
  593. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  594. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  595. package/app/.next-cli-build/static/BmLJ5bmQbpsF-jvZIwr9t/_buildManifest.js +1 -0
  596. package/app/.next-cli-build/static/chunks/1321-184fe0dd34faf680.js +1 -0
  597. package/app/.next-cli-build/static/chunks/2563-a547c8ef699e1791.js +1 -0
  598. package/app/.next-cli-build/static/chunks/5497-9caed03337b37e47.js +7 -0
  599. package/app/.next-cli-build/static/chunks/705-eaa2de0fd5964be4.js +1 -0
  600. package/app/.next-cli-build/static/chunks/{9622-fcd7c93a94eaa38f.js → 9622-d0f22be4f1ef8011.js} +6 -6
  601. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/alerts/{page-812b19e92ea94f14.js → page-3527fe022102a692.js} +1 -1
  602. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-9a0e996c5bc5a169.js → page-fe59538aa4add719.js} +1 -1
  603. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-0e1d5c3cf52823c3.js → page-1849f671db0f9fe9.js} +1 -1
  604. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-3122fd2735ba291c.js → page-0e903eb34158c8a8.js} +1 -1
  605. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-8406e79b31e512bb.js +3 -0
  606. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-81ef4c324f201832.js +1 -0
  607. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-72670cb4cac6b97d.js +1 -0
  608. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/health/{page-1c94a0710d61767e.js → page-d71cb9f910cb5d13.js} +1 -1
  609. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-9e98db59d6b1d05f.js → page-94341b277cf27462.js} +1 -1
  610. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-026721fa921475e0.js → page-558f5601f8df1d4d.js} +1 -1
  611. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-ec37860600228def.js → page-6effc5c0f2b1d72e.js} +1 -1
  612. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/{page-99c8024bece93467.js → page-05b05e6f6136829d.js} +1 -1
  613. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-825c8673e6351d02.js → page-95375c7b40f99306.js} +1 -1
  614. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-65072e4024bb73b6.js → page-4549c187375b9192.js} +1 -1
  615. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/overview/{page-b92bc7ebaa0813b2.js → page-bb459e518dfa9f70.js} +1 -1
  616. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-cc5141ff81040e89.js +1 -0
  617. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-625485e32264e15b.js +1 -0
  618. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-09b1b5beae8435cd.js +1 -0
  619. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-9eea89b85926cfd8.js → page-776433cfd87f123a.js} +3 -3
  620. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-aaaaeede554f51a5.js → page-1f67fe5d69805df2.js} +1 -1
  621. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-5d9d7d47216375ea.js +1 -0
  622. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-70bfba02b4fc414f.js → page-c561cab29785310a.js} +1 -1
  623. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-140fef4b235b4792.js +1 -0
  624. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-17bcf4e0db497e3a.js → page-acf6cde3210c179a.js} +1 -1
  625. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-6e8f34517990d858.js → page-c3ae0ab7f0d0634d.js} +1 -1
  626. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-d9e35b679b85696a.js → page-cb12854a23416b01.js} +1 -1
  627. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-55b0738c2d201462.js +1 -0
  628. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-20cc41f2e1307f06.js → layout-66efb163e888cd6b.js} +1 -1
  629. package/app/.next-cli-build/static/chunks/app/_global-error/page-bf747ebfcd7e601c.js +1 -0
  630. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-bf747ebfcd7e601c.js +1 -0
  631. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-bf747ebfcd7e601c.js +1 -0
  632. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-bf747ebfcd7e601c.js +1 -0
  633. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-bf747ebfcd7e601c.js +1 -0
  634. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-bf747ebfcd7e601c.js +1 -0
  635. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-bf747ebfcd7e601c.js +1 -0
  636. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-bf747ebfcd7e601c.js +1 -0
  637. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-bf747ebfcd7e601c.js +1 -0
  638. package/app/.next-cli-build/static/chunks/app/api/breaker/route-bf747ebfcd7e601c.js +1 -0
  639. package/app/.next-cli-build/static/chunks/app/api/cache/route-bf747ebfcd7e601c.js +1 -0
  640. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-bf747ebfcd7e601c.js +1 -0
  641. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-bf747ebfcd7e601c.js +1 -0
  642. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-bf747ebfcd7e601c.js +1 -0
  643. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-bf747ebfcd7e601c.js +1 -0
  644. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-bf747ebfcd7e601c.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-bf747ebfcd7e601c.js +1 -0
  646. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-bf747ebfcd7e601c.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-bf747ebfcd7e601c.js +1 -0
  648. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-bf747ebfcd7e601c.js +1 -0
  649. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-bf747ebfcd7e601c.js +1 -0
  650. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-bf747ebfcd7e601c.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-bf747ebfcd7e601c.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-bf747ebfcd7e601c.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-bf747ebfcd7e601c.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-bf747ebfcd7e601c.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-bf747ebfcd7e601c.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-bf747ebfcd7e601c.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-bf747ebfcd7e601c.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/combos/lab/route-bf747ebfcd7e601c.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/combos/route-bf747ebfcd7e601c.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/combos/simulate/route-bf747ebfcd7e601c.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-bf747ebfcd7e601c.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-bf747ebfcd7e601c.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-bf747ebfcd7e601c.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-bf747ebfcd7e601c.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-bf747ebfcd7e601c.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/health/overview/route-bf747ebfcd7e601c.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-bf747ebfcd7e601c.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/health/route-bf747ebfcd7e601c.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-bf747ebfcd7e601c.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/init/route-bf747ebfcd7e601c.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-bf747ebfcd7e601c.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/keys/route-bf747ebfcd7e601c.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/locale/route-bf747ebfcd7e601c.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-bf747ebfcd7e601c.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-bf747ebfcd7e601c.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-bf747ebfcd7e601c.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-bf747ebfcd7e601c.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-bf747ebfcd7e601c.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-bf747ebfcd7e601c.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-bf747ebfcd7e601c.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-bf747ebfcd7e601c.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-bf747ebfcd7e601c.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-bf747ebfcd7e601c.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-bf747ebfcd7e601c.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-bf747ebfcd7e601c.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/models/route-bf747ebfcd7e601c.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/models/test/route-bf747ebfcd7e601c.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-bf747ebfcd7e601c.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-bf747ebfcd7e601c.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-bf747ebfcd7e601c.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-bf747ebfcd7e601c.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-bf747ebfcd7e601c.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-bf747ebfcd7e601c.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/oauth/freebuff/import/route-bf747ebfcd7e601c.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-bf747ebfcd7e601c.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-bf747ebfcd7e601c.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/auto-import/route-bf747ebfcd7e601c.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/import/route-bf747ebfcd7e601c.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/quota/route-bf747ebfcd7e601c.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-bf747ebfcd7e601c.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-bf747ebfcd7e601c.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-bf747ebfcd7e601c.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-bf747ebfcd7e601c.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-bf747ebfcd7e601c.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-bf747ebfcd7e601c.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-bf747ebfcd7e601c.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-bf747ebfcd7e601c.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/oauth/zcode/import/route-bf747ebfcd7e601c.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-bf747ebfcd7e601c.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-bf747ebfcd7e601c.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/pricing/route-bf747ebfcd7e601c.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-bf747ebfcd7e601c.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-bf747ebfcd7e601c.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-bf747ebfcd7e601c.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-bf747ebfcd7e601c.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/felo-profile/route-bf747ebfcd7e601c.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-bf747ebfcd7e601c.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-bf747ebfcd7e601c.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-bf747ebfcd7e601c.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-bf747ebfcd7e601c.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-bf747ebfcd7e601c.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-bf747ebfcd7e601c.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-bf747ebfcd7e601c.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-bf747ebfcd7e601c.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-bf747ebfcd7e601c.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-bf747ebfcd7e601c.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-bf747ebfcd7e601c.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-bf747ebfcd7e601c.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zai-profile/route-bf747ebfcd7e601c.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-bf747ebfcd7e601c.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/providers/capture/launch/route-bf747ebfcd7e601c.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/providers/capture/route-bf747ebfcd7e601c.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-bf747ebfcd7e601c.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/launch/route-bf747ebfcd7e601c.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/route-bf747ebfcd7e601c.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-bf747ebfcd7e601c.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/providers/route-bf747ebfcd7e601c.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-bf747ebfcd7e601c.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-bf747ebfcd7e601c.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-bf747ebfcd7e601c.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-bf747ebfcd7e601c.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-bf747ebfcd7e601c.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-bf747ebfcd7e601c.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-bf747ebfcd7e601c.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-bf747ebfcd7e601c.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-bf747ebfcd7e601c.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-bf747ebfcd7e601c.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-bf747ebfcd7e601c.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-bf747ebfcd7e601c.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-bf747ebfcd7e601c.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-bf747ebfcd7e601c.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/settings/route-bf747ebfcd7e601c.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-bf747ebfcd7e601c.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/smart-routing/active/route-bf747ebfcd7e601c.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/smart-routing/history/route-bf747ebfcd7e601c.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/smart-routing/lab/route-bf747ebfcd7e601c.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/smart-routing/stream/route-bf747ebfcd7e601c.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-bf747ebfcd7e601c.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-bf747ebfcd7e601c.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/tags/route-bf747ebfcd7e601c.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-bf747ebfcd7e601c.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-bf747ebfcd7e601c.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-bf747ebfcd7e601c.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-bf747ebfcd7e601c.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-bf747ebfcd7e601c.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-bf747ebfcd7e601c.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-bf747ebfcd7e601c.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-bf747ebfcd7e601c.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-bf747ebfcd7e601c.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-bf747ebfcd7e601c.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-bf747ebfcd7e601c.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-bf747ebfcd7e601c.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-bf747ebfcd7e601c.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-bf747ebfcd7e601c.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-bf747ebfcd7e601c.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-bf747ebfcd7e601c.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-bf747ebfcd7e601c.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-bf747ebfcd7e601c.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-bf747ebfcd7e601c.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-bf747ebfcd7e601c.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-bf747ebfcd7e601c.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-bf747ebfcd7e601c.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-bf747ebfcd7e601c.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-bf747ebfcd7e601c.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-bf747ebfcd7e601c.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-bf747ebfcd7e601c.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-bf747ebfcd7e601c.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-bf747ebfcd7e601c.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-bf747ebfcd7e601c.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-bf747ebfcd7e601c.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-bf747ebfcd7e601c.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-bf747ebfcd7e601c.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-bf747ebfcd7e601c.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-bf747ebfcd7e601c.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-bf747ebfcd7e601c.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-bf747ebfcd7e601c.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-bf747ebfcd7e601c.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-bf747ebfcd7e601c.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-bf747ebfcd7e601c.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-bf747ebfcd7e601c.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/v1/route-bf747ebfcd7e601c.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-bf747ebfcd7e601c.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-bf747ebfcd7e601c.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-bf747ebfcd7e601c.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-bf747ebfcd7e601c.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/version/route-bf747ebfcd7e601c.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-bf747ebfcd7e601c.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/version/update/route-bf747ebfcd7e601c.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/{page-bc142d42a8a549b4.js → page-baf12d16760e9b90.js} +1 -1
  810. package/app/.next-cli-build/static/chunks/app/{layout-0e3fdd66d189006c.js → layout-155acd4a482252b8.js} +1 -1
  811. package/app/.next-cli-build/static/chunks/app/login/{page-4b39978fc147efa3.js → page-089f2be5081e9c05.js} +1 -1
  812. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-bf747ebfcd7e601c.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/page-bf747ebfcd7e601c.js +1 -0
  814. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-bf747ebfcd7e601c.js +1 -0
  815. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-bf747ebfcd7e601c.js +1 -0
  816. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-bf747ebfcd7e601c.js +1 -0
  817. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-bf747ebfcd7e601c.js +1 -0
  818. package/app/.next-cli-build/static/css/8a8ea9ee79a01730.css +1 -0
  819. package/app/package.json +1 -1
  820. package/app/public/providers/ai21.png +0 -0
  821. package/app/public/providers/aimlapi.png +0 -0
  822. package/app/public/providers/ainative.png +0 -0
  823. package/app/public/providers/aion.png +0 -0
  824. package/app/public/providers/alibaba-cn.svg +1 -11
  825. package/app/public/providers/alibaba.svg +1 -11
  826. package/app/public/providers/alitp-intl.svg +1 -0
  827. package/app/public/providers/anyapi.png +0 -0
  828. package/app/public/providers/arcee-ai.png +0 -0
  829. package/app/public/providers/auriko.svg +61 -4
  830. package/app/public/providers/azure-ai.svg +23 -4
  831. package/app/public/providers/bai.png +0 -0
  832. package/app/public/providers/baseten.png +0 -0
  833. package/app/public/providers/blackbox-web.png +0 -0
  834. package/app/public/providers/bluesminds.png +0 -0
  835. package/app/public/providers/bytez.png +0 -0
  836. package/app/public/providers/charm-hyper.png +0 -0
  837. package/app/public/providers/chatanywhere.svg +1 -4
  838. package/app/public/providers/cheaperinference.png +0 -0
  839. package/app/public/providers/chenzk.png +0 -0
  840. package/app/public/providers/clarifai.svg +1 -4
  841. package/app/public/providers/cloudcode-one.svg +12 -3
  842. package/app/public/providers/conol-web.png +0 -0
  843. package/app/public/providers/crof.png +0 -0
  844. package/app/public/providers/datarobot.png +0 -0
  845. package/app/public/providers/digitalocean.svg +1 -4
  846. package/app/public/providers/dit.svg +9 -3
  847. package/app/public/providers/docker-model-runner.svg +1 -1
  848. package/app/public/providers/duckduckgo-web.svg +1 -7
  849. package/app/public/providers/dxnt.svg +9 -3
  850. package/app/public/providers/gemini-business.svg +1 -1
  851. package/app/public/providers/gitlab.svg +1 -0
  852. package/app/public/providers/hailuo-web.svg +1 -1
  853. package/app/public/providers/heroku.svg +15 -3
  854. package/app/public/providers/huggingchat.svg +1 -9
  855. package/app/public/providers/kimi-desktop.svg +1 -9
  856. package/app/public/providers/kimi-web.svg +1 -8
  857. package/app/public/providers/lm-studio.svg +1 -1
  858. package/app/public/providers/meta-llama.svg +1 -4
  859. package/app/public/providers/modal.svg +1 -4
  860. package/app/public/providers/modelscope.svg +1 -4
  861. package/app/public/providers/notion-web.svg +1 -1
  862. package/app/public/providers/oci.svg +19 -3
  863. package/app/public/providers/ollama-cloud.svg +1 -4
  864. package/app/public/providers/orcarouter.png +0 -0
  865. package/app/public/providers/ovhcloud.svg +1 -4
  866. package/app/public/providers/perplexity-agent.svg +1 -13
  867. package/app/public/providers/poe-web.svg +1 -8
  868. package/app/public/providers/qwen-cloud.svg +1 -1
  869. package/app/public/providers/qwen-web.svg +1 -6
  870. package/app/public/providers/qwencloud.svg +1 -6
  871. package/app/public/providers/sap.svg +1 -4
  872. package/app/public/providers/scaleway.svg +1 -4
  873. package/app/public/providers/snowflake.svg +1 -4
  874. package/app/public/providers/triton.svg +1 -1
  875. package/app/public/providers/vllm.svg +1 -1
  876. package/app/public/providers/wandb.svg +1 -4
  877. package/app/public/providers/watsonx.svg +50 -3
  878. package/app/public/providers/zai-web.svg +1 -7
  879. package/app/public/providers/zcode.png +0 -0
  880. package/app/src/lib/db/migrate.js +6 -3
  881. package/app/src/mitm/server.js +2 -2
  882. package/package.json +1 -1
  883. package/src/cli/menus/providers.js +6 -0
  884. package/app/.next-cli-build/server/chunks/3988.js +0 -1
  885. package/app/.next-cli-build/server/chunks/422.js +0 -9
  886. package/app/.next-cli-build/server/chunks/6306.js +0 -1
  887. package/app/.next-cli-build/server/chunks/874.js +0 -9
  888. package/app/.next-cli-build/server/chunks/9703.js +0 -14
  889. package/app/.next-cli-build/static/FP2YsqoRbzETOIHRfld7X/_buildManifest.js +0 -1
  890. package/app/.next-cli-build/static/chunks/1321-a387932dc3179f86.js +0 -1
  891. package/app/.next-cli-build/static/chunks/5497-c6d8b48c8828240a.js +0 -7
  892. package/app/.next-cli-build/static/chunks/705-42ad329bbe0c47df.js +0 -1
  893. package/app/.next-cli-build/static/chunks/9497-d27e455b90c7936e.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-a84afe4d66f3439a.js +0 -3
  895. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-9850fafcf9dd605b.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-9879594c5128cd91.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-d3be818ebce4ade2.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-5ef2d54550eda9da.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-d208597b457fee58.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-1f465a9d64823fe6.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-e249d28461673557.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-7ea08e0acef52ce3.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/_global-error/page-d93feb6893aee449.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-d93feb6893aee449.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-d93feb6893aee449.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-d93feb6893aee449.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-d93feb6893aee449.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-d93feb6893aee449.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-d93feb6893aee449.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-d93feb6893aee449.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-d93feb6893aee449.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/breaker/route-d93feb6893aee449.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/cache/route-d93feb6893aee449.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-d93feb6893aee449.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-d93feb6893aee449.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-d93feb6893aee449.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-d93feb6893aee449.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-d93feb6893aee449.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-d93feb6893aee449.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-d93feb6893aee449.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-d93feb6893aee449.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-d93feb6893aee449.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-d93feb6893aee449.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-d93feb6893aee449.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-d93feb6893aee449.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-d93feb6893aee449.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-d93feb6893aee449.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-d93feb6893aee449.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-d93feb6893aee449.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-d93feb6893aee449.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-d93feb6893aee449.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/combos/lab/route-d93feb6893aee449.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/combos/route-d93feb6893aee449.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/combos/simulate/route-d93feb6893aee449.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-d93feb6893aee449.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-d93feb6893aee449.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-d93feb6893aee449.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-d93feb6893aee449.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-d93feb6893aee449.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/health/overview/route-d93feb6893aee449.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-d93feb6893aee449.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/health/route-d93feb6893aee449.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-d93feb6893aee449.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/init/route-d93feb6893aee449.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-d93feb6893aee449.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/keys/route-d93feb6893aee449.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/locale/route-d93feb6893aee449.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-d93feb6893aee449.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-d93feb6893aee449.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-d93feb6893aee449.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-d93feb6893aee449.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-d93feb6893aee449.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-d93feb6893aee449.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-d93feb6893aee449.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-d93feb6893aee449.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-d93feb6893aee449.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-d93feb6893aee449.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-d93feb6893aee449.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/models/route-d93feb6893aee449.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/models/test/route-d93feb6893aee449.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-d93feb6893aee449.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-d93feb6893aee449.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-d93feb6893aee449.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-d93feb6893aee449.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-d93feb6893aee449.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-d93feb6893aee449.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/oauth/freebuff/import/route-d93feb6893aee449.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-d93feb6893aee449.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-d93feb6893aee449.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/auto-import/route-d93feb6893aee449.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/import/route-d93feb6893aee449.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/quota/route-d93feb6893aee449.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-d93feb6893aee449.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-d93feb6893aee449.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-d93feb6893aee449.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-d93feb6893aee449.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-d93feb6893aee449.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-d93feb6893aee449.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-d93feb6893aee449.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-d93feb6893aee449.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-d93feb6893aee449.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-d93feb6893aee449.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/pricing/route-d93feb6893aee449.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-d93feb6893aee449.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-d93feb6893aee449.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-d93feb6893aee449.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-d93feb6893aee449.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/felo-profile/route-d93feb6893aee449.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-d93feb6893aee449.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-d93feb6893aee449.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-d93feb6893aee449.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-d93feb6893aee449.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-d93feb6893aee449.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-d93feb6893aee449.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-d93feb6893aee449.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-d93feb6893aee449.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-d93feb6893aee449.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-d93feb6893aee449.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-d93feb6893aee449.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-d93feb6893aee449.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zai-profile/route-d93feb6893aee449.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-d93feb6893aee449.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/providers/capture/launch/route-d93feb6893aee449.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/providers/capture/route-d93feb6893aee449.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-d93feb6893aee449.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/launch/route-d93feb6893aee449.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/route-d93feb6893aee449.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-d93feb6893aee449.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/providers/route-d93feb6893aee449.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-d93feb6893aee449.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-d93feb6893aee449.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-d93feb6893aee449.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-d93feb6893aee449.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-d93feb6893aee449.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-d93feb6893aee449.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-d93feb6893aee449.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-d93feb6893aee449.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-d93feb6893aee449.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-d93feb6893aee449.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-d93feb6893aee449.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-d93feb6893aee449.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-d93feb6893aee449.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-d93feb6893aee449.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/settings/route-d93feb6893aee449.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-d93feb6893aee449.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/smart-routing/active/route-d93feb6893aee449.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/smart-routing/history/route-d93feb6893aee449.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/smart-routing/lab/route-d93feb6893aee449.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/smart-routing/stream/route-d93feb6893aee449.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-d93feb6893aee449.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-d93feb6893aee449.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/tags/route-d93feb6893aee449.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-d93feb6893aee449.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-d93feb6893aee449.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-d93feb6893aee449.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-d93feb6893aee449.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-d93feb6893aee449.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-d93feb6893aee449.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-d93feb6893aee449.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-d93feb6893aee449.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-d93feb6893aee449.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-d93feb6893aee449.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-d93feb6893aee449.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-d93feb6893aee449.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-d93feb6893aee449.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-d93feb6893aee449.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-d93feb6893aee449.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-d93feb6893aee449.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-d93feb6893aee449.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-d93feb6893aee449.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-d93feb6893aee449.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-d93feb6893aee449.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-d93feb6893aee449.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-d93feb6893aee449.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-d93feb6893aee449.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-d93feb6893aee449.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-d93feb6893aee449.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-d93feb6893aee449.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-d93feb6893aee449.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-d93feb6893aee449.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-d93feb6893aee449.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-d93feb6893aee449.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-d93feb6893aee449.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-d93feb6893aee449.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-d93feb6893aee449.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-d93feb6893aee449.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-d93feb6893aee449.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-d93feb6893aee449.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-d93feb6893aee449.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-d93feb6893aee449.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-d93feb6893aee449.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-d93feb6893aee449.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/v1/route-d93feb6893aee449.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-d93feb6893aee449.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-d93feb6893aee449.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-d93feb6893aee449.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-d93feb6893aee449.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/version/route-d93feb6893aee449.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-d93feb6893aee449.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/api/version/update/route-d93feb6893aee449.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-d93feb6893aee449.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/page-d93feb6893aee449.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-d93feb6893aee449.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-d93feb6893aee449.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-d93feb6893aee449.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-d93feb6893aee449.js +0 -1
  1087. package/app/.next-cli-build/static/css/d30ee18d498368cc.css +0 -1
  1088. package/app/public/providers/ai21.svg +0 -4
  1089. package/app/public/providers/aimlapi.svg +0 -4
  1090. package/app/public/providers/ainative.svg +0 -4
  1091. package/app/public/providers/aion.svg +0 -4
  1092. package/app/public/providers/anyapi.svg +0 -4
  1093. package/app/public/providers/arcee-ai.svg +0 -4
  1094. package/app/public/providers/bai.svg +0 -4
  1095. package/app/public/providers/baseten.svg +0 -4
  1096. package/app/public/providers/blackbox-web.svg +0 -6
  1097. package/app/public/providers/bluesminds.svg +0 -4
  1098. package/app/public/providers/bytez.svg +0 -4
  1099. package/app/public/providers/charm-hyper.svg +0 -4
  1100. package/app/public/providers/cheaperinference.svg +0 -4
  1101. package/app/public/providers/chenzk.svg +0 -4
  1102. package/app/public/providers/conol-web.svg +0 -1
  1103. package/app/public/providers/crof.svg +0 -4
  1104. package/app/public/providers/datarobot.svg +0 -4
  1105. package/app/public/providers/orcarouter.svg +0 -4
  1106. /package/app/.next-cli-build/static/{FP2YsqoRbzETOIHRfld7X → BmLJ5bmQbpsF-jvZIwr9t}/_ssgManifest.js +0 -0
@@ -9,7 +9,7 @@ ${f}`:f,null}if("assistant"===g)return{id:(0,d.randomUUID)(),type:"agent-inferen
9
9
 
10
10
  User: ${c}`:c}(J);try{let a=await (0,h.proxyAwareFetch)(k,{method:"POST",headers:t(M,L,void 0,N),body:JSON.stringify({chatId:"",models:[P],project_id:"",chat_type:"t2t",chat_mode:"normal",timestamp:Date.now()}),signal:e},j),c=a.headers.get("content-type")||"";if(!a.ok||c.includes("text/html")){let d=await a.text().catch(()=>"");if(r(a.status,c,d))return{response:q(401,s,"WAF_BLOCKED"),url:k,headers:{},transformedBody:b};return{response:q(a.status||502,`Qwen create-chat failed: ${d.slice(0,300)}`),url:k,headers:{},transformedBody:b}}let d=await a.json();if(!(y=d?.data?.id??d?.id??d?.chat_id??"")){let a=d?.data?.code||d?.code,c=d?.data?.message||d?.message,e=[a,c].filter(Boolean).join(": "),f=e?` (${e})`:" — check cookie validity, SPA version (QWEN_SPA_VERSION), and model name";return{response:q(502,`Qwen create-chat returned no chat id${f}`),url:k,headers:{},transformedBody:b}}}catch(c){if(c?.name==="AbortError")throw c;let a=c instanceof Error?c.message:"unknown";return{response:q(502,`Qwen create-chat error: ${a}`),url:k,headers:{},transformedBody:b}}let R=`${l}?chat_id=${y}`,S=(w=y,B=o(),C=n.has(P)||/think|reason|r1/i.test(O),{stream:!0,incremental_output:!0,chat_id:w,chat_mode:"normal",model:P,parent_id:null,messages:[{fid:B,parentId:null,childrenIds:[],role:"user",content:Q,user_action:"chat",files:[],timestamp:Math.floor(Date.now()/1e3),models:[P],chat_type:"t2t",feature_config:{thinking_enabled:C,output_schema:"phase",auto_thinking:C,research_mode:"normal",auto_search:!1},sub_chat_type:"t2t",parent_id:null}]});try{z=await (0,h.proxyAwareFetch)(R,{method:"POST",headers:t(M,L,y,N),body:JSON.stringify(S),signal:e},j)}catch(b){if(b?.name==="AbortError")throw b;let a=b instanceof Error?b.message:"unknown";return{response:q(502,`Qwen completion fetch failed: ${a}`),url:R,headers:{},transformedBody:S}}let T=z.headers.get("content-type")||"";if(!z.ok||T.includes("text/html")){let a=await z.text().catch(()=>"");return r(z.status,T,a)?{response:q(401,s,"WAF_BLOCKED"),url:R,headers:{},transformedBody:S}:{response:q(z.status||502,`Qwen error: ${a.slice(0,300)}`),url:R,headers:{},transformedBody:S}}if(!c){let{content:a,reasoning:b,error:c}=await v(z.body,e);if(c&&!a)return{response:q(502,`Qwen error: ${c}`,"UPSTREAM_ERROR"),url:R,headers:t(M,L,y,N),transformedBody:S};let d={role:"assistant",content:a||(c?`[Qwen error: ${c}]`:"")};return b&&(d.reasoning_content=b),{response:new Response(JSON.stringify({id:`chatcmpl-qwen-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:P,choices:[{index:0,message:d,finish_reason:"stop",logprobs:null}]}),{status:200,headers:{"Content-Type":"application/json"}}),url:R,headers:t(M,L,y,N),transformedBody:S}}return{response:new Response((x=z.body,D=new TextEncoder,E=new TextDecoder,F=`chatcmpl-qwen-${Date.now()}`,G=Math.floor(Date.now()/1e3),H=(a,b=null)=>D.encode((0,g.N9)({id:F,object:"chat.completion.chunk",created:G,model:P,choices:[{index:0,delta:a,finish_reason:b}]})),new ReadableStream({async start(a){let b=x?.getReader();if(!b){a.enqueue(H({role:"assistant",content:""})),a.enqueue(H({},"stop")),a.enqueue(D.encode(f.$U));try{a.close()}catch{}return}let c="",d=!1;try{for(;!e?.aborted;){let{done:e,value:f}=await b.read();if(e)break;let g=(c+=E.decode(f,{stream:!0})).split("\n");for(let b of(c=g.pop()||"",g)){let c=u(b);c&&c.text&&(d||(d=!0,a.enqueue(H({role:"assistant",content:""}))),"error"===c.kind?a.enqueue(H({content:`
11
11
 
12
- [Qwen error: ${c.text}]`})):"answer"===c.kind?a.enqueue(H({content:c.text})):"think"===c.kind&&a.enqueue(H({reasoning_content:c.text})))}}}catch(b){if(!e?.aborted)try{a.error(b);return}catch{}}d||a.enqueue(H({role:"assistant",content:""})),a.enqueue(H({},"stop")),a.enqueue(D.encode(f.$U));try{a.close()}catch{}}})),{status:200,headers:{...f.uB}}),url:R,headers:t(M,L,y,N),transformedBody:S}}}},4493:(a,b,c)=>{c.d(b,{j:()=>h});var d=c(74957),e=c(35024),f=c(86724);let g=new Set;class h extends d.H{constructor(){super("opencode",e.xq.opencode)}transformRequest(a,b,c){return!1===c&&b&&"object"==typeof b&&void 0!==b.stream_options&&(b={...b},delete b.stream_options),(0,f.Z)({provider:this.provider,model:a,body:b})}buildUrl(a){let b=this.config.baseUrl;return g.has(a)?`${b}/zen/v1/messages`:`${b}/zen/v1/chat/completions`}buildHeaders(){return{"Content-Type":"application/json",Authorization:"Bearer public","x-opencode-client":"desktop",Accept:"text/event-stream"}}}},4630:(a,b,c)=>{c.d(b,{G:()=>q});var d=c(74957),e=c(35024),f=c(78959),g=c(92536),h=c(39609),i=c(45699);let j=e.xq.devin.baseUrl,k=`${j}/v1/sessions`,l=a=>`${j}/v1/session/${encodeURIComponent(a)}`,m=new Set(["completed","stopped","blocked"]);function n(a,b,c="DEVIN_ERROR"){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}async function o({prompt:a,mode:b,apiKey:c,orgId:d,signal:e,log:f,onProgress:g}){let i,j,n={"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${c}`};d&&(n["X-Devin-Organization"]=String(d));let p={prompt:a,idempotency_id:crypto.randomUUID()};b&&"normal"!==b&&(p.mode=b),f?.info?.("DEVIN",`create session | mode=${b} | prompt=${a.length} chars`);try{i=await (0,h.proxyAwareFetch)(k,{method:"POST",headers:n,body:JSON.stringify(p),signal:e},null)}catch(a){if(a?.name==="AbortError")throw a;throw Object.assign(Error(`Devin connection failed: ${a?.message||String(a)}`),{code:"CONNECT_FAILED"})}if(!i.ok){let a="";try{a=await i.text()||""}catch{}throw Object.assign(Error(401===i.status||403===i.status?"Devin auth failed — check that your API key (cog_...) is valid.":`Devin session creation failed (HTTP ${i.status})${a?`: ${a.slice(0,300)}`:""}`),{status:i.status,code:`HTTP_${i.status}`})}try{j=await i.json()}catch{throw Object.assign(Error("Devin returned a malformed session response."),{code:"BAD_RESPONSE"})}let q=j?.session_id;if(!q)throw Object.assign(Error("Devin session creation returned no session_id."),{code:"BAD_RESPONSE"});f?.info?.("DEVIN",`session ${q} created`);let r=Date.now()+6e5,s=0,t="created";for(;Date.now()<r;){let a,b;if(e?.aborted||(await new Promise(a=>setTimeout(a,3e3)),e?.aborted))throw Object.assign(Error("Aborted"),{name:"AbortError"});try{a=await (0,h.proxyAwareFetch)(l(q),{method:"GET",headers:n,signal:e},null)}catch(a){if(a?.name==="AbortError")throw a;f?.warn?.("DEVIN",`poll error (will retry): ${a?.message||String(a)}`);continue}if(!a.ok){if(a.status>=500){f?.warn?.("DEVIN",`poll HTTP ${a.status}, retrying`);continue}throw Object.assign(Error(`Devin poll failed (HTTP ${a.status})`),{status:a.status,code:`HTTP_${a.status}`})}try{b=await a.json()}catch{b={}}t=String(b?.status||t);let{full:c,delta:d}=function(a,b=0){let c=Array.isArray(a?.messages)?a.messages:[],d=[];for(let a of c){let b=a?.message??a?.text??"";if(!b)continue;let c=String(a?.type||a?.message_type||"").toLowerCase();(!c.includes("user")||c.includes("assistant"))&&d.push(String(b))}let e=d.join("\n\n").trim(),f=e.length>b?e.slice(b):"";return{full:e,delta:f}}(b,s);if(d?(s=c.length,g?.({status:t,delta:d})):g?.({status:t,delta:""}),m.has(t))return f?.info?.("DEVIN",`session ${q} → ${t} | ${c.length} chars output`),{sessionId:q,status:t,full:c}}return f?.warn?.("DEVIN",`session ${q} timed out (status=${t}), returning partial output`),{sessionId:q,status:"timeout",full:""}}async function p({prompt:a,mode:b,model:c,cid:d,created:e,apiKey:f,orgId:g,signal:h,log:i}){let j=await o({prompt:a,mode:b,apiKey:f,orgId:g,signal:h,log:i}),k=j.full||`[Devin session ended with status: ${j.status}]`,l=Math.ceil(a.length/4),m=Math.ceil(k.length/4);return new Response(JSON.stringify({id:d,object:"chat.completion",created:e,model:c,system_fingerprint:null,choices:[{index:0,message:{role:"assistant",content:k},finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:l,completion_tokens:m,total_tokens:l+m}}),{status:200,headers:{"Content-Type":"application/json"}})}class q extends d.H{constructor(){super("devin",e.xq.devin)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h}){let j,l,m=b?.messages;if(!Array.isArray(m)||0===m.length)return{response:n(400,"Missing or empty messages array.","INVALID_REQUEST"),url:k,headers:{},transformedBody:b};let q=function(a){if(!Array.isArray(a))return"";let b=[];for(let c of a){let a=String(c.role||"user"),d="";"string"==typeof c.content?d=c.content:Array.isArray(c.content)&&(d=c.content.filter(a=>a&&("text"===a.type||"string"==typeof a)).map(a=>"string"==typeof a?a:String(a.text||"")).join("\n")),(d=String(d||"").trim())&&("user"===a?b.push(d):b.push(`[${a}]
12
+ [Qwen error: ${c.text}]`})):"answer"===c.kind?a.enqueue(H({content:c.text})):"think"===c.kind&&a.enqueue(H({reasoning_content:c.text})))}}}catch(b){if(!e?.aborted)try{a.error(b);return}catch{}}d||a.enqueue(H({role:"assistant",content:""})),a.enqueue(H({},"stop")),a.enqueue(D.encode(f.$U));try{a.close()}catch{}}})),{status:200,headers:{...f.uB}}),url:R,headers:t(M,L,y,N),transformedBody:S}}}},4493:(a,b,c)=>{c.d(b,{j:()=>l});var d=c(74957),e=c(35024),f=c(86724),g=c(45699),h=c(52422),i=c(39609);let j=new Set;function k(a){return"openai-responses"===(0,g.ux)("oc",a)}class l extends d.H{constructor(){super("opencode",e.xq.opencode)}transformRequest(a,b,c){return!1===c&&b&&"object"==typeof b&&void 0!==b.stream_options&&(b={...b},delete b.stream_options),(0,f.Z)({provider:this.provider,model:a,body:b})}buildUrl(a){let b=this.config.baseUrl;return k(a)?`${b}/zen/v1/responses`:j.has(a)?`${b}/zen/v1/messages`:`${b}/zen/v1/chat/completions`}async execute(a){let{model:b}=a;return b&&k(b)?this.executeResponses(a):super.execute(a)}async executeResponses({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null,opencodeIdentity:j=null}){let k=`${this.config.baseUrl}/zen/v1/responses`,l=this.buildHeaders(d,!0,a,j),m={...b,model:a,stream:!0};delete m.stream_options,f?.debug?.("OPENCODE",`Responses route for ${a} (targetFormat:openai-responses)`);let n=await (0,i.proxyAwareFetch)(k,{method:"POST",headers:l,body:JSON.stringify(m),signal:e},g);if(!n.ok||!n.body)return{response:n,url:k,headers:l,transformedBody:m};if(!1===c){let b=await (0,h.x)(n.body);return{response:new Response(JSON.stringify(this.responsesJsonToChatCompletion(b,a)),{status:n.status,statusText:n.statusText,headers:{"Content-Type":"application/json",...n.headers}}),url:k,headers:l,transformedBody:m}}return{response:n,url:k,headers:l,transformedBody:m}}responsesJsonToChatCompletion(a,b){let c=Array.isArray(a?.output)?a.output:[],d=null;for(let a of c){if(a?.type!=="message")continue;let b=(a.content||[]).filter(a=>"output_text"===a.type).map(a=>a.text).join("");b.length>0&&(d=b)}let e=c.filter(a=>a?.type==="function_call").map((a,b)=>({id:a.call_id||a.id||`call_${b}`,type:"function",function:{name:a.name,arguments:a.arguments||"{}"}})),f=c.filter(a=>a?.type==="reasoning").flatMap(a=>a.summary||[]).map(a=>a?.text).filter(Boolean).join("\n")||null,g=a?.usage||{},h=null!=g.input_tokens||null!=g.output_tokens?{prompt_tokens:g.input_tokens||0,completion_tokens:g.output_tokens||0,total_tokens:g.total_tokens||(g.input_tokens||0)+(g.output_tokens||0)}:void 0;return{id:a?.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:a?.created_at||Math.floor(Date.now()/1e3),model:b,...a?.error?{error:a.error}:{},choices:[{index:0,message:{role:"assistant",content:d,reasoning_content:f,...e.length>0?{tool_calls:e}:{}},finish_reason:e.length>0?"tool_calls":a?.status==="incomplete"?"length":"stop"}],...h?{usage:h}:{}}}buildHeaders(a,b=!0,c=null,d=null){let e=d||{},f={"Content-Type":"application/json",Authorization:"Bearer public",Accept:b?"text/event-stream":"*/*"};return f["x-opencode-client"]=e.clientId||"desktop",e.sessionId&&(f["x-opencode-session"]=e.sessionId),e.requestId&&(f["x-opencode-request"]=e.requestId),e.projectId&&(f["x-opencode-project"]=e.projectId),f}}},4630:(a,b,c)=>{c.d(b,{G:()=>q});var d=c(74957),e=c(35024),f=c(78959),g=c(92536),h=c(39609),i=c(45699);let j=e.xq.devin.baseUrl,k=`${j}/v1/sessions`,l=a=>`${j}/v1/session/${encodeURIComponent(a)}`,m=new Set(["completed","stopped","blocked"]);function n(a,b,c="DEVIN_ERROR"){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}async function o({prompt:a,mode:b,apiKey:c,orgId:d,signal:e,log:f,onProgress:g}){let i,j,n={"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${c}`};d&&(n["X-Devin-Organization"]=String(d));let p={prompt:a,idempotency_id:crypto.randomUUID()};b&&"normal"!==b&&(p.mode=b),f?.info?.("DEVIN",`create session | mode=${b} | prompt=${a.length} chars`);try{i=await (0,h.proxyAwareFetch)(k,{method:"POST",headers:n,body:JSON.stringify(p),signal:e},null)}catch(a){if(a?.name==="AbortError")throw a;throw Object.assign(Error(`Devin connection failed: ${a?.message||String(a)}`),{code:"CONNECT_FAILED"})}if(!i.ok){let a="";try{a=await i.text()||""}catch{}throw Object.assign(Error(401===i.status||403===i.status?"Devin auth failed — check that your API key (cog_...) is valid.":`Devin session creation failed (HTTP ${i.status})${a?`: ${a.slice(0,300)}`:""}`),{status:i.status,code:`HTTP_${i.status}`})}try{j=await i.json()}catch{throw Object.assign(Error("Devin returned a malformed session response."),{code:"BAD_RESPONSE"})}let q=j?.session_id;if(!q)throw Object.assign(Error("Devin session creation returned no session_id."),{code:"BAD_RESPONSE"});f?.info?.("DEVIN",`session ${q} created`);let r=Date.now()+6e5,s=0,t="created";for(;Date.now()<r;){let a,b;if(e?.aborted||(await new Promise(a=>setTimeout(a,3e3)),e?.aborted))throw Object.assign(Error("Aborted"),{name:"AbortError"});try{a=await (0,h.proxyAwareFetch)(l(q),{method:"GET",headers:n,signal:e},null)}catch(a){if(a?.name==="AbortError")throw a;f?.warn?.("DEVIN",`poll error (will retry): ${a?.message||String(a)}`);continue}if(!a.ok){if(a.status>=500){f?.warn?.("DEVIN",`poll HTTP ${a.status}, retrying`);continue}throw Object.assign(Error(`Devin poll failed (HTTP ${a.status})`),{status:a.status,code:`HTTP_${a.status}`})}try{b=await a.json()}catch{b={}}t=String(b?.status||t);let{full:c,delta:d}=function(a,b=0){let c=Array.isArray(a?.messages)?a.messages:[],d=[];for(let a of c){let b=a?.message??a?.text??"";if(!b)continue;let c=String(a?.type||a?.message_type||"").toLowerCase();(!c.includes("user")||c.includes("assistant"))&&d.push(String(b))}let e=d.join("\n\n").trim(),f=e.length>b?e.slice(b):"";return{full:e,delta:f}}(b,s);if(d?(s=c.length,g?.({status:t,delta:d})):g?.({status:t,delta:""}),m.has(t))return f?.info?.("DEVIN",`session ${q} → ${t} | ${c.length} chars output`),{sessionId:q,status:t,full:c}}return f?.warn?.("DEVIN",`session ${q} timed out (status=${t}), returning partial output`),{sessionId:q,status:"timeout",full:""}}async function p({prompt:a,mode:b,model:c,cid:d,created:e,apiKey:f,orgId:g,signal:h,log:i}){let j=await o({prompt:a,mode:b,apiKey:f,orgId:g,signal:h,log:i}),k=j.full||`[Devin session ended with status: ${j.status}]`,l=Math.ceil(a.length/4),m=Math.ceil(k.length/4);return new Response(JSON.stringify({id:d,object:"chat.completion",created:e,model:c,system_fingerprint:null,choices:[{index:0,message:{role:"assistant",content:k},finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:l,completion_tokens:m,total_tokens:l+m}}),{status:200,headers:{"Content-Type":"application/json"}})}class q extends d.H{constructor(){super("devin",e.xq.devin)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h}){let j,l,m=b?.messages;if(!Array.isArray(m)||0===m.length)return{response:n(400,"Missing or empty messages array.","INVALID_REQUEST"),url:k,headers:{},transformedBody:b};let q=function(a){if(!Array.isArray(a))return"";let b=[];for(let c of a){let a=String(c.role||"user"),d="";"string"==typeof c.content?d=c.content:Array.isArray(c.content)&&(d=c.content.filter(a=>a&&("text"===a.type||"string"==typeof a)).map(a=>"string"==typeof a?a:String(a.text||"")).join("\n")),(d=String(d||"").trim())&&("user"===a?b.push(d):b.push(`[${a}]
13
13
  ${d}`))}return b.join("\n\n").trim()}(m);if(!q)return{response:n(400,"No text content found in messages.","INVALID_REQUEST"),url:k,headers:{},transformedBody:b};let r=d?.apiKey||d?.accessToken;if(!r)return{response:n(401,"Devin requires an API key (cog_...). Add one in your connection settings.","NO_API_KEY"),url:k,headers:{},transformedBody:b};let s=(j=i.PROVIDER_MODELS.devin,l=j?.find(b=>b.id===a),l?.upstreamModelId?l.upstreamModelId:"string"==typeof a&&a.startsWith("devin-")?a.slice(6):"normal"),t=d?.providerSpecificData?.orgId,u=`chatcmpl-devin-${crypto.randomUUID().slice(0,12)}`,v=Math.floor(Date.now()/1e3),w={Authorization:"Bearer cog_...","Content-Type":"application/json"};if(c){let b=function({prompt:a,mode:b,model:c,cid:d,created:e,apiKey:h,orgId:i,signal:j,log:k}){let l=new TextEncoder,m=0,n=(a,b)=>a.enqueue(l.encode((0,g.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:b,finish_reason:null,logprobs:null}]})));return new ReadableStream({async start(p){n(p,{role:"assistant"});let q=setInterval(()=>{try{j?.aborted||n(p,{})}catch{}},8e3);try{let q=await o({prompt:a,mode:b,apiKey:h,orgId:i,signal:j,log:k,onProgress:({delta:a})=>{a&&(m+=a.length,n(p,{content:a}))}});0===m&&q.full&&n(p,{content:q.full}),q.full||"blocked"!==q.status&&"stopped"!==q.status||n(p,{content:`[Devin session ended with status: ${q.status}]`}),p.enqueue(l.encode((0,g.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),p.enqueue(l.encode(f.$U))}catch(b){let a=b?.name==="AbortError"?"Stream aborted.":b?.message||String(b);p.enqueue(l.encode((0,g.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{content:`
14
14
  [Devin error: ${a}]`},finish_reason:"stop",logprobs:null}]}))),p.enqueue(l.encode(f.$U))}finally{clearInterval(q);try{p.close()}catch{}}}})}({prompt:q,mode:s,model:a,cid:u,created:v,apiKey:r,orgId:t,signal:e,log:h});return{response:new Response(b,{status:200,headers:{...f.uB}}),url:k,headers:w,transformedBody:{prompt:q,mode:s}}}return{response:await p({prompt:q,mode:s,model:a,cid:u,created:v,apiKey:r,orgId:t,signal:e,log:h}),url:k,headers:w,transformedBody:{prompt:q,mode:s}}}}},4764:(a,b,c)=>{c.d(b,{w:()=>k});var d=c(77598),e=c(74957),f=c(78959),g=c(92536),h=c(39609);let i="https://api.1min.ai";function j(a,b){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:"ONEMIN_ERROR"}}),{status:a,headers:{"Content-Type":"application/json"}})}class k extends e.H{constructor(){super("1min",null)}async execute({model:a,body:b,stream:c,credentials:e,signal:k,log:l,proxyOptions:m=null}){let n,o,p,q=((p=String(e?.apiKey||"").trim()).toLowerCase().startsWith("bearer ")&&(p=p.slice(7).trim()),p.toLowerCase().startsWith("cookie:")&&(p=p.replace(/^cookie:\s*/i,"").trim()),p);if(!q)return{response:j(401,"1min.ai: no token provided. Log in at app.1min.ai and copy the x-auth-token Bearer value from DevTools."),url:i,headers:{},transformedBody:b};let r=e?.providerSpecificData?.teamId||function(a){try{let b=a.split(".");if(3!==b.length)return null;let c=JSON.parse(Buffer.from(b[1],"base64").toString("utf8"));return c?.uuid||null}catch{return null}}(q);if(!r)return{response:j(400,"1min.ai: could not extract team ID from token. Ensure you copied the full JWT."),url:i,headers:{},transformedBody:b};let s=b?.messages||[],t=s.filter(a=>"user"===a.role),u=s.filter(a=>"system"===a.role),v=t[t.length-1],w="string"==typeof v?.content?v.content:Array.isArray(v?.content)?v.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):"";if(!w.trim())return{response:j(400,"1min.ai: request has no user message content."),url:i,headers:{},transformedBody:b};let x=u.length>0?"string"==typeof u[0].content?u[0].content:"":null,y=x?`${x}
15
15
 
@@ -37,9 +37,7 @@ ${b}`)}let f=[];return e.length>0&&f.push({id:(0,d.randomUUID)(),author:{role:"s
37
37
  `),f.push(k.$U),new Response(f.join(""),{status:200,headers:{...k.pb}})}async refreshCredentials(){return null}}d()}catch(a){d(a)}},1)},21880:(a,b,c)=>{c.d(b,{l:()=>m});var d=c(77598),e=c(74957),f=c(35024),g=c(78959),h=c(92536),i=c(58643),j=c(39609);let k=f.xq["zenmux-free"]?.baseUrl||"https://zenmux.ai/api/anthropic/v1/messages";function l(a,b,c="ZENMUX_ERROR"){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}class m extends e.H{constructor(){super("zenmux-free",f.xq["zenmux-free"])}async execute({model:a,body:b,stream:c,credentials:e,signal:f,log:m,proxyOptions:o=null}){let p,q,r,s=((q=String(e?.apiKey||"").trim()).startsWith("Cookie:")&&(q=q.slice(7).trim()),q.startsWith("cookie:")&&(q=q.slice(7).trim()),q),t=(r=s.match(/ctoken=([^;]+)/))?r[1]:"";if(!t)return{response:l(401,"ZenMux Free: ctoken not found in cookies. Export all cookies from zenmux.ai and paste as the credential."),url:k,headers:{},transformedBody:b};let u=b?.messages||[],v=a||b?.model||"deepseek/deepseek-chat",w=b?.max_tokens||4096,x=u.filter(a=>"user"===a.role),y=u.filter(a=>"system"===a.role),z=x[x.length-1],A="string"==typeof z?.content?z.content:Array.isArray(z?.content)?z.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):"Hello",B=y.length>0?"string"==typeof y[0].content?y[0].content:"":null,C=B?`${B}
38
38
 
39
39
  ${A}`:A,D=(0,d.randomUUID)().replace(/-/g,""),E={model:v,max_tokens:w,messages:[{role:"user",content:[{type:"text",text:C}]}],stream:!0};b?.temperature!==void 0&&(E.temperature=b.temperature);let F=new URL(k);F.searchParams.set("ctoken",t);let G={"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Accept:"text/event-stream",Origin:"https://zenmux.ai",Referer:"https://zenmux.ai/platform/chat","anthropic-version":"2023-06-01","chat-request-id":D,"x-zenmux-accept-processing":"true, true","x-zenmux-apikey-source":"subscription"};s&&(G.Cookie=s),m?.info?.("ZENMUX-FREE",`model=${v} len=${C.length}`);try{let a=o?.connectionProxyEnabled?j.proxyAwareFetch:i.u5;p=await a(F.toString(),{method:"POST",headers:G,body:JSON.stringify(E),signal:f},o)}catch(a){return{response:l(502,`ZenMux Free fetch failed: ${a?.message||a}`),url:k,headers:G,transformedBody:E}}if(!p.ok){if(401===p.status||403===p.status)return{response:l(401,"ZenMux Free: cookies expired or invalid"),url:k,headers:G,transformedBody:E};if(402===p.status)return{response:l(402,"ZenMux Free: free-tier quota exhausted"),url:k,headers:G,transformedBody:E};let a=await p.text().catch(()=>"");return{response:l(p.status,`ZenMux Free error: ${a.slice(0,300)}`),url:k,headers:G,transformedBody:E}}if(!p.body)return{response:l(502,"ZenMux Free: empty response body"),url:k,headers:G,transformedBody:E};let H=`chatcmpl-zmf-${(0,d.randomUUID)().slice(0,12)}`,I=Math.floor(Date.now()/1e3);if(!c){let a=await n(p.body,f);return{response:new Response(JSON.stringify({id:H,object:"chat.completion",created:I,model:v,choices:[{index:0,message:{role:"assistant",content:a},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:Math.ceil(a.length/4),total_tokens:0}}),{headers:{"Content-Type":"application/json"}}),url:k,headers:G,transformedBody:E}}let J=new TextEncoder,K=new TextDecoder,L=new ReadableStream({async start(a){let b=p.body.getReader(),c="";a.enqueue(J.encode((0,h.N9)({id:H,object:"chat.completion.chunk",created:I,model:v,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})));try{for(;!f?.aborted;){let{done:d,value:e}=await b.read();if(d)break;let f=(c+=K.decode(e,{stream:!0})).split("\n");for(let b of(c=f.pop()||"",f)){let c=b.trim();if(!c.startsWith("data: "))continue;let d=c.slice(6);if("[DONE]"!==d)try{let b=JSON.parse(d),c=b.delta;if("content_block_delta"===b.type&&c){let b=c.text||c.thinking||"";b&&a.enqueue(J.encode((0,h.N9)({id:H,object:"chat.completion.chunk",created:I,model:v,choices:[{index:0,delta:{content:b},finish_reason:null}]})))}else"message_delta"===b.type&&c&&a.enqueue(J.encode((0,h.N9)({id:H,object:"chat.completion.chunk",created:I,model:v,choices:[{index:0,delta:{},finish_reason:c.stop_reason||"stop"}]})))}catch{}}}}catch(b){f?.aborted||a.error(b)}finally{a.enqueue(J.encode(g.$U)),a.close()}}});return{response:new Response(L,{status:200,headers:{...g.uB}}),url:k,headers:G,transformedBody:E}}}async function n(a,b){let c=a.getReader(),d=new TextDecoder,e="",f="";try{for(;!b?.aborted;){let{done:a,value:b}=await c.read();if(a)break;let g=(e+=d.decode(b,{stream:!0})).split("\n");for(let a of(e=g.pop()||"",g)){let b=a.trim();if(!b.startsWith("data: "))continue;let c=b.slice(6);if("[DONE]"!==c)try{let a=JSON.parse(c);"content_block_delta"===a.type&&a.delta?.text&&(f+=a.delta.text)}catch{}}}}finally{c.releaseLock()}return f}},23013:(a,b,c)=>{c.d(b,{Ay:()=>D});var d=c(74957),e=c(35024),f=c(78959),g=c(92536);let h=e.xq["perplexity-web"].baseUrl,i="2.18",j={"pplx-auto":["concise","pplx_pro"],"pplx-sonar":["copilot","experimental"],"pplx-gpt":["copilot","gpt54"],"pplx-gemini":["copilot","gemini31pro_high"],"pplx-sonnet":["copilot","claude46sonnet"],"pplx-opus":["copilot","claude46opus"],"pplx-nemotron":["copilot","nv_nemotron_3_super"]},k={"pplx-gpt":"gpt54_thinking","pplx-sonnet":"claude46sonnetthinking","pplx-opus":"claude46opusthinking"},l=/\[\d+\]/g,m=/<grok:[^>]*>.*?<\/grok:[^>]*>/gs,n=/<grok:[^>]*\/>/g,o=/<[?]xml[^?]*[?]>/g,p=/<\/?response\b[^>]*>/gi,q=/ {2,}/g,r=/\n{3,}/g,s=new Map;function t(a){let b=a.map(a=>`${a.role}:${a.content}`).join("\n"),c=0x811c9dc5;for(let a=0;a<b.length;a++)c^=b.charCodeAt(a),c=0x1000193*c>>>0;return c.toString(16).padStart(8,"0")}function u(a,b,c,d){if(!d)return;let e=t([...a,{role:"user",content:b},{role:"assistant",content:c}]);if(s.set(e,{backendUuid:d,ts:Date.now()}),s.size>200){let a=null,b=1/0;for(let[c,d]of s)d.ts<b&&(b=d.ts,a=c);a&&s.delete(a)}}function v(a,b=!0){let c=a;return c=(c=(c=(c=(c=c.replace(o,"")).replace(l,"")).replace(m,"")).replace(n,"")).replace(p,""),b&&(c=(c=(c=c.replace(q," ")).replace(r,"\n\n")).trim()),c}function w(a,b){return`workflow_root:${a}:${b}`}function x(a){return!!a&&(a.payload?.text_payload?.variant??a.variant)==="answer"}function y(a,b){let c=b.payload?.text_payload;c&&(Array.isArray(c.chunks)&&c.chunks.length>0?a.chunks=c.chunks.map(a=>String(a)):"string"==typeof c.text&&c.text.length>0&&(a.chunks=[c.text]))}function z(a,b){let c=a.get(b);return c||(c={chunks:[]},a.set(b,c)),c}async function*A(a,b){let c=a.getReader(),d=new TextDecoder,e="",f=[];function g(){if(0===f.length)return null;let a=f.join("\n");f=[];let b=a.trim();if(!b||"[DONE]"===b)return"done";try{return JSON.parse(b)}catch{return null}}try{for(;;){if(b?.aborted)return;let{value:a,done:h}=await c.read();if(h)break;for(e+=d.decode(a,{stream:!0});;){let a=e.indexOf("\n");if(a<0)break;let b=e.slice(0,a);e=e.slice(a+1);let c=b.endsWith("\r")?b.slice(0,-1):b;if(""===c){let a=g();if("done"===a)return;a&&(yield a);continue}if(c.startsWith("data:")&&f.push(c.slice(5).trimStart()),"event: end_of_stream"===c)return}}(e+=d.decode()).trim().startsWith("data:")&&f.push(e.trim().slice(5).trimStart());let a=g();a&&"done"!==a&&(yield a)}finally{c.releaseLock()}}async function*B(a,b){let c="",d=null,e=0,f=new Set,g=new Map,h=()=>{if(0===g.size)return null;let a=function(a){let b=[];for(let[c,d]of a.entries()){let a=/^workflow_root:(\d+):(\d+)$/.exec(c);b.push({step:a?Number(a[1]):0,item:a?Number(a[2]):0,acc:d})}b.sort((a,b)=>a.step-b.step||a.item-b.item);let c=new Map;for(let a of b)c.has(a.step)||c.set(a.step,[]),c.get(a.step).push(a.acc.chunks.join(""));return[...c.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a.join("")).join("\n\n").trim()}(g);if(a.length>e){let b=a.slice(e);return c=a,e=a.length,b}return a.length<e&&(c=a,e=a.length),null};for await(let i of A(a,b)){if(i.error_code||i.error_message)return void(yield{error:i.error_message||`Perplexity error: ${i.error_code}`,done:!0});i.backend_uuid&&(d=i.backend_uuid);let a=i.blocks??[];for(let b of a){let a=b.intended_usage??"";if("pro_search_steps"===a&&b.plan_block?.steps){for(let a of b.plan_block.steps)if("SEARCH_WEB"===a.step_type)for(let b of a.search_web_content?.queries??[]){let a=b.query??"";a&&!f.has(a)&&(f.add(a),yield{thinking:`Searching: ${a}`,backendUuid:d??void 0})}else if("READ_RESULTS"===a.step_type)for(let b of(a.read_results_content?.urls??[]).slice(0,3))b&&!f.has(b)&&(f.add(b),yield{thinking:`Reading: ${b}`,backendUuid:d??void 0})}if("plan"===a&&b.plan_block?.goals)for(let a of b.plan_block.goals){let b=a.description??"";b&&!f.has(b)&&(f.add(b),yield{thinking:b,backendUuid:d??void 0})}if(b.workflow_block){!function(a,b){(b.steps??[]).forEach((b,c)=>{(b.items??[]).forEach((b,d)=>{x(b)&&y(z(a,w(c,d)),b)})})}(g,b.workflow_block);let a=h();a&&(yield{delta:a,answer:c,backendUuid:d??void 0});continue}if(b.diff_block?.field==="workflow_block"){!function(a,b){for(let c of b){let b=c.path??"",d=/^\/steps\/(\d+)$/.exec(b);if(d){let b=Number.parseInt(d[1],10);((c.value??{}).items??[]).forEach((c,d)=>{x(c)&&y(z(a,w(b,d)),c)});continue}let e=/^\/steps\/(\d+)\/items\/(\d+)$/.exec(b);if(e){let b=c.value??{};if(!x(b))continue;y(z(a,w(Number.parseInt(e[1],10),Number.parseInt(e[2],10))),b);continue}let f=/^\/steps\/(\d+)\/items\/(\d+)\/payload\/text_payload\/chunks\/(\d+)$/.exec(b);if(f&&"string"==typeof c.value){let b=w(Number.parseInt(f[1],10),Number.parseInt(f[2],10)),d=a.get(b);if(!d)continue;d.chunks[Number.parseInt(f[3],10)]=c.value;continue}let g=/^\/steps\/(\d+)\/items\/(\d+)\/payload\/text_payload\/text$/.exec(b);if(g&&"string"==typeof c.value&&c.value.length>0){let b=w(Number.parseInt(g[1],10),Number.parseInt(g[2],10)),d=a.get(b);if(!d||d.chunks.join("").length>0)continue;d.chunks=[c.value]}}}(g,b.diff_block.patches??[]);let a=h();a&&(yield{delta:a,answer:c,backendUuid:d??void 0});continue}if(!a.includes("markdown"))continue;let i=b.markdown_block;if(!i)continue;let j=i.chunks??[];if(0!==j.length)if("DONE"===i.progress)c=j.join("");else{let a=j.join(""),b=c+a;if(b.length>e){let a=b.slice(e);c=b,e=b.length,yield{delta:a,answer:c,backendUuid:d??void 0}}}}if(0===a.length&&i.text){let a=i.text.trim();if(a.length>e){let b=a.slice(e);c=a,e=a.length,yield{delta:b,answer:c,backendUuid:d??void 0}}}if(i.final||"COMPLETED"===i.status){let a=h();a&&(yield{delta:a,answer:c,backendUuid:d??void 0});break}}yield{delta:"",answer:c,backendUuid:d??void 0,done:!0}}async function C(a,b,c,d,e,f,g){let h="",i=null,j=[];for await(let b of B(a,g)){if(b.backendUuid&&(i=b.backendUuid),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"PPLX_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){j.push(b.thinking);continue}if(b.done){h=b.answer||h;break}b.answer&&(h=b.answer)}u(e,f,h=v(h),i);let k=j.length>0?j.join("\n"):void 0,l={role:"assistant",content:h};k&&(l.reasoning_content=k);let m=Math.ceil(f.length/4),n=Math.ceil(h.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:null,choices:[{index:0,message:l,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:m,completion_tokens:n,total_tokens:m+n}}),{status:200,headers:{"Content-Type":"application/json"}})}class D extends d.H{constructor(){super("perplexity-web",e.xq["perplexity-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:l}){var m,n,o,p,q;let r,w,x,y,z,A=b?.messages;if(!A||!Array.isArray(A)||0===A.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:h,headers:{},transformedBody:b};(b?.thinking===!0||b?.reasoning_effort!=null&&"none"!==b.reasoning_effort)&&k[a]?(r="copilot",w=k[a],l?.info?.("PPLX-WEB",`Thinking mode → ${a} using ${w}`)):j[a]?[r,w]=j[a]:(r="copilot",w=a,l?.info?.("PPLX-WEB",`Unmapped model ${a}, using as raw preference`));let D=function(a){let b="",c=[];for(let d of a){let a=String(d.role||"user");"developer"===a&&(a="system");let e="";"string"==typeof d.content?e=d.content:Array.isArray(d.content)&&(e=d.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),e.trim()&&("system"===a?b+=e+"\n":("user"===a||"assistant"===a)&&c.push({role:a,content:e}))}let d="";return c.length>0&&"user"===c[c.length-1].role&&(d=c.pop().content),{systemMsg:b,history:c,currentMsg:d}}(A),E=function(a){if(0===a.length)return null;let b=t(a),c=s.get(b);return c?Date.now()-c.ts>36e5?(s.delete(b),null):c.backendUuid:null}(D.history);E&&l?.info?.("PPLX-WEB",`Session continue: ${E.slice(0,12)}...`);let F=function(a,b,c){if(b)return a.currentMsg;let d={},e=[];a.systemMsg.trim()&&e.push(a.systemMsg.trim());let f=function(a){if(!Array.isArray(a)||0===a.length)return"";let b=a.map(a=>{let b=a?.function||a||{},c=b.name||"unnamed",d=(b.description||"").split("\n")[0].slice(0,200);return`- ${c}: ${d}`});return`Available tools (reference only, cannot invoke):
40
- ${b.join("\n")}`}(c);f&&e.push(f),e.push("You have built-in web search. Answer questions directly using search results."),d.instructions=e,a.history.length>0&&(d.history=a.history),a.currentMsg?d.query=a.currentMsg:0===a.history.length&&(d.query="");let g=JSON.stringify(d);return g.length>96e3?g.slice(-96e3):g}(D,E,b?.tools);if(!F.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:b};let G=(m=r,n=w,z="u">typeof Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",{query_str:F,params:{query_str:F,search_focus:"internet",mode:m,model_preference:n,sources:["web"],attachments:[],frontend_uuid:crypto.randomUUID(),frontend_context_uuid:crypto.randomUUID(),version:i,language:"en-US",timezone:z,search_recency_filter:null,is_incognito:!0,use_schematized_api:!0,last_backend_uuid:E}}),H={"Content-Type":"application/json",Accept:"text/event-stream",Origin:"https://www.perplexity.ai",Referer:"https://www.perplexity.ai/","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36","X-App-ApiClient":"default","X-App-ApiVersion":i};d.accessToken?H.Authorization=`Bearer ${d.accessToken}`:d.apiKey&&(H.Cookie=`__Secure-next-auth.session-token=${d.apiKey}`),l?.info?.("PPLX-WEB",`Query to ${a} (pref=${w}, mode=${r}), len=${F.length}`);let I={method:"POST",headers:H,body:JSON.stringify(G)};e&&(I.signal=e);try{x=await fetch(h,I)}catch(a){return l?.error?.("PPLX-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Perplexity connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:h,headers:H,transformedBody:G}}if(!x.ok){let a=x.status,b=`Perplexity returned HTTP ${a}`;return 401===a||403===a?b="Perplexity auth failed — session cookie may be expired. Re-paste your __Secure-next-auth.session-token.":429===a&&(b="Perplexity rate limited. Wait a moment and retry."),l?.warn?.("PPLX-WEB",b),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:h,headers:H,transformedBody:G}}if(!x.body)return{response:new Response(JSON.stringify({error:{message:"Perplexity returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:h,headers:H,transformedBody:G};let J=`chatcmpl-pplx-${crypto.randomUUID().slice(0,12)}`,K=Math.floor(Date.now()/1e3);if(c){let b;y=new Response((o=x.body,p=D.history,q=D.currentMsg,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="",h=null;for await(let f of B(o,e)){if(f.backendUuid&&(h=f.backendUuid),f.error){c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{reasoning_content:f.thinking+"\n"},finish_reason:null,logprobs:null}]})));continue}if(f.done){d=f.answer||d;break}let e=f.delta||"";e&&(e=v(e,!1))&&c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:e},finish_reason:null,logprobs:null}]}))),f.answer&&(d=f.answer)}c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U)),u(p,q,v(d),h)}catch(d){c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,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(f.$U))}finally{c.close()}}})),{status:200,headers:{...f.uB}})}else y=await C(x.body,a,J,K,D.history,D.currentMsg,e);return{response:y,url:h,headers:H,transformedBody:G}}}},25114:(a,b,c)=>{c.d(b,{l:()=>L});var d=c(74957),e=c(14170),f=c(50885),g=c(19979),h=c(97102),i=c(65377),j=c(29675),k=c(32546),l=c(4845),m=c(39609);let n="https://cloud.zed.dev",o="x-zed-system-id",p=new Map,q=new Map,r=new Map;function s(a,b,c,d){var e;let f=(e=a?.[b],String(e||d).replace(/\/+$/,""));return`${f}${c}`}function t(a){let b=a?.providerSpecificData||{},c=b.userId||a?.userId,d=a?.refreshToken||b.zedAccessToken||a?.accessToken||a?.apiKey;if(!c||!d)throw Error("Zed credential is missing userId or user token");return`${c} ${d}`}function u(a){return String(a?.providerSpecificData?.systemId||a?.systemId||"")}async function v(a,b){let c=await (0,m.proxyAwareFetch)(a,b),d=await c.text(),e=null;if(d)try{e=JSON.parse(d)}catch{e={raw:d}}if(!c.ok){let a=Error(String(e?.message||e?.error?.message||e?.error||d||`HTTP ${c.status}`));throw a.status=c.status,a.body=e,a}return e}async function w(a,b={}){let c=b.config||{},d={Accept:"application/json",Authorization:t(a)},e=u(a);return e&&(d[o]=e),v(s(c,"cloudBaseUrl","/client/users/me",n),{method:"GET",headers:d,signal:b.signal??void 0,proxyOptions:b.proxyOptions})}function x(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function y(a,b=null){let c=a?.providerSpecificData||{},d=x(c.organizationId||c.defaultOrganizationId);if(d)return d;let e=x(b?.default_organization_id||b?.defaultOrganizationId);if(e)return e;let f=b?.organizations||[],g=f.find(a=>a?.is_personal)||f[0];return x(g?.id)}async function z(a,b={}){var c;let d,e,f=b.config||{},g=b.organizationId||y(a);if(!g){let c=await w(a,b);g=y(a,c)}if(!g)throw Error("No Zed organization selected");let h=(c=g,d=(a?.providerSpecificData||{}).userId||a?.userId||"unknown",e=a?.accessToken||a?.apiKey||"",`${d}:${c||"default"}:${e.slice(-16)}`),i=p.get(h);if(!b.forceRefresh&&i&&i.expiresAt>Date.now())return i.token;let j={"Content-Type":"application/json",Accept:"application/json",Authorization:t(a)},k=u(a);k&&(j[o]=k);let l=await v(s(f,"cloudBaseUrl","/client/llm_tokens",n),{method:"POST",headers:j,body:JSON.stringify({organization_id:g}),signal:b.signal??void 0,proxyOptions:b.proxyOptions}),m="string"==typeof l?.token?l.token:l?.token?.[0]||l?.token?.value;if(!m)throw Error("Zed did not return an LLM token");return p.set(h,{token:m,expiresAt:Date.now()+3e6}),m}async function A(a,b,c={}){var d;let e=s(c.config||{},"llmBaseUrl",b,"https://cloud.zed.dev"),f=async b=>{let d=await z(a,{...c,forceRefresh:b});return(0,m.proxyAwareFetch)(e,{...c.fetchOptions,headers:{...c.fetchOptions?.headers||{},Authorization:`Bearer ${d}`},signal:c.signal??void 0,proxyOptions:c.proxyOptions})},g=await f(!1);return d=g,(d?.status===401||d?.headers?.has?.("x-zed-expired-token")||d?.headers?.has?.("x-zed-outdated-token"))&&(g=await f(!0)),g}function B(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function C(a){let b=B(a?.id);return b?{id:b,name:a.display_name||a.displayName||b,provider:a.provider,isLatest:!!a.is_latest,contextLength:a.max_token_count??a.maxTokenCount,contextLengthInMaxMode:a.max_token_count_in_max_mode??a.maxTokenCountInMaxMode,maxOutputTokens:a.max_output_tokens??a.maxOutputTokens,supportsTools:!!a.supports_tools,supportsImages:!!a.supports_images,supportsThinking:!!a.supports_thinking,supportsDisablingThinking:!!a.supports_disabling_thinking,supportsFastMode:!!a.supports_fast_mode,supportsServerSideCompaction:!!a.supports_server_side_compaction,supportedEffortLevels:a.supported_effort_levels??a.supportedEffortLevels??[],supportsStreamingTools:!!a.supports_streaming_tools,supportsParallelToolCalls:!!a.supports_parallel_tool_calls,isDisabled:!!a.is_disabled,disabledReason:a.disabled_reason??null}:null}async function D(a,b={}){let c,d,e,f=a?.providerSpecificData||{};if(!(a?.refreshToken||f.zedAccessToken))return null;let g=(d=(c=a?.providerSpecificData||{}).organizationId||c.defaultOrganizationId||"default",e=a?.accessToken||a?.apiKey||"",`${c.userId||"unknown"}:${d}:${e.slice(-16)}`),h=q.get(g);if(!b.forceRefresh&&h&&h.expiresAt>Date.now())return h;let i=r.get(g);if(i&&!b.forceRefresh)return i;let j=(async()=>{let c=await A(a,"/models",{...b,fetchOptions:{method:"GET",headers:{Accept:"application/json","x-zed-client-supports-x-ai":"true"}}});if(!c.ok){let a=await c.text().catch(()=>"");throw Error(`Zed models failed: ${c.status} ${a}`)}let d=await c.json(),e=Array.isArray(d?.models)?d.models:[],f=e.map(C).filter(Boolean).filter(a=>!a.isDisabled),h=new Map;for(let a of e){let b=B(a?.id);b&&h.set(b,a)}let i={expiresAt:Date.now()+36e5,models:f,rawModels:e,rawById:h,defaultModel:B(d?.default_model??d?.defaultModel),defaultFastModel:B(d?.default_fast_model??d?.defaultFastModel),recommendedModels:(d?.recommended_models||d?.recommendedModels||[]).map(B).filter(Boolean)};return q.set(g,i),i})();r.set(g,j);try{return await j}finally{r.get(g)===j&&r.delete(g)}}let E="anthropic",F="open_ai",G="google",H="x_ai";function I(a,b){let c=String(a||"").toLowerCase();if("anthropic"===c)return E;if("openai"===c||"open_ai"===c)return F;if("google"===c||"gemini"===c)return G;if("xai"===c||"x_ai"===c||"x-ai"===c)return H;let d=String(b||"").toLowerCase();return d.includes("claude")?E:d.includes("gemini")?G:d.includes("grok")||d.includes("xai")?H:F}function J(a,b,c){return a===E?(0,j.P)(b,c):a===G?(0,k.o)(b,c):a===F?(0,l.v)(b,c):b}function K(a,b,c){if(c)for(let d of Array.isArray(c)?c:[c])d&&a.enqueue(b.encode(`data: ${JSON.stringify(d)}
41
-
42
- `))}class L extends d.H{constructor(){super("zed")}async resolveModel(a,b,c,d){try{let d=await D(b,{config:this.config,signal:c}),e=d?.rawById?.get(a)??null;if(!e){let d=await D(b,{config:this.config,signal:c,forceRefresh:!0});e=d?.rawById?.get(a)??null}return{raw:e,provider:I(e?.provider,a)}}catch(c){let b=c instanceof Error?c.message:String(c);return d?.warn?.("ZED",`model catalog unavailable, inferring provider for ${a}: ${b}`),{raw:null,provider:I(null,a)}}}async execute({model:a,body:b,stream:c,credentials:d,signal:j,log:k,proxyOptions:l=null}){let{provider:m}=await this.resolveModel(a,d,j,k),n=m===E?(0,g.p)(a,b,!0):m===G?(0,h.m$)(a,b,!0):m===F?(0,i.h)(a,b,!0,d):{...b||{},model:a,stream:!1!==c},o=b||{},p={thread_id:o.thread_id||d?._clientSessionId,prompt_id:o.prompt_id,provider:m,model:a,provider_request:n},q={llmBaseUrl:(this.config?.baseUrl||"https://cloud.zed.dev").replace(/\/$/,""),cloudBaseUrl:(this.config?.baseUrl||"https://cloud.zed.dev").replace(/\/$/,"")},r=await A(d,"/completions",{config:q,signal:j,proxyOptions:l,fetchOptions:{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson, text/event-stream, */*","User-Agent":"extremerouter/zed","x-zed-version":this.config?.appVersion?.toString()||"1.6.3","x-zed-client-supports-status-messages":"true","x-zed-client-supports-stream-ended-request-completion-status":"true"},body:JSON.stringify(p)}});return{response:r.ok?function(a,b,c){if(!a.ok||!a.body)return a;let d=new TextDecoder,g=new TextEncoder,h=function(a,b){if(a===E)return(0,f.Ws)(e.h.CLAUDE);if(a===G)return(0,f.Ws)(e.h.GEMINI);if(a===F)return(0,f.Ws)(e.h.OPENAI_RESPONSES);let c=(0,f.Ws)(e.h.OPENAI);return c.model=b,c}(b,c),i="",j=!1,k=a=>{j||(K(a,g,J(b,null,h)),a.enqueue(g.encode("data: [DONE]\n\n")),j=!0)},l=(a,d)=>{if(j)return;let e=function(a){let b=a.replace(/\r$/,"").trim();if(!b)return null;if(b.startsWith("data:")&&(b=b.slice(5).trimStart()),"[DONE]"===b)return{done:!0};try{let a=JSON.parse(b);if(a&&Object.prototype.hasOwnProperty.call(a,"event"))return{event:a.event};if(a&&Object.prototype.hasOwnProperty.call(a,"status"))return{status:a.status};return{event:a}}catch{return null}}(a);if(e){if(e.done)return void k(d);if(e.status){let a=function(a){if(!a)return null;if("string"==typeof a)return{type:a};if("object"==typeof a){let b=Object.keys(a)[0];return b&&"object"==typeof a[b]?{type:b,...a[b]}:a}return null}(e.status);if(a?.type==="failed"||a?.failed){let b=a.failed||a,e=String(b.message||b.error||b.code||"request failed");K(d,g,{id:`chatcmpl-zed-error-${Date.now()}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:c,choices:[{index:0,delta:{content:`[Zed error] ${e}`},finish_reason:"stop"}]}),k(d)}else(a?.type==="stream_ended"||"stream_ended"===a)&&k(d);return}K(d,g,J(b,e.event,h))}};return new Response(a.body.pipeThrough(new TransformStream({transform(a,b){let c;for(i+=d.decode(a,{stream:!0});-1!==(c=i.indexOf("\n"));){let a=i.slice(0,c);i=i.slice(c+1),l(a,b)}},flush(a){(i+=d.decode())&&(l(i,a),i=""),k(a)}})),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache"}})}(r,m,a):r,url:`${q.llmBaseUrl}/completions`,headers:{"Content-Type":"application/json",Authorization:"Bearer <zed-llm-token>"},transformedBody:p}}parseError(a,b){let c=null;try{c=JSON.parse(b||"{}")}catch{c=null}let d=c?.error||void 0,e=c?.code||d?.code||"",f=c?.message||d?.message||b||a.statusText;return"trial_blocked"===e?{status:a.status,message:`Zed trial access is blocked upstream. The account can list hosted models, but Zed is refusing completions until trial/billing access is enabled or unblocked. Zed says: ${f}`}:e?{status:a.status,message:`Zed ${e}: ${f}`}:c&&(c.message||c.error)?{status:a.status,message:f}:{status:a.status,message:f||`Zed upstream error: ${a.status}`,rawBody:b||null}}async refreshCredentials(a,b,c=null){if(!a)return null;let d={llmBaseUrl:(this.config?.baseUrl||"https://cloud.zed.dev").replace(/\/$/,""),cloudBaseUrl:(this.config?.baseUrl||"https://cloud.zed.dev").replace(/\/$/,"")};try{let b=await z(a,{config:d,proxyOptions:c});return{accessToken:b,expiresIn:3600,providerSpecificData:{llmToken:b,lastLlmTokenAt:new Date().toISOString()}}}catch(c){let a=c instanceof Error?c.message:String(c);return b?.error?.("TOKEN_REFRESH",`Zed LLM token refresh failed: ${a}`),null}}}},26878:(a,b,c)=>{c.d(b,{F:()=>f});var d=c(96179),e=c(35024);class f extends d.L{constructor(){super("xiaomi-tokenplan")}buildUrl(a,b,c=0,d=null){let f=(0,e.Yg)(d);return d?.runtimeTransport?.format==="claude"?`${f.replace(/\/v1\/?$/,"")}/anthropic/v1/messages`:`${f}/chat/completions`}}},28537:(a,b,c)=>{c.d(b,{Kt:()=>q});var d=c(74957),e=c(35024),f=c(78959),g=c(92536),h=c(39609);let i=e.xq["kimi-web"],j=i.baseUrl,k=`${j}/apiv2/kimi.gateway.chat.v1.ChatService/Chat`,l="SCENARIO_K2D5";function m(a,b){if(b+5>a.length)return{consumed:0,frame:null};let c=a[b],d=a[b+1]<<24|a[b+2]<<16|a[b+3]<<8|a[b+4],e=d<0?d+0x100000000:d;if(e>8388608)return{consumed:-1,frame:null};if(b+5+e>a.length)return{consumed:0,frame:null};let f=a.subarray(b+5,b+5+e),g=null;if(e>0)try{g=JSON.parse(new TextDecoder().decode(f))}catch{g=null}return{consumed:5+e,frame:{flags:c,message:g}}}function n(a){if(!a)return null;let b=String(a.op??""),c=String(a.mask??""),d=a.block??{};if("append"===b){if("block.text.content"===c){let a=String(d?.text?.content??"");return a?{kind:"text",text:a}:null}if("block.think.content"===c){let a=String(d?.think?.content??"");return a?{kind:"think",text:a}:null}return null}if("set"===b){if("block.text"===c){let a=String(d?.text?.content??"");return a?{kind:"text",text:a}:null}if("block.think"===c){let a=String(d?.think?.content??"");return a?{kind:"think",text:a}:null}}return null}function o(a){if(!a)return!1;let b=a.message??null;return!!b&&"MESSAGE_STATUS_COMPLETED"===String(b.status??"")&&"assistant"===String(b.role??"")}function p(a,b,c=`HTTP_${a}`){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}class q extends d.H{constructor(){super("kimi-web",i)}buildKimiHeaders(a){let b={"Content-Type":"application/connect+json",Accept:"*/*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Origin:j,Referer:`${j}/`,"connect-protocol-version":"1"};return a&&(b.Authorization=`Bearer ${a}`,b.Cookie=`kimi-auth=${a}`),b}buildRequestBody(a,b){return JSON.stringify({scenario:l,tools:[{type:"TOOL_TYPE_SEARCH",search:{}},{type:"TOOL_TYPE_CRON_JOB"}],message:{role:"user",blocks:[{message_id:"",text:{content:a}}],scenario:l},options:{thinking:b,enable_plugin:!0}})}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:i,proxyOptions:j}){let l,q,r,s,t=b||{},u=Array.isArray(t.messages)?t.messages:[];if(0===u.length)return{response:p(400,"Missing or empty messages array."),url:k,headers:{},transformedBody:b};let v=function(a){let b,c=(b=(a||"").trim())?b.replace(/^bearer\s+/i,"").replace(/^cookie:/i,"").trim():"";if(!c)return"";if(/^eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(c))return c;let d=c.match(/(?:^|[\s;])kimi-auth=([^;\s]+)/);if(d)return d[1];let e=c.match(/bearer\s+(eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+)/i);return e?e[1]:""}(String(d?.apiKey??"").trim());if(!v)return{response:p(400,"Missing Kimi session — paste the full Cookie header from www.kimi.com (must contain kimi-auth=<JWT>) or just the JWT itself.","NO_KIMI_AUTH"),url:k,headers:{},transformedBody:b};let w=t.model||"kimi-default",x=/k2\.6|k2-6|think/i.test(w),y="none"!==t.reasoning_effort&&x,z=function(a){let b="",c="";for(let e of a){var d;let a=Array.isArray(d=e.content)?d.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join("\n"):String(d??"");a&&("system"===e.role?b+=(b?"\n\n":"")+a:"user"===e.role?c=c?`${c}
40
+ ${b.join("\n")}`}(c);f&&e.push(f),e.push("You have built-in web search. Answer questions directly using search results."),d.instructions=e,a.history.length>0&&(d.history=a.history),a.currentMsg?d.query=a.currentMsg:0===a.history.length&&(d.query="");let g=JSON.stringify(d);return g.length>96e3?g.slice(-96e3):g}(D,E,b?.tools);if(!F.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:b};let G=(m=r,n=w,z="u">typeof Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",{query_str:F,params:{query_str:F,search_focus:"internet",mode:m,model_preference:n,sources:["web"],attachments:[],frontend_uuid:crypto.randomUUID(),frontend_context_uuid:crypto.randomUUID(),version:i,language:"en-US",timezone:z,search_recency_filter:null,is_incognito:!0,use_schematized_api:!0,last_backend_uuid:E}}),H={"Content-Type":"application/json",Accept:"text/event-stream",Origin:"https://www.perplexity.ai",Referer:"https://www.perplexity.ai/","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36","X-App-ApiClient":"default","X-App-ApiVersion":i};d.accessToken?H.Authorization=`Bearer ${d.accessToken}`:d.apiKey&&(H.Cookie=`__Secure-next-auth.session-token=${d.apiKey}`),l?.info?.("PPLX-WEB",`Query to ${a} (pref=${w}, mode=${r}), len=${F.length}`);let I={method:"POST",headers:H,body:JSON.stringify(G)};e&&(I.signal=e);try{x=await fetch(h,I)}catch(a){return l?.error?.("PPLX-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Perplexity connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:h,headers:H,transformedBody:G}}if(!x.ok){let a=x.status,b=`Perplexity returned HTTP ${a}`;return 401===a||403===a?b="Perplexity auth failed — session cookie may be expired. Re-paste your __Secure-next-auth.session-token.":429===a&&(b="Perplexity rate limited. Wait a moment and retry."),l?.warn?.("PPLX-WEB",b),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:h,headers:H,transformedBody:G}}if(!x.body)return{response:new Response(JSON.stringify({error:{message:"Perplexity returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:h,headers:H,transformedBody:G};let J=`chatcmpl-pplx-${crypto.randomUUID().slice(0,12)}`,K=Math.floor(Date.now()/1e3);if(c){let b;y=new Response((o=x.body,p=D.history,q=D.currentMsg,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="",h=null;for await(let f of B(o,e)){if(f.backendUuid&&(h=f.backendUuid),f.error){c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{reasoning_content:f.thinking+"\n"},finish_reason:null,logprobs:null}]})));continue}if(f.done){d=f.answer||d;break}let e=f.delta||"";e&&(e=v(e,!1))&&c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:e},finish_reason:null,logprobs:null}]}))),f.answer&&(d=f.answer)}c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,model:a,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U)),u(p,q,v(d),h)}catch(d){c.enqueue(b.encode((0,g.N9)({id:J,object:"chat.completion.chunk",created:K,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(f.$U))}finally{c.close()}}})),{status:200,headers:{...f.uB}})}else y=await C(x.body,a,J,K,D.history,D.currentMsg,e);return{response:y,url:h,headers:H,transformedBody:G}}}},26878:(a,b,c)=>{c.d(b,{F:()=>f});var d=c(96179),e=c(35024);class f extends d.L{constructor(){super("xiaomi-tokenplan")}buildUrl(a,b,c=0,d=null){let f=(0,e.Yg)(d);return d?.runtimeTransport?.format==="claude"?`${f.replace(/\/v1\/?$/,"")}/anthropic/v1/messages`:`${f}/chat/completions`}}},28537:(a,b,c)=>{c.d(b,{Kt:()=>q});var d=c(74957),e=c(35024),f=c(78959),g=c(92536),h=c(39609);let i=e.xq["kimi-web"],j=i.baseUrl,k=`${j}/apiv2/kimi.gateway.chat.v1.ChatService/Chat`,l="SCENARIO_K2D5";function m(a,b){if(b+5>a.length)return{consumed:0,frame:null};let c=a[b],d=a[b+1]<<24|a[b+2]<<16|a[b+3]<<8|a[b+4],e=d<0?d+0x100000000:d;if(e>8388608)return{consumed:-1,frame:null};if(b+5+e>a.length)return{consumed:0,frame:null};let f=a.subarray(b+5,b+5+e),g=null;if(e>0)try{g=JSON.parse(new TextDecoder().decode(f))}catch{g=null}return{consumed:5+e,frame:{flags:c,message:g}}}function n(a){if(!a)return null;let b=String(a.op??""),c=String(a.mask??""),d=a.block??{};if("append"===b){if("block.text.content"===c){let a=String(d?.text?.content??"");return a?{kind:"text",text:a}:null}if("block.think.content"===c){let a=String(d?.think?.content??"");return a?{kind:"think",text:a}:null}return null}if("set"===b){if("block.text"===c){let a=String(d?.text?.content??"");return a?{kind:"text",text:a}:null}if("block.think"===c){let a=String(d?.think?.content??"");return a?{kind:"think",text:a}:null}}return null}function o(a){if(!a)return!1;let b=a.message??null;return!!b&&"MESSAGE_STATUS_COMPLETED"===String(b.status??"")&&"assistant"===String(b.role??"")}function p(a,b,c=`HTTP_${a}`){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}class q extends d.H{constructor(){super("kimi-web",i)}buildKimiHeaders(a){let b={"Content-Type":"application/connect+json",Accept:"*/*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Origin:j,Referer:`${j}/`,"connect-protocol-version":"1"};return a&&(b.Authorization=`Bearer ${a}`,b.Cookie=`kimi-auth=${a}`),b}buildRequestBody(a,b){return JSON.stringify({scenario:l,tools:[{type:"TOOL_TYPE_SEARCH",search:{}},{type:"TOOL_TYPE_CRON_JOB"}],message:{role:"user",blocks:[{message_id:"",text:{content:a}}],scenario:l},options:{thinking:b,enable_plugin:!0}})}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:i,proxyOptions:j}){let l,q,r,s,t=b||{},u=Array.isArray(t.messages)?t.messages:[];if(0===u.length)return{response:p(400,"Missing or empty messages array."),url:k,headers:{},transformedBody:b};let v=function(a){let b,c=(b=(a||"").trim())?b.replace(/^bearer\s+/i,"").replace(/^cookie:/i,"").trim():"";if(!c)return"";if(/^eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(c))return c;let d=c.match(/(?:^|[\s;])kimi-auth=([^;\s]+)/);if(d)return d[1];let e=c.match(/bearer\s+(eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+)/i);return e?e[1]:""}(String(d?.apiKey??"").trim());if(!v)return{response:p(400,"Missing Kimi session — paste the full Cookie header from www.kimi.com (must contain kimi-auth=<JWT>) or just the JWT itself.","NO_KIMI_AUTH"),url:k,headers:{},transformedBody:b};let w=t.model||"kimi-default",x=/k2\.6|k2-6|think/i.test(w),y="none"!==t.reasoning_effort&&x,z=function(a){let b="",c="";for(let e of a){var d;let a=Array.isArray(d=e.content)?d.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join("\n"):String(d??"");a&&("system"===e.role?b+=(b?"\n\n":"")+a:"user"===e.role?c=c?`${c}
43
41
 
44
42
  ${a}`:a:"assistant"===e.role&&(c=c?`${c}
45
43
 
@@ -55,15 +53,15 @@ ${c}`:`[tool result ${b}]`}if("tool_use"===b||"function_call"===b||"tool_call"==
55
53
 
56
54
  `)),a.enqueue(i.encode(`data: ${JSON.stringify(k("","stop"))}
57
55
 
58
- `)),a.enqueue(i.encode("data: [DONE]\n\n")),a.close()}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive",...d?{"X-HyperAgent-Thread-Id":d}:{},...g?{"X-HyperAgent-Session-Id":g}:{}}})):(h=a.sessionId,new Response(JSON.stringify({id:d?`chatcmpl-ha-${d}`:`chatcmpl-ha-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:p,choices:[{index:0,message:{role:"assistant",content:n},finish_reason:"stop"}],usage:(l=Math.max(1,Math.ceil((b||[]).map(a=>r(a.content)).join("\n").length/4)),{prompt_tokens:l,completion_tokens:m=Math.max(1,Math.ceil(n.length/4)),total_tokens:l+m,estimated:!0}),hyperagent_thread_id:d||void 0,hyperagent_session_id:h||void 0}),{status:200,headers:{"Content-Type":"application/json",...d?{"X-HyperAgent-Thread-Id":d}:{},...h?{"X-HyperAgent-Session-Id":h}:{}}})),url:`${o}/api/threads/${d}/chat`,headers:{Cookie:"***"},transformedBody:{threadId:d,sessionId:a.sessionId||null,model:p}}}},38572:(a,b,c)=>{c.d(b,{$:()=>o});var d=c(74957),e=c(35024),f=c(78959),g=c(92536);let h=e.xq["grok-web"].baseUrl,i={"grok-3":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3",isThinking:!1},"grok-3-mini":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_MINI_THINKING",isThinking:!0},"grok-3-thinking":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_THINKING",isThinking:!0},"grok-4":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4",isThinking:!1},"grok-4-mini":{grokModel:"grok-4-mini",modelMode:"MODEL_MODE_GROK_4_MINI_THINKING",isThinking:!0},"grok-4-thinking":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4_THINKING",isThinking:!0},"grok-4-heavy":{grokModel:"grok-4",modelMode:"MODEL_MODE_HEAVY",isThinking:!0},"grok-4.1-mini":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_MINI_THINKING",isThinking:!0},"grok-4.1-fast":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_FAST",isThinking:!1},"grok-4.1-expert":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_EXPERT",isThinking:!0},"grok-4.1-thinking":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_THINKING",isThinking:!0},"grok-4.2":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20-beta":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1}};function j(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 k(a){let b=new Uint8Array(a);return crypto.getRandomValues(b),Array.from(b,a=>a.toString(16).padStart(2,"0")).join("")}async function*l(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*m(a,b,c){let d="",e="",f=!1;for await(let g of l(a,c)){if(g.error)return void(yield{error:g.error.message||`Grok error: ${g.error.code}`,done:!0});let a=g.result?.response;if(a){if(a.llmInfo?.modelHash&&!d&&(d=a.llmInfo.modelHash),a.responseId&&(e=a.responseId),a.modelResponse){let c=a.modelResponse;f&&b&&(c.message&&(yield{thinking:c.message}),f=!1),c.message&&(yield{fullMessage:c.message,fingerprint:d,responseId:e}),c.metadata?.llm_info?.modelHash&&(d=c.metadata.llm_info.modelHash);continue}null!=a.token&&(yield{delta:a.token,fingerprint:d,responseId:e})}}yield{done:!0,fingerprint:d,responseId:e}}async function n(a,b,c,d,e,f){let g="",h="",i=[];for await(let b of m(a,e,f)){if(b.fingerprint&&(h=b.fingerprint),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"GROK_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){i.push(b.thinking);continue}if(b.done)break;b.fullMessage?g=b.fullMessage:b.delta&&(g+=b.delta)}let j={role:"assistant",content:g};i.length>0&&(j.reasoning_content=i.join("\n"));let k=Math.ceil(g.length/4),l=Math.ceil(g.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:h||null,choices:[{index:0,message:j,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:l,total_tokens:k+l}}),{status:200,headers:{"Content-Type":"application/json"}})}class o extends d.H{constructor(){super("grok-web",e.xq["grok-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:l}){let o,p,q=b?.messages;if(!q||!Array.isArray(q)||0===q.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:b};let r=i[a];r||l?.info?.("GROK-WEB",`Unmapped model ${a}, defaulting to grok-4.1-fast`);let{grokModel:s,modelMode:t,isThinking:u}=r||i["grok-4.1-fast"],v=function(a){let b=[];for(let c of a){let a=String(c.role||"user");"developer"===a&&(a="system");let d="";"string"==typeof c.content?d=c.content:Array.isArray(c.content)&&(d=c.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),d.trim()&&b.push({role:a,text:d})}let c=-1;for(let a=b.length-1;a>=0;a--)if("user"===b[a].role){c=a;break}let d=[];for(let a=0;a<b.length;a++){let{role:e,text:f}=b[a];d.push(a===c?f:`${e}: ${f}`)}return d.join("\n\n")}(q);if(!v.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:b};let w={temporary:!0,modelName:s,modelMode:t,message:v,fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!1,imageGenerationCount:0,forceConcise:!1,toolOverrides:{},enableSideBySide:!0,sendFinalMetadata:!0,isReasoning:!1,disableTextFollowUps:!1,disableMemory:!0,forceSideBySide:!1,isAsyncChat:!1,disableSelfHarmShortCircuit:!1,deviceEnvInfo:{darkModeEnabled:!1,devicePixelRatio:2,screenWidth:2056,screenHeight:1329,viewportWidth:2056,viewportHeight:1083}},x=k(16),y=k(8),z={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Baggage:"sentry-environment=production,sentry-release=d6add6fb0460641fd482d767a335ef72b9b6abb8,sentry-public_key=b311e0f2690c81f25e2c4cf6d4f7ce1c","Cache-Control":"no-cache","Content-Type":"application/json",Origin:"https://grok.com",Pragma:"no-cache",Referer:"https://grok.com/","Sec-Ch-Ua":'"Google Chrome";v="136", "Chromium";v="136", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":btoa(.5>Math.random()?`e:TypeError: Cannot read properties of null (reading 'children["${j(5,!0)}"]')`:`e:TypeError: Cannot read properties of undefined (reading '${j(10)}')`),"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${x}-${y}-00`};if(d.apiKey){let a=d.apiKey;a.startsWith("sso=")&&(a=a.slice(4)),z.Cookie=`sso=${a}`}l?.info?.("GROK-WEB",`Query to ${a} (grok=${s}, mode=${t}), len=${v.length}`);try{o=await fetch(h,{method:"POST",headers:z,body:JSON.stringify(w),signal:e})}catch(a){return l?.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:h,headers:z,transformedBody:w}}if(!o.ok){let a=o.status,b=`Grok returned HTTP ${a}`;return 401===a||403===a?b="Grok auth failed — SSO cookie may be expired. Re-paste your sso cookie value from grok.com.":429===a&&(b="Grok rate limited. Wait a moment and retry, or rotate cookies."),l?.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:h,headers:z,transformedBody:w}}if(!o.body)return{response:new Response(JSON.stringify({error:{message:"Grok returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:h,headers:z,transformedBody:w};let A=`chatcmpl-grok-${crypto.randomUUID().slice(0,12)}`,B=Math.floor(Date.now()/1e3);if(c){var C;let b;p=new Response((C=o.body,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="";for await(let f of m(C,u,e)){if(f.fingerprint&&(d=f.fingerprint),f.error){c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{reasoning_content:f.thinking},finish_reason:null,logprobs:null}]})));continue}if(f.done)break;f.delta&&c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:f.delta},finish_reason:null,logprobs:null}]})))}c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U))}catch(d){c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${d.message||String(d)}]`},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U))}finally{c.close()}}})),{status:200,headers:{...f.uB}})}else p=await n(o.body,a,A,B,u,e);return{response:p,url:h,headers:z,transformedBody:w}}}},39006:a=>{a.exports={rE:"0.8.6"}},39283:(a,b,c)=>{c.d(b,{K6:()=>s,P7:()=>o,Sw:()=>i});var d=c(77598),e=c(74957),f=c(39609);let g="https://felo.ai",h=`${g}/api-proxy/main/search/threads`,i=`${g}/api-proxy/ext/user/info`,j="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36",k={Accept:"*/*","Content-Type":"application/json",Origin:g,Referer:`${g}/search?q=hello`,"User-Agent":j},l={Accept:"*/*",Origin:g,Referer:k.Referer,"User-Agent":j},m={"felo-chat":"chat","felo-search":"google","felo-scholar":"scholar","felo-social":"social","felo-document":"document"},n="felo-chat";function o(a){let b=String(a||"").trim().replace(/^cookie:\s*/i,"");if(!b)return{cfToken:"",bearer:"",cookie:""};let c=b.split(";").map(a=>a.trim()).filter(Boolean),d="",e="",f=[];for(let a of c){let b=a.indexOf("=");if(b<0){1===c.length&&(d=a);continue}let g=a.slice(0,b).trim().toLowerCase(),h=a.slice(b+1).trim();"cf_token"===g||"cftoken"===g||"turnstile"===g?d||(d=h):"bearer"===g?e=h:"cookie"===g?f.push(h):f.push(a)}let g=f.join("; ");if(!e){let a=g.match(/(?:^|;\s*)felo-user-token=([^;]+)/i);a&&(e=a[1].trim())}return{cfToken:d,bearer:e,cookie:g}}function p(a,b){let c,d,e=a.trim();if(!e)return{newText:null,nextPreviousText:b};let f=null;if(e.startsWith("data:"))f=e.slice(5).trim();else{if(!/^stream[\t ]/.test(e))return{newText:null,nextPreviousText:b};f=e.replace(/^stream[\t ]+/,"")}try{c=JSON.parse(f)}catch{return{newText:null,nextPreviousText:b}}let g=c?.content;if("string"!=typeof g)return{newText:null,nextPreviousText:b};try{d=JSON.parse(g)}catch{return{newText:null,nextPreviousText:b}}let h=function(a){if(!a||"object"!=typeof a)return null;let b=a.data;if(!b||"object"!=typeof b||"answer"!==b.type)return null;let c=b.data;if(!c||"object"!=typeof c)return null;let d=c.text;return"string"==typeof d?d:null}(d);if(null===h)return{newText:null,nextPreviousText:b};if(h.startsWith(b)){let a=h.slice(b.length);return a?{newText:a,nextPreviousText:h}:{newText:null,nextPreviousText:b}}return{newText:h,nextPreviousText:h}}function q(a,b){return new Response(JSON.stringify({error:{message:b,type:"upstream_error"}}),{status:a,headers:{"Content-Type":"application/json"}})}async function r(a,b){if(b){let b,c,d,e;return a.body?new Response(a.body.pipeThrough((b="",c="",d=new TextDecoder,e=new TextEncoder,new TransformStream({transform(a,f){let g=(c+=d.decode(a,{stream:!0})).split("\n");for(let a of(c=g.pop()??"",g)){let c=p(a,b);if(b=c.nextPreviousText,!c.newText)continue;let d={choices:[{delta:{content:c.newText},index:0}]};f.enqueue(e.encode(`data: ${JSON.stringify(d)}
56
+ `)),a.enqueue(i.encode("data: [DONE]\n\n")),a.close()}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive",...d?{"X-HyperAgent-Thread-Id":d}:{},...g?{"X-HyperAgent-Session-Id":g}:{}}})):(h=a.sessionId,new Response(JSON.stringify({id:d?`chatcmpl-ha-${d}`:`chatcmpl-ha-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:p,choices:[{index:0,message:{role:"assistant",content:n},finish_reason:"stop"}],usage:(l=Math.max(1,Math.ceil((b||[]).map(a=>r(a.content)).join("\n").length/4)),{prompt_tokens:l,completion_tokens:m=Math.max(1,Math.ceil(n.length/4)),total_tokens:l+m,estimated:!0}),hyperagent_thread_id:d||void 0,hyperagent_session_id:h||void 0}),{status:200,headers:{"Content-Type":"application/json",...d?{"X-HyperAgent-Thread-Id":d}:{},...h?{"X-HyperAgent-Session-Id":h}:{}}})),url:`${o}/api/threads/${d}/chat`,headers:{Cookie:"***"},transformedBody:{threadId:d,sessionId:a.sessionId||null,model:p}}}},38572:(a,b,c)=>{c.d(b,{$:()=>o});var d=c(74957),e=c(35024),f=c(78959),g=c(92536);let h=e.xq["grok-web"].baseUrl,i={"grok-3":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3",isThinking:!1},"grok-3-mini":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_MINI_THINKING",isThinking:!0},"grok-3-thinking":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_THINKING",isThinking:!0},"grok-4":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4",isThinking:!1},"grok-4-mini":{grokModel:"grok-4-mini",modelMode:"MODEL_MODE_GROK_4_MINI_THINKING",isThinking:!0},"grok-4-thinking":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4_THINKING",isThinking:!0},"grok-4-heavy":{grokModel:"grok-4",modelMode:"MODEL_MODE_HEAVY",isThinking:!0},"grok-4.1-mini":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_MINI_THINKING",isThinking:!0},"grok-4.1-fast":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_FAST",isThinking:!1},"grok-4.1-expert":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_EXPERT",isThinking:!0},"grok-4.1-thinking":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_THINKING",isThinking:!0},"grok-4.2":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20-beta":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1}};function j(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 k(a){let b=new Uint8Array(a);return crypto.getRandomValues(b),Array.from(b,a=>a.toString(16).padStart(2,"0")).join("")}async function*l(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*m(a,b,c){let d="",e="",f=!1;for await(let g of l(a,c)){if(g.error)return void(yield{error:g.error.message||`Grok error: ${g.error.code}`,done:!0});let a=g.result?.response;if(a){if(a.llmInfo?.modelHash&&!d&&(d=a.llmInfo.modelHash),a.responseId&&(e=a.responseId),a.modelResponse){let c=a.modelResponse;f&&b&&(c.message&&(yield{thinking:c.message}),f=!1),c.message&&(yield{fullMessage:c.message,fingerprint:d,responseId:e}),c.metadata?.llm_info?.modelHash&&(d=c.metadata.llm_info.modelHash);continue}null!=a.token&&(yield{delta:a.token,fingerprint:d,responseId:e})}}yield{done:!0,fingerprint:d,responseId:e}}async function n(a,b,c,d,e,f){let g="",h="",i=[];for await(let b of m(a,e,f)){if(b.fingerprint&&(h=b.fingerprint),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"GROK_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){i.push(b.thinking);continue}if(b.done)break;b.fullMessage?g=b.fullMessage:b.delta&&(g+=b.delta)}let j={role:"assistant",content:g};i.length>0&&(j.reasoning_content=i.join("\n"));let k=Math.ceil(g.length/4),l=Math.ceil(g.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:h||null,choices:[{index:0,message:j,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:l,total_tokens:k+l}}),{status:200,headers:{"Content-Type":"application/json"}})}class o extends d.H{constructor(){super("grok-web",e.xq["grok-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:l}){let o,p,q=b?.messages;if(!q||!Array.isArray(q)||0===q.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:b};let r=i[a];r||l?.info?.("GROK-WEB",`Unmapped model ${a}, defaulting to grok-4.1-fast`);let{grokModel:s,modelMode:t,isThinking:u}=r||i["grok-4.1-fast"],v=function(a){let b=[];for(let c of a){let a=String(c.role||"user");"developer"===a&&(a="system");let d="";"string"==typeof c.content?d=c.content:Array.isArray(c.content)&&(d=c.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),d.trim()&&b.push({role:a,text:d})}let c=-1;for(let a=b.length-1;a>=0;a--)if("user"===b[a].role){c=a;break}let d=[];for(let a=0;a<b.length;a++){let{role:e,text:f}=b[a];d.push(a===c?f:`${e}: ${f}`)}return d.join("\n\n")}(q);if(!v.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:h,headers:{},transformedBody:b};let w={temporary:!0,modelName:s,modelMode:t,message:v,fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!1,imageGenerationCount:0,forceConcise:!1,toolOverrides:{},enableSideBySide:!0,sendFinalMetadata:!0,isReasoning:!1,disableTextFollowUps:!1,disableMemory:!0,forceSideBySide:!1,isAsyncChat:!1,disableSelfHarmShortCircuit:!1,deviceEnvInfo:{darkModeEnabled:!1,devicePixelRatio:2,screenWidth:2056,screenHeight:1329,viewportWidth:2056,viewportHeight:1083}},x=k(16),y=k(8),z={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Baggage:"sentry-environment=production,sentry-release=d6add6fb0460641fd482d767a335ef72b9b6abb8,sentry-public_key=b311e0f2690c81f25e2c4cf6d4f7ce1c","Cache-Control":"no-cache","Content-Type":"application/json",Origin:"https://grok.com",Pragma:"no-cache",Referer:"https://grok.com/","Sec-Ch-Ua":'"Google Chrome";v="136", "Chromium";v="136", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":btoa(.5>Math.random()?`e:TypeError: Cannot read properties of null (reading 'children["${j(5,!0)}"]')`:`e:TypeError: Cannot read properties of undefined (reading '${j(10)}')`),"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${x}-${y}-00`};if(d.apiKey){let a=d.apiKey;a.startsWith("sso=")&&(a=a.slice(4)),z.Cookie=`sso=${a}`}l?.info?.("GROK-WEB",`Query to ${a} (grok=${s}, mode=${t}), len=${v.length}`);try{o=await fetch(h,{method:"POST",headers:z,body:JSON.stringify(w),signal:e})}catch(a){return l?.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:h,headers:z,transformedBody:w}}if(!o.ok){let a=o.status,b=`Grok returned HTTP ${a}`;return 401===a||403===a?b="Grok auth failed — SSO cookie may be expired. Re-paste your sso cookie value from grok.com.":429===a&&(b="Grok rate limited. Wait a moment and retry, or rotate cookies."),l?.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:h,headers:z,transformedBody:w}}if(!o.body)return{response:new Response(JSON.stringify({error:{message:"Grok returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:h,headers:z,transformedBody:w};let A=`chatcmpl-grok-${crypto.randomUUID().slice(0,12)}`,B=Math.floor(Date.now()/1e3);if(c){var C;let b;p=new Response((C=o.body,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="";for await(let f of m(C,u,e)){if(f.fingerprint&&(d=f.fingerprint),f.error){c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{reasoning_content:f.thinking},finish_reason:null,logprobs:null}]})));continue}if(f.done)break;f.delta&&c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:f.delta},finish_reason:null,logprobs:null}]})))}c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U))}catch(d){c.enqueue(b.encode((0,g.N9)({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${d.message||String(d)}]`},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U))}finally{c.close()}}})),{status:200,headers:{...f.uB}})}else p=await n(o.body,a,A,B,u,e);return{response:p,url:h,headers:z,transformedBody:w}}}},39006:a=>{a.exports={rE:"0.8.7"}},39283:(a,b,c)=>{c.d(b,{K6:()=>s,P7:()=>o,Sw:()=>i});var d=c(77598),e=c(74957),f=c(39609);let g="https://felo.ai",h=`${g}/api-proxy/main/search/threads`,i=`${g}/api-proxy/ext/user/info`,j="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36",k={Accept:"*/*","Content-Type":"application/json",Origin:g,Referer:`${g}/search?q=hello`,"User-Agent":j},l={Accept:"*/*",Origin:g,Referer:k.Referer,"User-Agent":j},m={"felo-chat":"chat","felo-search":"google","felo-scholar":"scholar","felo-social":"social","felo-document":"document"},n="felo-chat";function o(a){let b=String(a||"").trim().replace(/^cookie:\s*/i,"");if(!b)return{cfToken:"",bearer:"",cookie:""};let c=b.split(";").map(a=>a.trim()).filter(Boolean),d="",e="",f=[];for(let a of c){let b=a.indexOf("=");if(b<0){1===c.length&&(d=a);continue}let g=a.slice(0,b).trim().toLowerCase(),h=a.slice(b+1).trim();"cf_token"===g||"cftoken"===g||"turnstile"===g?d||(d=h):"bearer"===g?e=h:"cookie"===g?f.push(h):f.push(a)}let g=f.join("; ");if(!e){let a=g.match(/(?:^|;\s*)felo-user-token=([^;]+)/i);a&&(e=a[1].trim())}return{cfToken:d,bearer:e,cookie:g}}function p(a,b){let c,d,e=a.trim();if(!e)return{newText:null,nextPreviousText:b};let f=null;if(e.startsWith("data:"))f=e.slice(5).trim();else{if(!/^stream[\t ]/.test(e))return{newText:null,nextPreviousText:b};f=e.replace(/^stream[\t ]+/,"")}try{c=JSON.parse(f)}catch{return{newText:null,nextPreviousText:b}}let g=c?.content;if("string"!=typeof g)return{newText:null,nextPreviousText:b};try{d=JSON.parse(g)}catch{return{newText:null,nextPreviousText:b}}let h=function(a){if(!a||"object"!=typeof a)return null;let b=a.data;if(!b||"object"!=typeof b||"answer"!==b.type)return null;let c=b.data;if(!c||"object"!=typeof c)return null;let d=c.text;return"string"==typeof d?d:null}(d);if(null===h)return{newText:null,nextPreviousText:b};if(h.startsWith(b)){let a=h.slice(b.length);return a?{newText:a,nextPreviousText:h}:{newText:null,nextPreviousText:b}}return{newText:h,nextPreviousText:h}}function q(a,b){return new Response(JSON.stringify({error:{message:b,type:"upstream_error"}}),{status:a,headers:{"Content-Type":"application/json"}})}async function r(a,b){if(b){let b,c,d,e;return a.body?new Response(a.body.pipeThrough((b="",c="",d=new TextDecoder,e=new TextEncoder,new TransformStream({transform(a,f){let g=(c+=d.decode(a,{stream:!0})).split("\n");for(let a of(c=g.pop()??"",g)){let c=p(a,b);if(b=c.nextPreviousText,!c.newText)continue;let d={choices:[{delta:{content:c.newText},index:0}]};f.enqueue(e.encode(`data: ${JSON.stringify(d)}
59
57
 
60
58
  `))}},flush(a){a.enqueue(e.encode("data: [DONE]\n\n"))}}))),{headers:{"Content-Type":"text/event-stream"}}):q(500,"No response body")}return new Response(JSON.stringify({choices:[{message:{role:"assistant",content:function(a){let b="";for(let c of a.split("\n"))b=p(c,b).nextPreviousText;return b}(await a.text())},index:0,finish_reason:"stop"}]}),{headers:{"Content-Type":"application/json"}})}class s extends e.H{constructor(){super("felo-web",{baseUrl:g,format:"openai"})}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:i}){let j=b||{},k=Array.isArray(j.messages)?j.messages:[],{cfToken:m,bearer:n,cookie:p}=o(d?.apiKey);if(!m&&!n&&!p)return this.result(q(401,"Felo: no credentials provided. Paste `cf_token=<turnstile_session_token>` (DevTools → Network → search/threads request → Payload) for anonymous access, or `bearer=<6h_...>` / `cookie=felo-user-token=<6h_...>` from your logged-in felo.ai session."),b);if(0===k.length)return this.result(q(400,"No messages provided"),b);let s=function(a){let b=[...a].reverse().find(a=>"user"===a.role);if(!b)return"";let c=b.content;return"string"==typeof c?c:Array.isArray(c)?c.map(a=>a&&"object"==typeof a&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}(k);if(!s)return this.result(q(400,"No user message content found"),b);let t=new AbortController,u=setTimeout(()=>{let a=Error("felo-web execute timeout");a.name="TimeoutError",t.abort(a)},6e4),v=e?AbortSignal.any([e,t.signal]):t.signal;try{let d=await this.createFeloThread(a,s,m,n,p,v,i);if(d instanceof Response)return clearTimeout(u),this.result(d,b);let e={...l};n&&(e.Authorization=`Bearer ${n}`),p&&(e.Cookie=p);let h=await (0,f.proxyAwareFetch)(`${g}/api/message/v1/stream/${encodeURIComponent(d)}?offset=0`,{method:"GET",headers:e,signal:v},i);if(clearTimeout(u),!h.ok||!h.body){let a=!h.ok&&h.status>=500?502:h.status||502;return this.result(q(a,`Felo stream request failed with HTTP ${h.status}`),b)}return this.result(await r(h,!1!==c),b)}catch(a){if(clearTimeout(u),h?.error?.("FELO",`execute error: ${a instanceof Error?a.message:String(a)}`),a instanceof DOMException&&"AbortError"===a.name)return this.result(q(499,"Request cancelled"),b);return this.result(q(500,a instanceof Error?a.message:"Unknown error"),b)}}async createFeloThread(a,b,c,e,g,i,j){var l,o,p;let r,s={...k};e&&(s.Authorization=`Bearer ${e}`),g&&(s.Cookie=g);let t=await (0,f.proxyAwareFetch)(h,{method:"POST",headers:s,body:JSON.stringify((l=a,o=b,p=c,{query:o,search_uuid:r=(0,d.randomUUID)(),lang:"",agent_lang:"en",search_options:{langcode:"en-US"},search_video:!0,query_from:"default",category:m[function(a){if(!a)return n;let b=String(a).startsWith("felo-web/")?String(a).slice(9):String(a);return Object.prototype.hasOwnProperty.call(m,b)?b:n}(l)],model:"",auto_routing:!0,mode:"concise",device_id:(0,d.randomUUID)().replaceAll("-",""),source_message_rid:"",documents:[],document_action:"",slides_source:{type:"ask_question",files:{}},slide_template_uid:"",selected_resource_ids:[],process_id:r,stream_protocol:"message_center_v1",enable_task_state:!0,...p?{cf_token:p}:{}})),signal:i},j);if(400===t.status){let a=await t.text().catch(()=>""),b="";try{b=JSON.parse(a)?.detail?.error_type||""}catch{}return"turnstile_session_token_required"===b?q(400,"Felo: thread creation needs valid auth — add `cf_token` (from the search/threads request payload in DevTools) or a valid `bearer`/`cookie` session."):"turnstile_session_token_invalid"===b||"turnstile_session_token_expired"===b?q(401,"Felo: cf_token is invalid or expired — re-copy it from the search/threads request payload in DevTools."):q(400,"Felo thread creation failed with HTTP 400")}if(401===t.status)return q(401,"Felo: session unauthorized — re-copy your `bearer`/`cookie` from felo.ai DevTools.");if(!t.ok)return q(t.status>=500?502:t.status,`Felo thread creation failed with HTTP ${t.status}`);let u=await t.json().catch(()=>null),v=u?.stream_key;return"string"==typeof v&&v?v:q(502,"Felo did not return a stream_key")}result(a,b){return{response:a,url:h,headers:k,transformedBody:b}}}},42686:(a,b,c)=>{c.d(b,{Ns:()=>p});var d=c(77598),e=c(74957),f=c(35024),g=c(78959),h=c(92536);let i=f.xq["gemini-business"],j="https://business.gemini.google/home",k={"gemini-3-pro":70,"gemini-3-ultra":71,"gemini-3-flash":75,"gemini-2.5-pro":53,"gemini-2.5-flash":54,"gemini-2.5-flash-thinking":55,"gemini-2.0-pro":51,"gemini-2.0-flash":52,"gemini-2.0-flash-thinking":56,"gemini-3-pro-image":76,"gemini-2.0-flash-image":57,"veo-3.1-generate":80};function l(a,b){return new Response(JSON.stringify({error:{message:b,type:"upstream_error"}}),{status:a,headers:{"Content-Type":"application/json"}})}function m(a){return"string"!=typeof a?"":a.trim()}function n(a,b){if(!a||"object"!=typeof a)return"";for(let c of b){let b=a[c];if("string"==typeof b&&b.trim().length>0)return b.trim()}return""}function o(a,b){for(let c of a.split(";")){let[a,...d]=c.trim().split("=");if(a===b)return d.join("=")}return null}class p extends e.H{constructor(){super("gemini-business",i)}async execute({model:a,body:b,stream:c,credentials:e,signal:f,log:i}){var p,q;let r,s,t,u,v,w=(q=b)&&"object"==typeof q&&!Array.isArray(q)?q:{},x=function(a){if(!a||"object"!=typeof a)return"";let b=m(a.apiKey)||m(a.cookie),c=n(a.providerSpecificData,["__Secure-1PSID","cookie"]),d=n(a.providerSpecificData,["__Secure-1PSIDTS"]);return b||[c,d].filter(Boolean).join("; ")}(e);if(!x)return{response:l(401,"Missing Gemini Business cookies. Set __Secure-1PSID and __Secure-1PSIDTS from your enterprise account (business.gemini.google)."),url:j,headers:{},transformedBody:b};let{baseOrigin:y,pathPrefix:z}=function(a){let b={baseOrigin:"https://business.gemini.google",pathPrefix:"/home"},c=a.trim();if(!c)return b;let d=/^[a-z]+:\/\//i.test(c)?c:`https://${c}`;try{let a=new URL(d);if(!a.host)return b;return{baseOrigin:`${a.protocol}//${a.host}`,pathPrefix:a.pathname.replace(/\/$/,"")||"/"}}catch{return b}}(n(e?.providerSpecificData,["entryUrl","entry_url"])||j),A=(Array.isArray(w.messages)?w.messages:[]).filter(a=>"user"===a.role).pop(),B="string"==typeof(p=A?.content)?p.trim():Array.isArray(p)?p.map(a=>"string"==typeof a?a:a&&"object"==typeof a&&"text"in a&&"string"==typeof a.text?a.text:"").join("").trim():"";if(!B)return{response:l(400,"No user message found in request body."),url:j,headers:{},transformedBody:b};let C="string"==typeof a&&a?a:"gemini-2.5-pro",D=k[C]??53,E=((s=Array(80).fill(null))[0]=[B,0,null,null,null,null,0],s[1]=["en"],s[2]=["","","",null,null,null,null,null,null,""],s[6]=[0],s[7]=1,s[10]=1,s[11]=0,s[17]=[[0]],s[18]=0,s[27]=1,s[30]=[4],s[41]=[2],s[53]=0,s[59]=(0,d.randomUUID)(),s[61]=[],s[68]=1,s[79]=D,s),F=`${y}${z}/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate?bl=boq_assistant-bard-web-server_20240619.16_p0&hl=en&_reqid=${Math.floor(9e5*Math.random())+1e5}&rt=c`,G=new URLSearchParams;G.set("f.req",JSON.stringify([null,JSON.stringify(E)]));let H={"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8",Accept:"*/*","Accept-Language":"en-US,en;q=0.9",Cookie:x,"X-Same-Domain":"1","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Origin:y,Referer:`${y}${z}/`},I=o(x,"SAPISID")||o(x,"__Secure-3PAPISID");I&&(t=Math.floor(Date.now()/1e3),u=`${t} ${I} ${y}`,v=(0,d.createHash)("sha1").update(u).digest("hex"),H.Authorization=`SAPISIDHASH ${t}_${v}`);let J=AbortSignal.timeout(6e4),K=f?AbortSignal.any([f,J]):J;try{r=await fetch(F,{method:"POST",headers:H,body:G.toString(),signal:K})}catch(d){let a=d instanceof Error?d.message:"fetch failed",c=d instanceof Error&&"TimeoutError"===d.name;return{response:l(c?504:502,`Gemini Business ${c?"request timed out":"network error"}: ${a}`),url:F,headers:H,transformedBody:b}}if(!r.ok){let a=await r.text().catch(()=>"");return{response:l(r.status,`Gemini Business returned HTTP ${r.status}: ${a.slice(0,200)}`),url:F,headers:H,transformedBody:b}}let L=await r.text();if(L.includes("auth.business.gemini.google/account-chooser"))return{response:l(403,"Gemini Business account-chooser detected. Your enterprise cookies may be stale or the entry URL is wrong. Re-extract __Secure-1PSID/PSIDTS from business.gemini.google/home/cid/{YOUR-CID} after signing in."),url:F,headers:H,transformedBody:b};let M=function(a){let b=a.split("\n"),c=[];for(let a of b){let b=a.trim();if(!(!b||")]}'"===b||/^\d+$/.test(b))&&b.includes("wrb.fr"))try{let a=JSON.parse(b);if(!Array.isArray(a)||!a[0]||"wrb.fr"!==a[0][0])continue;let d=a[0]?.[2];if("string"!=typeof d)continue;let e=JSON.parse(d),f=e?.[4]?.[0]?.[1];if(!Array.isArray(f))continue;let g=f.filter(a=>"string"==typeof a).join("");g&&c.push(g)}catch{}}return c.join("")}(L);if(!M)return i?.warn?.("GEMINI-BUSINESS",`Empty upstream response from ${F}`),{response:l(502,"Gemini Business returned no text. The cookie may be expired or the entry URL is wrong."),url:F,headers:H,transformedBody:b};if(c){let a,c,e,f;return{response:(a=new TextEncoder,c=`chatcmpl-${(0,d.randomUUID)()}`,e=Math.floor(Date.now()/1e3),f=[(0,h.N9)({id:c,object:"chat.completion.chunk",created:e,model:C,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]}),(0,h.N9)({id:c,object:"chat.completion.chunk",created:e,model:C,choices:[{index:0,delta:{content:M},finish_reason:null}]}),(0,h.N9)({id:c,object:"chat.completion.chunk",created:e,model:C,choices:[{index:0,delta:{},finish_reason:"stop"}]}),g.$U],new Response(new ReadableStream({start(b){for(let c of f)b.enqueue(a.encode(c));b.close()}}),{headers:{...g.uB}})),url:F,headers:H,transformedBody:b}}return{response:new Response(JSON.stringify({id:`chatcmpl-${(0,d.randomUUID)()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:C,choices:[{index:0,message:{role:"assistant",content:M},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}),{status:200,headers:{"Content-Type":"application/json"}}),url:F,headers:H,transformedBody:b}}}},45392:(a,b,c)=>{c.d(b,{H:()=>l});var d=c(77598),e=c(74957),f=c(78959),g=c(92536),h=c(58643),i=c(39609);let j="https://freebuff.com/api/chat/stream";function k(a,b,c="FREEBUFF_ERROR"){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}class l extends e.H{constructor(){super("freebuff-web",null)}async execute({model:a,body:b,stream:c,credentials:e,signal:l,log:n,proxyOptions:o=null}){let p,q,r=((q=String(e?.apiKey||"").trim()).toLowerCase().startsWith("cookie:")&&(q=q.slice(7).trim()),/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(q))?`__Secure-next-auth.session-token=${q}`:q.includes("__Secure-next-auth.session-token=")||q.includes("=")?q:`__Secure-next-auth.session-token=${q}`;if(!r)return{response:k(401,"FreeBuff: no session cookie provided. Log in at freebuff.com/chat and copy the __Secure-next-auth.session-token cookie."),url:j,headers:{},transformedBody:b};let s=b?.messages||[],t=s.filter(a=>"user"===a.role),u=s.filter(a=>"system"===a.role),v=t[t.length-1],w="string"==typeof v?.content?v.content:Array.isArray(v?.content)?v.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):"";if(!w.trim())return{response:k(400,"FreeBuff: request has no user message content."),url:j,headers:{},transformedBody:b};let x=u.length>0?"string"==typeof u[0].content?u[0].content:"":null,y=x?`${x}
61
59
 
62
60
  ${w}`:w,z=a||"deepseek-v4-flash",A={threadId:null,content:y,images:[],attachments:[]},B={"Content-Type":"application/json","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",Accept:"text/event-stream",Cookie:r,Origin:"https://freebuff.com",Referer:"https://freebuff.com/chat"};n?.info?.("FREEBUFF",`model=${z} len=${y.length}`);try{let a=o?.connectionProxyEnabled?i.proxyAwareFetch:h.u5;p=await a(j,{method:"POST",headers:B,body:JSON.stringify(A),signal:l},o)}catch(a){if("AbortError"===a.name)throw a;return{response:k(502,`FreeBuff fetch failed: ${a?.message||a}`),url:j,headers:B,transformedBody:A}}let C=null;try{let a=p.headers?.get?.("set-cookie")||"";if(a){let b=a.match(/__Secure-next-auth\.session-token=([^;]+)/);b&&b[1]&&b[1]!==r.match(/session-token=([^;]+)/)?.[1]&&(C=r.replace(/__Secure-next-auth\.session-token=[^;]+/,`__Secure-next-auth.session-token=${b[1]}`),n?.debug?.("FREEBUFF","session token refreshed via Set-Cookie"))}}catch{}if(401===p.status||403===p.status)return{response:k(401,"FreeBuff: session cookie is invalid or expired — re-copy from freebuff.com DevTools."),url:j,headers:B,transformedBody:A};if(!p.ok){let a=await p.text().catch(()=>"");return{response:k(p.status,`FreeBuff error: ${a.slice(0,300)}`),url:j,headers:B,transformedBody:A}}if(!p.body)return{response:k(502,"FreeBuff: empty response body"),url:j,headers:B,transformedBody:A};let D=`chatcmpl-fb-${(0,d.randomUUID)().slice(0,12)}`,E=Math.floor(Date.now()/1e3);if(!c){let{content:a,reasoning:b}=await m(p.body,l),c={role:"assistant",content:a};b&&(c.reasoning_content=b);let d=Math.ceil(y.length/4),e=Math.ceil(a.length/4);return{response:new Response(JSON.stringify({id:D,object:"chat.completion",created:E,model:z,choices:[{index:0,message:c,finish_reason:"stop"}],usage:{prompt_tokens:d,completion_tokens:e,total_tokens:d+e}}),{headers:{"Content-Type":"application/json"}}),url:j,headers:B,transformedBody:A,refreshedCookie:C}}let F=new TextEncoder,G=new TextDecoder,H=new ReadableStream({async start(a){let b=p.body.getReader(),c="";a.enqueue(F.encode((0,g.N9)({id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})));try{for(;!l?.aborted;){let{done:d,value:e}=await b.read();if(d)break;let f=(c+=G.decode(e,{stream:!0})).split("\n");for(let b of(c=f.pop()||"",f)){let c=b.trim();if(!c.startsWith("data: "))continue;let d=c.slice(6);if("[DONE]"!==d)try{let b=JSON.parse(d);"delta"===b.type&&b.text?a.enqueue(F.encode((0,g.N9)({id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{content:b.text},finish_reason:null}]}))):"reasoning_delta"===b.type&&b.text?a.enqueue(F.encode((0,g.N9)({id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{reasoning_content:b.text},finish_reason:null}]}))):"done"===b.type&&a.enqueue(F.encode((0,g.N9)({id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{},finish_reason:"stop"}]})))}catch{}}}}catch(b){l?.aborted||a.error(b)}finally{a.enqueue(F.encode(f.$U)),a.close()}}});return{response:new Response(H,{status:200,headers:{...f.uB}}),url:j,headers:B,transformedBody:A,refreshedCookie:C}}}async function m(a,b){let c=a.getReader(),d=new TextDecoder,e="",f="",g="";try{for(;!b?.aborted;){let{done:a,value:b}=await c.read();if(a)break;let h=(e+=d.decode(b,{stream:!0})).split("\n");for(let a of(e=h.pop()||"",h)){let b=a.trim();if(!b.startsWith("data: "))continue;let c=b.slice(6);if("[DONE]"!==c)try{let a=JSON.parse(c);"delta"===a.type&&a.text?f+=a.text:"reasoning_delta"===a.type&&a.text&&(g+=a.text)}catch{}}}}finally{c.releaseLock()}return{content:f,reasoning:g}}},47360:(a,b,c)=>{c.d(b,{I:()=>n});var d=c(74957),e=c(35024),f=c(78959),g=c(92536),h=c(39609);let i=e.xq.pollinations.baseUrl,j=new Set(["claude","claude-fast","claude-large","gemini","gemini-fast","midijourney","midijourney-large"]),k=["openai","openai-fast","openai-large","qwen-coder","mistral","deepseek","grok","gemini-flash-lite-3.1","perplexity-fast","perplexity-reasoning"];function l(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"}})}async function m(a,b,c,d){let e=await a.text().catch(()=>""),f=null;try{f=JSON.parse(e)}catch{}if(f&&"object"==typeof f){let a=f.choices?.[0]?.message||{role:"assistant",content:e||""};return new Response(JSON.stringify({...f,id:f.id||c,created:f.created||d,model:f.model||b,choices:f.choices||[{index:0,message:a,finish_reason:"stop",logprobs:null}],usage:f.usage||void 0}),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:null,choices:[{index:0,message:{role:"assistant",content:e},finish_reason:"stop",logprobs:null}]}),{status:200,headers:{"Content-Type":"application/json"}})}class n extends d.H{constructor(){super("pollinations",e.xq.pollinations)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:n,proxyOptions:o=null}){var p;let q,r=b?.messages;if(!Array.isArray(r)||0===r.length)return{response:l(400,"Missing or empty messages array.","INVALID_REQUEST"),url:i,headers:{},transformedBody:b};let s=function(a,b,c){if(b&&"object"==typeof b){b.model=a,b.stream=c;let d=b.response_format?.type;("json_object"===d||"json_schema"===d)&&(b.jsonMode=!0)}return b}(a,b,!1!==c),t=d?.apiKey||d?.accessToken||"",u={"Content-Type":"application/json"};t&&(u.Authorization=`Bearer ${t}`),!1!==c&&(u.Accept="text/event-stream");let v=!t;n?.info?.("POLLINATIONS",`Query to ${a}${v?" (anonymous)":""}`);try{q=await (0,h.proxyAwareFetch)(i,{method:"POST",headers:u,body:JSON.stringify(s),signal:e},o)}catch(a){if(a?.name==="AbortError")throw a;return n?.error?.("POLLINATIONS",`Fetch failed: ${a.message||String(a)}`),{response:l(502,`Pollinations connection failed: ${a.message||String(a)}`,"FETCH_FAILED"),url:i,headers:u,transformedBody:s}}if(!q.ok){let b=q.status,c="";try{c=await q.text()}catch{}let d=401===b||403===b?"Pollinations auth failed. If you're using a premium model (claude, gemini, midijourney), add a Pollinations API key from enter.pollinations.ai.":429===b?"Pollinations rate limited. Wait a moment and retry, or add an API key for a higher quota.":`Pollinations returned HTTP ${b}${c?`: ${c.slice(0,300)}`:""}`;return(401===b||403===b)&&v&&j.has(a)&&(d=`Pollinations model "${a}" requires an API key. Free keyless models: ${k.join(", ")}. Get a Pollinations API key at https://enter.pollinations.ai and add it to this connection.`),n?.warn?.("POLLINATIONS",d),{response:l(b,d,`HTTP_${b}`),url:i,headers:u,transformedBody:s}}let w=`chatcmpl-pollinations-${crypto.randomUUID().slice(0,12)}`,x=Math.floor(Date.now()/1e3);if(!1!==c){let b,c,d,h,j,k;return q.body?{response:(p=q.body,b=new TextEncoder,c=new TextDecoder,d="",h=!1,j=!1,k=(c,d,e=null)=>c.enqueue(b.encode((0,g.N9)({id:w,object:"chat.completion.chunk",created:x,model:a,system_fingerprint:null,choices:[{index:0,delta:d,finish_reason:e,logprobs:null}]}))),new Response(new ReadableStream({async start(a){let g=p.getReader(),i=()=>{j||(k(a,{},"stop"),j=!0),a.enqueue(b.encode(f.$U))};try{for(;;){let b;if(e?.aborted)break;let{value:f,done:l}=await g.read();if(l)break;for(d+=c.decode(f,{stream:!0});(b=d.indexOf("\n"))>=0;){let c,e=d.slice(0,b).trim();if(d=d.slice(b+1),!e||!e.startsWith("data:"))continue;let f=e.slice(5).trim();if("[DONE]"===f){i();try{a.close()}catch{}return}try{c=JSON.parse(f)}catch{continue}if(c.error){k(a,{content:`
63
61
  [Pollinations error: ${c.error.message||JSON.stringify(c.error)}]`}),i();try{a.close()}catch{}return}let g=c.choices?.[0];if(!g)continue;let l=g.delta||{},m=g.finish_reason??null;h||(k(a,{role:l.role||"assistant"}),h=!0),l.content&&k(a,{content:l.content}),l.reasoning_content&&k(a,{reasoning_content:l.reasoning_content}),m&&(k(a,{},m),j=!0)}}h||k(a,{role:"assistant"}),i()}catch(c){let b=c?.name==="AbortError"?"Stream aborted.":c?.message||String(c);k(a,{content:`
64
- [Pollinations stream error: ${b}]`}),i()}finally{try{a.close()}catch{}}}}),{status:200,headers:{...f.uB}})),url:i,headers:u,transformedBody:s}:{response:l(502,"Pollinations returned an empty response body.","EMPTY_BODY"),url:i,headers:u,transformedBody:s}}return{response:await m(q,a,w,x),url:i,headers:u,transformedBody:s}}}},49059:(a,b,c)=>{c.d(b,{v:()=>e});var d=c(96179);class e extends d.L{constructor(a="codebuddy-cn"){super(a)}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0,"workbuddy"===this.provider&&a&&!e.stream_model&&(e.stream_model=a);let f=e.reasoning_effort;return"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto"),e}}},52089:(a,b,c)=>{c.d(b,{No:()=>o});var d=c(74957),e=c(39609);let f="https://theoldllm.vercel.app/api/chatgpt",g="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",h={"gpt-5.4":"GPT_5_4","gpt-5.3":"GPT_5_3","gpt-5.2":"GPT_5_2","gpt-5.1":"GPT_5_1","gpt-5":"GPT_5",gpt5_4:"GPT_5_4",gpt5_3:"GPT_5_3",gpt5_2:"GPT_5_2",gpt5_1:"GPT_5_1",gpt_4o:"GPT_4O","gpt-4o":"GPT_4O",gpt_5_3:"GPT_5_3",gpt_5_2:"GPT_5_2",gpt_5_1:"GPT_5_1",gpt_5:"GPT_5"},i={"claude-4.6-opus":"CLAUDE_4_6_OPUS","claude-4.6-sonnet":"CLAUDE_4_6_SONNET","claude-4.5-haiku":"CLAUDE_4_5_HAIKU",claude_opus_4:"CLAUDE_4_6_OPUS",claude_sonnet_4:"CLAUDE_4_6_SONNET",claude_haiku_3_5:"CLAUDE_4_5_HAIKU","claude opus 4":"CLAUDE_4_6_OPUS","claude sonnet 4":"CLAUDE_4_6_SONNET","claude haiku 3.5":"CLAUDE_4_5_HAIKU"},j=new Set(["GPT_5_4","GPT_5_3","GPT_5_2","GPT_5_1","GPT_5","GPT_o4_mini","GPT_o3_mini","gemini_3_pro","gemini_2_5_pro","gemini_2_0_flash","gemini_1_5_flash","CLAUDE_4_6_OPUS","CLAUDE_4_6_SONNET","CLAUDE_4_5_HAIKU","openrouter_gpt_4_o","openrouter_gpt_4_o_mini","openrouter_gpt_4","openrouter_grok_4","together_deepseek_r1","openrouter_deepseek_r1","together_deepseek_v3","openrouter_deepseek_v3","sonar-deep-research","sonar-pro","openrouter_web_search"]);function k(a){let b=String(a||"").trim();if(j.has(b))return b;let c=b.toLowerCase().trim(),d=c.replace(/[_\\s]+/g,"-");if(h[d])return h[d];let e=c.replace(/[-\\s]+/g,"_");if(h[e])return h[e];if(i[c])return i[c];if(c.includes("claude")){if(c.includes("opus"))return"CLAUDE_4_6_OPUS";if(c.includes("sonnet"))return"CLAUDE_4_6_SONNET";if(c.includes("haiku"))return"CLAUDE_4_5_HAIKU"}return c.includes("gpt")&&c.includes("5"),"GPT_5_4"}let l=g.slice(0,20);async function m(a,b,c=null){let d=new AbortController,h=setTimeout(()=>{let a=Error("theoldllm timeout after 120000ms");a.name="TimeoutError",d.abort(a)},12e4),i=b?()=>d.abort(b.reason):void 0;b&&b.addEventListener("abort",i,{once:!0});try{return await (0,e.proxyAwareFetch)(f,{method:"POST",headers:{"Content-Type":"application/json","X-Client-Version":"3.8.4","X-Request-Token":function(){let a=Date.now(),b=`${a}-oldllm-client-2026-${l}`,c=0;for(let a=0;a<b.length;a++)c=(c<<5)-c+b.charCodeAt(a),c&=c;let d=crypto.randomUUID().replace(/-/g,"").slice(0,8);return`${a.toString(36)}-${Math.abs(c).toString(36)}-${d}`}(),"User-Agent":g},body:JSON.stringify(a),signal:d.signal},c)}finally{clearTimeout(h),i&&b.removeEventListener("abort",i)}}function n(a,b){let c=a.headers.get("x-vercel-mitigated")?.toLowerCase();return"deny"===c||"challenge"===c||(403===a.status||429===a.status)&&/vercel security checkpoint|"message"\s*:\s*"forbidden"/i.test(b)}class o extends d.H{constructor(){super("theoldllm",{baseUrl:f,format:"openai",noAuth:!0})}buildUrl(){return f}buildHeaders(){return{"Content-Type":"application/json","X-Client-Version":"3.8.4","User-Agent":g}}transformRequest(a,b){return"object"==typeof b&&null!==b?{...b,model:k(a)}:b}async execute({model:a,stream:b,body:c,signal:d,log:e,proxyOptions:g}){let h=new TextEncoder;if(d?.aborted)return{response:new Response(h.encode(JSON.stringify({error:{message:"Request aborted",type:"abort",code:"ABORTED"}})),{status:499,headers:{"Content-Type":"application/json"}}),url:f,headers:this.buildHeaders(),transformedBody:c};try{let j={...c||{},model:k(a),stream:!0},l=await m(j,d,g),o=await l.text(),p=n(l,o);if(!p&&function(a,b){if(401===a||403===a)return!0;try{let a=JSON.parse(b);return a?.error?.type==="access_denied"||"string"==typeof a?.error&&/blocked|denied|invalid/i.test(a.error)}catch{return!1}}(l.status,o)&&(e?.warn?.("THEOLDLLM",`Token rejected (${l.status}), retrying with fresh token…`),l=await m(j,d,g),o=await l.text(),p=n(l,o)),200===l.status&&o){var i;let d=b?o:(i=function(a){let b="";for(let c of a.split("\n"))if(c.startsWith("data: ")&&"data: [DONE]"!==c)try{let a=JSON.parse(c.slice(6));b+=a.choices?.[0]?.delta?.content||a.choices?.[0]?.delta?.text||""}catch{}return b}(o),JSON.stringify({id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:k(a),choices:[{index:0,message:{role:"assistant",content:i},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}));return{response:new Response(h.encode(d),{status:200,headers:{"Content-Type":b?"text/event-stream":"application/json","Cache-Control":"no-cache"}}),url:f,headers:this.buildHeaders(),transformedBody:c}}let q=p?JSON.stringify({error:{message:"The Old LLM is blocked by Vercel for this server egress IP. Configure a residential provider or global proxy for 'theoldllm' and retry.",type:"upstream_access_denied",code:"THEOLDLLM_VERCEL_MITIGATED"}}):function(a,b){let c=b;for(let a of b.split("\n"))if(a.startsWith("data: ")&&"data: [DONE]"!==a)try{let b=JSON.parse(a.slice(6));if(b.error){c=JSON.stringify(b.error);break}}catch{}return JSON.stringify({error:{message:c,type:"upstream_error",code:`HTTP_${a}`}})}(l.status,o);return{response:new Response(h.encode(q),{status:l.status,headers:{"Content-Type":"application/json"}}),url:f,headers:this.buildHeaders(),transformedBody:c}}catch(b){let a=b instanceof Error?b.message:String(b);return e?.error?.("THEOLDLLM",`Executor error: ${a}`),{response:new Response(h.encode(JSON.stringify({error:{message:a,type:"upstream_error",code:"EXECUTOR_ERROR"}})),{status:502,headers:{"Content-Type":"application/json"}}),url:f,headers:this.buildHeaders(),transformedBody:c}}}}},52284:(a,b,c)=>{c.d(b,{w$:()=>d}),c(39006).rE;function d(a,b={}){let c,e=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")||function(a){if("string"!=typeof a)return!1;let b=a.trim();return!!b&&(!!/^(cline-|sk-|cp-|clinepass-|cl-)/i.test(b)||3!==b.split(".").length&&!(!(b.length>=40)||b.includes(".")))}(b)?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",f={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","x-client-type":"cline-cli",...b};return e&&(f.Authorization=e),f}},52404:(a,b,c)=>{c.d(b,{J:()=>m});var d=c(74957),e=c(35024),f=c(39609);let g=e.xq["api-airforce"],h=g?.baseUrl||"https://api.airforce/v1/chat/completions",i="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",j=global._airforceKeyCache??=new Map;function k(a,b,c="AIRFORCE_ERROR"){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}async function l(a,b,c,d){let e,g=j.get(b);if(g&&g.expiresAt>Date.now())return g.apiKey;try{e=await (0,f.proxyAwareFetch)("https://api.airforce/api/me",{method:"GET",headers:{Cookie:a,Accept:"application/json","User-Agent":i,Referer:"https://api.airforce/playground/"}},c)}catch(a){throw Error(`api.airforce session exchange failed: ${a?.message||a}`)}if(!e.ok){if(401===e.status||403===e.status)throw Error("api.airforce session cookie is invalid or expired — re-copy airforce_session from api.airforce DevTools");let a=await e.text().catch(()=>"");throw Error(`api.airforce /api/me returned ${e.status}: ${a.slice(0,200)}`)}let h=await e.json().catch(()=>null),k=h?.api_key;if(!k||!String(k).startsWith("sk-air-"))throw Error("api.airforce /api/me did not return a valid api_key — session may be limited");return j.set(b,{apiKey:k,expiresAt:Date.now()+6e5}),d?.debug?.("AIRFORCE",`resolved api_key ${k.slice(0,12)}... (cached 10m)`),k}class m extends d.H{constructor(){super("api-airforce",g)}buildUrl(){return h}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:g,proxyOptions:m=null}){let n,o,p=d?.apiKey||"";if(!p)return{response:k(401,"api.airforce: no airforce_session cookie provided. Log in at api.airforce/playground/ and copy the airforce_session cookie value."),url:h,headers:{},transformedBody:b};let q=function(a){let b=String(a||"").trim();if(b.toLowerCase().startsWith("cookie:")&&(b=b.slice(7).trim()),b.startsWith("eyJ")&&!b.includes("="))return`airforce_session=${b}`;let c=b.match(/airforce_session=([^;]+)/);return c?`airforce_session=${c[1]}`:b.includes("=")?b:`airforce_session=${b}`}(p),r=function(a){let b=String(a||"").trim();if(b.toLowerCase().startsWith("cookie:")){let a=b.slice(7).trim().match(/airforce_session=([^;]+)/);return a?a[1]:b.slice(7).trim()}if(b.startsWith("eyJ")&&!b.includes("="))return b;let c=b.match(/airforce_session=([^;]+)/);return c?c[1]:b}(p);try{n=await l(q,r,m,g)}catch(a){return{response:k(401,a.message),url:h,headers:{},transformedBody:b}}let s={...b};a?s.model=a:s.model||(s.model="gpt-4o-mini"),s.stream=!!c;let t={"Content-Type":"application/json",Authorization:`Bearer ${n}`,"User-Agent":i,Accept:c?"text/event-stream":"application/json"};g?.info?.("AIRFORCE",`model=${s.model} stream=${c} len=${JSON.stringify(s).length}`);try{o=await (0,f.proxyAwareFetch)(h,{method:"POST",headers:t,body:JSON.stringify(s),signal:e},m)}catch(a){if("AbortError"===a.name)throw a;return{response:k(502,`api.airforce fetch failed: ${a?.message||a}`),url:h,headers:t,transformedBody:s}}if(401===o.status){j.delete(r);let a=await o.text().catch(()=>"");return{response:k(401,`api.airforce: api_key rejected (${a.slice(0,120)||"Invalid API key"}). Re-test the connection to refresh the key.`),url:h,headers:t,transformedBody:s}}if(!o.ok){let a=await o.text().catch(()=>"");return 402===o.status?{response:new Response(a||JSON.stringify({error:{message:"Paid model requires a positive balance. Top up at https://api.airforce/dashboard",code:"402"}}),{status:402,headers:{"Content-Type":"application/json"}}),url:h,headers:t,transformedBody:s}:429===o.status?{response:new Response(a,{status:429,headers:{"Content-Type":"application/json"}}),url:h,headers:t,transformedBody:s}:{response:k(o.status,`api.airforce error: ${a.slice(0,300)}`),url:h,headers:t,transformedBody:s}}return{response:o,url:h,headers:t,transformedBody:s}}}},52631:(a,b,c)=>{c.d(b,{L:()=>s});var d=c(77598),e=c(74957),f=c(78959),g=c(58643),h=c(39609),i=c(26070);let j="https://codebuff.com",k="ai-sdk/openai-compatible/0.10.7/codebuff",l=["deepseek/deepseek-v4-pro","openai/gpt-5.6-luna","minimax/minimax-m3"],m="deepseek/deepseek-v4-flash",n=new Map;function o(a,b,c="FREEBUFF_ERROR",d={}){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json",...d}})}function p(a,b=""){let c=/free_mode_cli_required|only available through the freebuff cli|freebuff cli/i.test(b);return o(403,c?`Freebuff free tier ${a} is currently restricted to the official CLI by upstream (403 free_mode_cli_required). Try again later, or use the freebuff CLI directly.`:`Freebuff upstream rejected the ${a} request (403): ${(b||"forbidden").slice(0,300)}`,c?"free_mode_cli_required":"FORBIDDEN")}async function q(a,b,c){let d=n.get(a)||{},e=d.session;if(e?.instanceId&&e?.expiresAt&&new Date(e.expiresAt).getTime()-Date.now()>3e4)return e;let f=await c(`${j}/api/v1/freebuff/session`,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json",Accept:"application/json","User-Agent":k,"x-freebuff-model":b},body:"{}"});if(401===f.status||403===f.status){let a=Error(401===f.status?"INVALID_TOKEN":"UPSTREAM_FORBIDDEN");throw a.status=f.status,403===f.status&&(a.bodyText=await f.text().catch(()=>"")),a}if(!f.ok){let a=Error(`SESSION_FAILED:${f.status}`);throw a.status=f.status,a}let g=await f.json().catch(()=>({})),h={instanceId:g.instanceId||"",expiresAt:g.expiresAt||"",status:g.status||"active",rateLimit:g.rateLimit||null};return n.set(a,{session:h,rootRun:null,cooldownUntil:d.cooldownUntil}),h}async function r(a,b){let c=n.get(a)||{};if(c?.rootRun?.runId)return c.rootRun;let d=await b(`${j}/api/v1/agent-runs`,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json",Accept:"application/json","User-Agent":k},body:JSON.stringify({action:"START",agentId:"base2-free",ancestorRunIds:[]})});if(401===d.status||403===d.status){let a=Error(401===d.status?"INVALID_TOKEN":"UPSTREAM_FORBIDDEN");throw a.status=d.status,403===d.status&&(a.bodyText=await d.text().catch(()=>"")),a}if(!d.ok){let a=Error(`RUN_START_FAILED:${d.status}`);throw a.status=d.status,a}let e={runId:(await d.json().catch(()=>({}))).runId||""};return n.set(a,{...c,rootRun:e}),e}class s extends e.H{constructor(){super("freebuff",null)}async execute({model:a,body:b,stream:c,credentials:e,signal:s,log:t,proxyOptions:u=null}){let v,w,x,y=String(e?.accessToken||e?.apiKey||"").trim();if(!y)return{response:o(401,"Freebuff: no authToken provided. Get it from freebuff.llm.pm or the Freebuff CLI (~/.config/manicode/credentials.json)."),url:`${j}/api/v1/chat/completions`,headers:{},transformedBody:b};let z=Date.now(),A=n.get(y)?.cooldownUntil||0;if(A>z)return{response:o(429,`Freebuff: authToken is cooling down after repeated 401s — retry after ${Math.ceil((A-z)/1e3)}s. Re-copy the token from freebuff.llm.pm if it keeps failing.`),url:`${j}/api/v1/chat/completions`,headers:{},transformedBody:b};let B=function(a){let b=String(a||"").trim()||m,c=(i.vq.freebuff||[]).map(a=>a.id);if(c.includes(b))return b;let d=b.replace(/^(fb|freebuff|freebuff-api|freebuff-token)\//,"");return c.find(a=>a===d||a.endsWith(`/${d}`))||b}(a||b?.model),C=u?.connectionProxyEnabled?h.proxyAwareFetch:g.u5,D=e?.providerSpecificData,E=n.get(y)||{};!E.session&&D?.instanceId&&D?.sessionExpiresAt&&new Date(D.sessionExpiresAt).getTime()>Date.now()+3e4&&n.set(y,{...E,session:{instanceId:D.instanceId,expiresAt:D.sessionExpiresAt,status:"active"}});try{v=await q(y,B,C)}catch(a){if("INVALID_TOKEN"===a.message)return n.set(y,{...n.get(y)||{},cooldownUntil:z+18e5}),{response:o(401,"Freebuff: authToken is invalid or expired — re-copy from freebuff.llm.pm."),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};if("UPSTREAM_FORBIDDEN"===a.message)return{response:p("session",a.bodyText),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};if(a.message?.startsWith("SESSION_FAILED:429"))return{response:o(429,"Freebuff: rate limited by upstream — retry shortly.","rate_limit_exceeded"),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};return{response:o(502,`Freebuff session failed: ${a.message||a}`),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b}}if("queued"===v.status)return{response:o(503,"Freebuff: your session is queued upstream — retry in a moment.","queued"),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};if(!v.instanceId)return{response:o(502,"Freebuff: session accepted but no instanceId returned."),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};try{w=await r(y,C)}catch(a){if("INVALID_TOKEN"===a.message)return n.set(y,{...n.get(y)||{},cooldownUntil:z+18e5}),{response:o(401,"Freebuff: authToken is invalid or expired — re-copy from freebuff.llm.pm."),url:`${j}/api/v1/agent-runs`,headers:{},transformedBody:b};if("UPSTREAM_FORBIDDEN"===a.message)return{response:p("agent run",a.bodyText),url:`${j}/api/v1/agent-runs`,headers:{},transformedBody:b};return{response:o(502,`Freebuff run start failed: ${a.message||a}`),url:`${j}/api/v1/agent-runs`,headers:{},transformedBody:b}}let F={...b||{},model:B,stream:c,codebuff_metadata:{run_id:w.runId,cost_mode:"free",client_id:(0,d.randomBytes)(13).toString("hex").slice(0,13),freebuff_instance_id:v.instanceId}};t?.info?.("FREEBUFF",`model=${B} session=${v.instanceId.slice(0,8)} run=${w.runId.slice(0,8)}`);let G=`${j}/api/v1/chat/completions`;try{x=await C(G,{method:"POST",headers:{Authorization:`Bearer ${y}`,"Content-Type":"application/json",Accept:c?"text/event-stream":"application/json","User-Agent":k,"x-freebuff-model":B,...v.instanceId?{"x-freebuff-instance-id":v.instanceId}:{}},body:JSON.stringify(F),signal:s},u)}catch(a){if("AbortError"===a.name)throw a;return{response:o(502,`Freebuff fetch failed: ${a?.message||a}`),url:G,headers:{},transformedBody:F}}if(401===x.status)return n.set(y,{...n.get(y)||{},cooldownUntil:z+18e5}),{response:o(401,"Freebuff: authToken is invalid or expired — re-copy from freebuff.llm.pm."),url:G,headers:{},transformedBody:F};if(403===x.status)return{response:p("chat",await x.text().catch(()=>"")),url:G,headers:{},transformedBody:F};if(429===x.status){let a=x.headers?.get?.("retry-after")||"";return l.includes(B)?(t?.info?.("FREEBUFF",`premium pool spent for ${B} — stepping down to ${m}`),this.execute({model:m,body:b,stream:c,credentials:e,signal:s,log:t,proxyOptions:u})):{response:o(429,`Freebuff: rate limited by upstream${a?` — retry after ${a}s`:""}.`,"rate_limit_exceeded",a?{"Retry-After":a}:{}),url:G,headers:{},transformedBody:F}}if(!x.ok){let a=await x.text().catch(()=>"");return{response:o(x.status,`Freebuff error: ${a.slice(0,300)}`),url:G,headers:{},transformedBody:F}}if(!x.body)return{response:o(502,"Freebuff: empty response body"),url:G,headers:{},transformedBody:F};if(!c)return{response:new Response(await x.text(),{status:200,headers:{"Content-Type":"application/json"}}),url:G,headers:{},transformedBody:F};let H=new TextEncoder,I=new TextDecoder;return{response:new Response(new ReadableStream({async start(a){let b=x.body.getReader(),c="";try{for(;!s?.aborted;){let{done:d,value:e}=await b.read();if(d)break;let f=(c+=I.decode(e,{stream:!0})).split("\n");for(let b of(c=f.pop()||"",f)){let c=b.trim();c&&c.startsWith("data:")&&a.enqueue(H.encode(`${c}
62
+ [Pollinations stream error: ${b}]`}),i()}finally{try{a.close()}catch{}}}}),{status:200,headers:{...f.uB}})),url:i,headers:u,transformedBody:s}:{response:l(502,"Pollinations returned an empty response body.","EMPTY_BODY"),url:i,headers:u,transformedBody:s}}return{response:await m(q,a,w,x),url:i,headers:u,transformedBody:s}}}},49059:(a,b,c)=>{c.d(b,{v:()=>e});var d=c(96179);class e extends d.L{constructor(a="codebuddy-cn"){super(a)}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0,"workbuddy"===this.provider&&a&&!e.stream_model&&(e.stream_model=a);let f=e.reasoning_effort;return"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto"),e}}},49804:(a,b,c)=>{c.d(b,{Ue:()=>q,qJ:()=>n,w9:()=>u,xK:()=>f,zn:()=>r});var d=c(39609);let e="https://cloud.zed.dev",f={expiredToken:"x-zed-expired-token",outdatedToken:"x-zed-outdated-token",clientSupportsStatus:"x-zed-client-supports-status-messages",clientSupportsStreamEnded:"x-zed-client-supports-stream-ended-request-completion-status",serverSupportsStatus:"x-zed-server-supports-status-messages",clientSupportsXai:"x-zed-client-supports-x-ai",systemId:"x-zed-system-id"},g=new Map,h=new Map,i=new Map;function j(a,b,c,d){var e;let f=(e=a?.[b],String(e||d).replace(/\/+$/,""));return`${f}${c}`}function k(a){let b=a?.providerSpecificData||{},c=b.userId||a?.userId,d=a?.refreshToken||b.zedAccessToken||a?.accessToken||a?.apiKey;if(!c||!d)throw Error("Zed credential is missing userId or user token");return`${c} ${d}`}function l(a){return String(a?.providerSpecificData?.systemId||a?.systemId||"")}async function m(a,b,c=null){let e=await (0,d.proxyAwareFetch)(a,b,c),f=await e.text(),g=null;if(f)try{g=JSON.parse(f)}catch{g={raw:f}}if(!e.ok){let a=Error(String(g?.message||g?.error?.message||g?.error||f||`HTTP ${e.status}`));throw a.status=e.status,a.body=g,a}return g}async function n(a,b={}){let c=b.config||{},d={Accept:"application/json",Authorization:k(a)},g=l(a);return g&&(d[f.systemId]=g),m(j(c,"cloudBaseUrl","/client/users/me",e),{method:"GET",headers:d,signal:b.signal??void 0},b.proxyOptions??null)}function o(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function p(a,b=null){let c=a?.providerSpecificData||{},d=o(c.organizationId||c.defaultOrganizationId);if(d)return d;let e=o(b?.default_organization_id||b?.defaultOrganizationId);if(e)return e;let f=b?.organizations||[],g=f.find(a=>a?.is_personal)||f[0];return o(g?.id)}async function q(a,b={}){var c;let d,h,i=b.config||{},o=b.organizationId||p(a);if(!o){let c=await n(a,b);o=p(a,c)}if(!o)throw Error("No Zed organization selected");let r=(c=o,d=(a?.providerSpecificData||{}).userId||a?.userId||"unknown",h=a?.accessToken||a?.apiKey||"",`${d}:${c||"default"}:${h.slice(-16)}`),s=g.get(r);if(!b.forceRefresh&&s&&s.expiresAt>Date.now())return s.token;let t={"Content-Type":"application/json",Accept:"application/json",Authorization:k(a)},u=l(a);u&&(t[f.systemId]=u);let v=await m(j(i,"cloudBaseUrl","/client/llm_tokens",e),{method:"POST",headers:t,body:JSON.stringify({organization_id:o}),signal:b.signal??void 0,proxyOptions:b.proxyOptions}),w="string"==typeof v?.token?v.token:v?.token?.[0]||v?.token?.value;if(!w)throw Error("Zed did not return an LLM token");return g.set(r,{token:w,expiresAt:Date.now()+3e6}),w}async function r(a,b,c={}){var e;let g=j(c.config||{},"llmBaseUrl",b,"https://cloud.zed.dev"),h=async b=>{let e=await q(a,{...c,forceRefresh:b});return(0,d.proxyAwareFetch)(g,{...c.fetchOptions,headers:{...c.fetchOptions?.headers||{},Authorization:`Bearer ${e}`},signal:c.signal??void 0,proxyOptions:c.proxyOptions})},i=await h(!1);return e=i,(e?.status===401||e?.headers?.has?.(f.expiredToken)||e?.headers?.has?.(f.outdatedToken))&&(i=await h(!0)),i}function s(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function t(a){let b=s(a?.id);return b?{id:b,name:a.display_name||a.displayName||b,provider:a.provider,isLatest:!!a.is_latest,contextLength:a.max_token_count??a.maxTokenCount,contextLengthInMaxMode:a.max_token_count_in_max_mode??a.maxTokenCountInMaxMode,maxOutputTokens:a.max_output_tokens??a.maxOutputTokens,supportsTools:!!a.supports_tools,supportsImages:!!a.supports_images,supportsThinking:!!a.supports_thinking,supportsDisablingThinking:!!a.supports_disabling_thinking,supportsFastMode:!!a.supports_fast_mode,supportsServerSideCompaction:!!a.supports_server_side_compaction,supportedEffortLevels:a.supported_effort_levels??a.supportedEffortLevels??[],supportsStreamingTools:!!a.supports_streaming_tools,supportsParallelToolCalls:!!a.supports_parallel_tool_calls,isDisabled:!!a.is_disabled,disabledReason:a.disabled_reason??null}:null}async function u(a,b={}){let c,d,e,g=a?.providerSpecificData||{};if(!(a?.refreshToken||g.zedAccessToken))return null;let j=(d=(c=a?.providerSpecificData||{}).organizationId||c.defaultOrganizationId||"default",e=a?.accessToken||a?.apiKey||"",`${c.userId||"unknown"}:${d}:${e.slice(-16)}`),k=h.get(j);if(!b.forceRefresh&&k&&k.expiresAt>Date.now())return k;let l=i.get(j);if(l&&!b.forceRefresh)return l;let m=(async()=>{let c=await r(a,"/models",{...b,fetchOptions:{method:"GET",headers:{Accept:"application/json",[f.clientSupportsXai]:"true"}}});if(!c.ok){let a=await c.text().catch(()=>"");throw Error(`Zed models failed: ${c.status} ${a}`)}let d=await c.json(),e=Array.isArray(d?.models)?d.models:[],g=e.map(t).filter(Boolean).filter(a=>!a.isDisabled),i=new Map;for(let a of e){let b=s(a?.id);b&&i.set(b,a)}let k={expiresAt:Date.now()+36e5,models:g,rawModels:e,rawById:i,defaultModel:s(d?.default_model??d?.defaultModel),defaultFastModel:s(d?.default_fast_model??d?.defaultFastModel),recommendedModels:(d?.recommended_models||d?.recommendedModels||[]).map(s).filter(Boolean)};return h.set(j,k),k})();i.set(j,m);try{return await m}finally{i.get(j)===m&&i.delete(j)}}},52089:(a,b,c)=>{c.d(b,{No:()=>o});var d=c(74957),e=c(39609);let f="https://theoldllm.vercel.app/api/chatgpt",g="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",h={"gpt-5.4":"GPT_5_4","gpt-5.3":"GPT_5_3","gpt-5.2":"GPT_5_2","gpt-5.1":"GPT_5_1","gpt-5":"GPT_5",gpt5_4:"GPT_5_4",gpt5_3:"GPT_5_3",gpt5_2:"GPT_5_2",gpt5_1:"GPT_5_1",gpt_4o:"GPT_4O","gpt-4o":"GPT_4O",gpt_5_3:"GPT_5_3",gpt_5_2:"GPT_5_2",gpt_5_1:"GPT_5_1",gpt_5:"GPT_5"},i={"claude-4.6-opus":"CLAUDE_4_6_OPUS","claude-4.6-sonnet":"CLAUDE_4_6_SONNET","claude-4.5-haiku":"CLAUDE_4_5_HAIKU",claude_opus_4:"CLAUDE_4_6_OPUS",claude_sonnet_4:"CLAUDE_4_6_SONNET",claude_haiku_3_5:"CLAUDE_4_5_HAIKU","claude opus 4":"CLAUDE_4_6_OPUS","claude sonnet 4":"CLAUDE_4_6_SONNET","claude haiku 3.5":"CLAUDE_4_5_HAIKU"},j=new Set(["GPT_5_4","GPT_5_3","GPT_5_2","GPT_5_1","GPT_5","GPT_o4_mini","GPT_o3_mini","gemini_3_pro","gemini_2_5_pro","gemini_2_0_flash","gemini_1_5_flash","CLAUDE_4_6_OPUS","CLAUDE_4_6_SONNET","CLAUDE_4_5_HAIKU","openrouter_gpt_4_o","openrouter_gpt_4_o_mini","openrouter_gpt_4","openrouter_grok_4","together_deepseek_r1","openrouter_deepseek_r1","together_deepseek_v3","openrouter_deepseek_v3","sonar-deep-research","sonar-pro","openrouter_web_search"]);function k(a){let b=String(a||"").trim();if(j.has(b))return b;let c=b.toLowerCase().trim(),d=c.replace(/[_\\s]+/g,"-");if(h[d])return h[d];let e=c.replace(/[-\\s]+/g,"_");if(h[e])return h[e];if(i[c])return i[c];if(c.includes("claude")){if(c.includes("opus"))return"CLAUDE_4_6_OPUS";if(c.includes("sonnet"))return"CLAUDE_4_6_SONNET";if(c.includes("haiku"))return"CLAUDE_4_5_HAIKU"}return c.includes("gpt")&&c.includes("5"),"GPT_5_4"}let l=g.slice(0,20);async function m(a,b,c=null){let d=new AbortController,h=setTimeout(()=>{let a=Error("theoldllm timeout after 120000ms");a.name="TimeoutError",d.abort(a)},12e4),i=b?()=>d.abort(b.reason):void 0;b&&b.addEventListener("abort",i,{once:!0});try{return await (0,e.proxyAwareFetch)(f,{method:"POST",headers:{"Content-Type":"application/json","X-Client-Version":"3.8.4","X-Request-Token":function(){let a=Date.now(),b=`${a}-oldllm-client-2026-${l}`,c=0;for(let a=0;a<b.length;a++)c=(c<<5)-c+b.charCodeAt(a),c&=c;let d=crypto.randomUUID().replace(/-/g,"").slice(0,8);return`${a.toString(36)}-${Math.abs(c).toString(36)}-${d}`}(),"User-Agent":g},body:JSON.stringify(a),signal:d.signal},c)}finally{clearTimeout(h),i&&b.removeEventListener("abort",i)}}function n(a,b){let c=a.headers.get("x-vercel-mitigated")?.toLowerCase();return"deny"===c||"challenge"===c||(403===a.status||429===a.status)&&/vercel security checkpoint|"message"\s*:\s*"forbidden"/i.test(b)}class o extends d.H{constructor(){super("theoldllm",{baseUrl:f,format:"openai",noAuth:!0})}buildUrl(){return f}buildHeaders(){return{"Content-Type":"application/json","X-Client-Version":"3.8.4","User-Agent":g}}transformRequest(a,b){return"object"==typeof b&&null!==b?{...b,model:k(a)}:b}async execute({model:a,stream:b,body:c,signal:d,log:e,proxyOptions:g}){let h=new TextEncoder;if(d?.aborted)return{response:new Response(h.encode(JSON.stringify({error:{message:"Request aborted",type:"abort",code:"ABORTED"}})),{status:499,headers:{"Content-Type":"application/json"}}),url:f,headers:this.buildHeaders(),transformedBody:c};try{let j={...c||{},model:k(a),stream:!0},l=await m(j,d,g),o=await l.text(),p=n(l,o);if(!p&&function(a,b){if(401===a||403===a)return!0;try{let a=JSON.parse(b);return a?.error?.type==="access_denied"||"string"==typeof a?.error&&/blocked|denied|invalid/i.test(a.error)}catch{return!1}}(l.status,o)&&(e?.warn?.("THEOLDLLM",`Token rejected (${l.status}), retrying with fresh token…`),l=await m(j,d,g),o=await l.text(),p=n(l,o)),200===l.status&&o){var i;let d=b?o:(i=function(a){let b="";for(let c of a.split("\n"))if(c.startsWith("data: ")&&"data: [DONE]"!==c)try{let a=JSON.parse(c.slice(6));b+=a.choices?.[0]?.delta?.content||a.choices?.[0]?.delta?.text||""}catch{}return b}(o),JSON.stringify({id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:k(a),choices:[{index:0,message:{role:"assistant",content:i},finish_reason:"stop"}],usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0}}));return{response:new Response(h.encode(d),{status:200,headers:{"Content-Type":b?"text/event-stream":"application/json","Cache-Control":"no-cache"}}),url:f,headers:this.buildHeaders(),transformedBody:c}}let q=p?JSON.stringify({error:{message:"The Old LLM is blocked by Vercel for this server egress IP. Configure a residential provider or global proxy for 'theoldllm' and retry.",type:"upstream_access_denied",code:"THEOLDLLM_VERCEL_MITIGATED"}}):function(a,b){let c=b;for(let a of b.split("\n"))if(a.startsWith("data: ")&&"data: [DONE]"!==a)try{let b=JSON.parse(a.slice(6));if(b.error){c=JSON.stringify(b.error);break}}catch{}return JSON.stringify({error:{message:c,type:"upstream_error",code:`HTTP_${a}`}})}(l.status,o);return{response:new Response(h.encode(q),{status:l.status,headers:{"Content-Type":"application/json"}}),url:f,headers:this.buildHeaders(),transformedBody:c}}catch(b){let a=b instanceof Error?b.message:String(b);return e?.error?.("THEOLDLLM",`Executor error: ${a}`),{response:new Response(h.encode(JSON.stringify({error:{message:a,type:"upstream_error",code:"EXECUTOR_ERROR"}})),{status:502,headers:{"Content-Type":"application/json"}}),url:f,headers:this.buildHeaders(),transformedBody:c}}}}},52284:(a,b,c)=>{c.d(b,{w$:()=>d}),c(39006).rE;function d(a,b={}){let c,e=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")||function(a){if("string"!=typeof a)return!1;let b=a.trim();return!!b&&(!!/^(cline-|sk-|cp-|clinepass-|cl-)/i.test(b)||3!==b.split(".").length&&!(!(b.length>=40)||b.includes(".")))}(b)?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",f={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","x-client-type":"cline-cli",...b};return e&&(f.Authorization=e),f}},52404:(a,b,c)=>{c.d(b,{J:()=>m});var d=c(74957),e=c(35024),f=c(39609);let g=e.xq["api-airforce"],h=g?.baseUrl||"https://api.airforce/v1/chat/completions",i="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",j=global._airforceKeyCache??=new Map;function k(a,b,c="AIRFORCE_ERROR"){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}async function l(a,b,c,d){let e,g=j.get(b);if(g&&g.expiresAt>Date.now())return g.apiKey;try{e=await (0,f.proxyAwareFetch)("https://api.airforce/api/me",{method:"GET",headers:{Cookie:a,Accept:"application/json","User-Agent":i,Referer:"https://api.airforce/playground/"}},c)}catch(a){throw Error(`api.airforce session exchange failed: ${a?.message||a}`)}if(!e.ok){if(401===e.status||403===e.status)throw Error("api.airforce session cookie is invalid or expired — re-copy airforce_session from api.airforce DevTools");let a=await e.text().catch(()=>"");throw Error(`api.airforce /api/me returned ${e.status}: ${a.slice(0,200)}`)}let h=await e.json().catch(()=>null),k=h?.api_key;if(!k||!String(k).startsWith("sk-air-"))throw Error("api.airforce /api/me did not return a valid api_key — session may be limited");return j.set(b,{apiKey:k,expiresAt:Date.now()+6e5}),d?.debug?.("AIRFORCE",`resolved api_key ${k.slice(0,12)}... (cached 10m)`),k}class m extends d.H{constructor(){super("api-airforce",g)}buildUrl(){return h}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:g,proxyOptions:m=null}){let n,o,p=d?.apiKey||"";if(!p)return{response:k(401,"api.airforce: no airforce_session cookie provided. Log in at api.airforce/playground/ and copy the airforce_session cookie value."),url:h,headers:{},transformedBody:b};let q=function(a){let b=String(a||"").trim();if(b.toLowerCase().startsWith("cookie:")&&(b=b.slice(7).trim()),b.startsWith("eyJ")&&!b.includes("="))return`airforce_session=${b}`;let c=b.match(/airforce_session=([^;]+)/);return c?`airforce_session=${c[1]}`:b.includes("=")?b:`airforce_session=${b}`}(p),r=function(a){let b=String(a||"").trim();if(b.toLowerCase().startsWith("cookie:")){let a=b.slice(7).trim().match(/airforce_session=([^;]+)/);return a?a[1]:b.slice(7).trim()}if(b.startsWith("eyJ")&&!b.includes("="))return b;let c=b.match(/airforce_session=([^;]+)/);return c?c[1]:b}(p);try{n=await l(q,r,m,g)}catch(a){return{response:k(401,a.message),url:h,headers:{},transformedBody:b}}let s={...b};a?s.model=a:s.model||(s.model="gpt-4o-mini"),s.stream=!!c;let t={"Content-Type":"application/json",Authorization:`Bearer ${n}`,"User-Agent":i,Accept:c?"text/event-stream":"application/json"};g?.info?.("AIRFORCE",`model=${s.model} stream=${c} len=${JSON.stringify(s).length}`);try{o=await (0,f.proxyAwareFetch)(h,{method:"POST",headers:t,body:JSON.stringify(s),signal:e},m)}catch(a){if("AbortError"===a.name)throw a;return{response:k(502,`api.airforce fetch failed: ${a?.message||a}`),url:h,headers:t,transformedBody:s}}if(401===o.status){j.delete(r);let a=await o.text().catch(()=>"");return{response:k(401,`api.airforce: api_key rejected (${a.slice(0,120)||"Invalid API key"}). Re-test the connection to refresh the key.`),url:h,headers:t,transformedBody:s}}if(!o.ok){let a=await o.text().catch(()=>"");return 402===o.status?{response:new Response(a||JSON.stringify({error:{message:"Paid model requires a positive balance. Top up at https://api.airforce/dashboard",code:"402"}}),{status:402,headers:{"Content-Type":"application/json"}}),url:h,headers:t,transformedBody:s}:429===o.status?{response:new Response(a,{status:429,headers:{"Content-Type":"application/json"}}),url:h,headers:t,transformedBody:s}:{response:k(o.status,`api.airforce error: ${a.slice(0,300)}`),url:h,headers:t,transformedBody:s}}return{response:o,url:h,headers:t,transformedBody:s}}}},52422:(a,b,c)=>{c.d(b,{x:()=>h});var d=c(8526);let e={input_tokens:0,output_tokens:0,total_tokens:0};function f(a,b){return{type:"stream_error",code:a,message:b}}function g(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!e)return;let f=d?.[1]?.trim(),g=e[1].trim();if("[DONE]"!==g){try{c=JSON.parse(g)}catch{return}b.ingest(f||c.type,c)}}async function h(a){let b=(0,d.lJ)();if(!a||"function"!=typeof a.getReader)return{...(0,d.Hd)(b,{error:f("invalid_stream","response stream is unavailable")}).response,usage:{...e}};let c=a.getReader(),h=new TextDecoder,i="",j=null;try{for(;;){let{done:a,value:d}=await c.read();if(a)break;let e=(i+=h.decode(d,{stream:!0})).split("\n\n");for(let a of(i=e.pop()||"",e))g(a,b)}i.trim()&&g(i,b)}catch(a){if(a?.name==="AbortError")throw a;j=a}finally{c.releaseLock()}(j||!b.status)&&(0,d.Hd)(b,{error:j?f("stream_read_error",j.message||"stream read failed"):f("stream_disconnected","stream closed before response.completed"),status:"failed"});let{response:k}=(0,d.Hd)(b),l=b.usage?{input_tokens:b.usage.input_tokens,output_tokens:b.usage.output_tokens,total_tokens:b.usage.total_tokens}:{...e};return{...k,usage:l}}},52631:(a,b,c)=>{c.d(b,{L:()=>s});var d=c(77598),e=c(74957),f=c(78959),g=c(58643),h=c(39609),i=c(26070);let j="https://codebuff.com",k="ai-sdk/openai-compatible/0.10.7/codebuff",l=["deepseek/deepseek-v4-pro","openai/gpt-5.6-luna","minimax/minimax-m3"],m="deepseek/deepseek-v4-flash",n=new Map;function o(a,b,c="FREEBUFF_ERROR",d={}){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json",...d}})}function p(a,b=""){let c=/free_mode_cli_required|only available through the freebuff cli|freebuff cli/i.test(b);return o(403,c?`Freebuff free tier ${a} is currently restricted to the official CLI by upstream (403 free_mode_cli_required). Try again later, or use the freebuff CLI directly.`:`Freebuff upstream rejected the ${a} request (403): ${(b||"forbidden").slice(0,300)}`,c?"free_mode_cli_required":"FORBIDDEN")}async function q(a,b,c){let d=n.get(a)||{},e=d.session;if(e?.instanceId&&e?.expiresAt&&new Date(e.expiresAt).getTime()-Date.now()>3e4)return e;let f=await c(`${j}/api/v1/freebuff/session`,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json",Accept:"application/json","User-Agent":k,"x-freebuff-model":b},body:"{}"});if(401===f.status||403===f.status){let a=Error(401===f.status?"INVALID_TOKEN":"UPSTREAM_FORBIDDEN");throw a.status=f.status,403===f.status&&(a.bodyText=await f.text().catch(()=>"")),a}if(!f.ok){let a=Error(`SESSION_FAILED:${f.status}`);throw a.status=f.status,a}let g=await f.json().catch(()=>({})),h={instanceId:g.instanceId||"",expiresAt:g.expiresAt||"",status:g.status||"active",rateLimit:g.rateLimit||null};return n.set(a,{session:h,rootRun:null,cooldownUntil:d.cooldownUntil}),h}async function r(a,b){let c=n.get(a)||{};if(c?.rootRun?.runId)return c.rootRun;let d=await b(`${j}/api/v1/agent-runs`,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json",Accept:"application/json","User-Agent":k},body:JSON.stringify({action:"START",agentId:"base2-free",ancestorRunIds:[]})});if(401===d.status||403===d.status){let a=Error(401===d.status?"INVALID_TOKEN":"UPSTREAM_FORBIDDEN");throw a.status=d.status,403===d.status&&(a.bodyText=await d.text().catch(()=>"")),a}if(!d.ok){let a=Error(`RUN_START_FAILED:${d.status}`);throw a.status=d.status,a}let e={runId:(await d.json().catch(()=>({}))).runId||""};return n.set(a,{...c,rootRun:e}),e}class s extends e.H{constructor(){super("freebuff",null)}async execute({model:a,body:b,stream:c,credentials:e,signal:s,log:t,proxyOptions:u=null}){let v,w,x,y=String(e?.accessToken||e?.apiKey||"").trim();if(!y)return{response:o(401,"Freebuff: no authToken provided. Get it from freebuff.llm.pm or the Freebuff CLI (~/.config/manicode/credentials.json)."),url:`${j}/api/v1/chat/completions`,headers:{},transformedBody:b};let z=Date.now(),A=n.get(y)?.cooldownUntil||0;if(A>z)return{response:o(429,`Freebuff: authToken is cooling down after repeated 401s — retry after ${Math.ceil((A-z)/1e3)}s. Re-copy the token from freebuff.llm.pm if it keeps failing.`),url:`${j}/api/v1/chat/completions`,headers:{},transformedBody:b};let B=function(a){let b=String(a||"").trim()||m,c=(i.vq.freebuff||[]).map(a=>a.id);if(c.includes(b))return b;let d=b.replace(/^(fb|freebuff|freebuff-api|freebuff-token)\//,"");return c.find(a=>a===d||a.endsWith(`/${d}`))||b}(a||b?.model),C=u?.connectionProxyEnabled?h.proxyAwareFetch:g.u5,D=e?.providerSpecificData,E=n.get(y)||{};!E.session&&D?.instanceId&&D?.sessionExpiresAt&&new Date(D.sessionExpiresAt).getTime()>Date.now()+3e4&&n.set(y,{...E,session:{instanceId:D.instanceId,expiresAt:D.sessionExpiresAt,status:"active"}});try{v=await q(y,B,C)}catch(a){if("INVALID_TOKEN"===a.message)return n.set(y,{...n.get(y)||{},cooldownUntil:z+18e5}),{response:o(401,"Freebuff: authToken is invalid or expired — re-copy from freebuff.llm.pm."),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};if("UPSTREAM_FORBIDDEN"===a.message)return{response:p("session",a.bodyText),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};if(a.message?.startsWith("SESSION_FAILED:429"))return{response:o(429,"Freebuff: rate limited by upstream — retry shortly.","rate_limit_exceeded"),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};return{response:o(502,`Freebuff session failed: ${a.message||a}`),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b}}if("queued"===v.status)return{response:o(503,"Freebuff: your session is queued upstream — retry in a moment.","queued"),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};if(!v.instanceId)return{response:o(502,"Freebuff: session accepted but no instanceId returned."),url:`${j}/api/v1/freebuff/session`,headers:{},transformedBody:b};try{w=await r(y,C)}catch(a){if("INVALID_TOKEN"===a.message)return n.set(y,{...n.get(y)||{},cooldownUntil:z+18e5}),{response:o(401,"Freebuff: authToken is invalid or expired — re-copy from freebuff.llm.pm."),url:`${j}/api/v1/agent-runs`,headers:{},transformedBody:b};if("UPSTREAM_FORBIDDEN"===a.message)return{response:p("agent run",a.bodyText),url:`${j}/api/v1/agent-runs`,headers:{},transformedBody:b};return{response:o(502,`Freebuff run start failed: ${a.message||a}`),url:`${j}/api/v1/agent-runs`,headers:{},transformedBody:b}}let F={...b||{},model:B,stream:c,codebuff_metadata:{run_id:w.runId,cost_mode:"free",client_id:(0,d.randomBytes)(13).toString("hex").slice(0,13),freebuff_instance_id:v.instanceId}};t?.info?.("FREEBUFF",`model=${B} session=${v.instanceId.slice(0,8)} run=${w.runId.slice(0,8)}`);let G=`${j}/api/v1/chat/completions`;try{x=await C(G,{method:"POST",headers:{Authorization:`Bearer ${y}`,"Content-Type":"application/json",Accept:c?"text/event-stream":"application/json","User-Agent":k,"x-freebuff-model":B,...v.instanceId?{"x-freebuff-instance-id":v.instanceId}:{}},body:JSON.stringify(F),signal:s},u)}catch(a){if("AbortError"===a.name)throw a;return{response:o(502,`Freebuff fetch failed: ${a?.message||a}`),url:G,headers:{},transformedBody:F}}if(401===x.status)return n.set(y,{...n.get(y)||{},cooldownUntil:z+18e5}),{response:o(401,"Freebuff: authToken is invalid or expired — re-copy from freebuff.llm.pm."),url:G,headers:{},transformedBody:F};if(403===x.status)return{response:p("chat",await x.text().catch(()=>"")),url:G,headers:{},transformedBody:F};if(429===x.status){let a=x.headers?.get?.("retry-after")||"";return l.includes(B)?(t?.info?.("FREEBUFF",`premium pool spent for ${B} — stepping down to ${m}`),this.execute({model:m,body:b,stream:c,credentials:e,signal:s,log:t,proxyOptions:u})):{response:o(429,`Freebuff: rate limited by upstream${a?` — retry after ${a}s`:""}.`,"rate_limit_exceeded",a?{"Retry-After":a}:{}),url:G,headers:{},transformedBody:F}}if(!x.ok){let a=await x.text().catch(()=>"");return{response:o(x.status,`Freebuff error: ${a.slice(0,300)}`),url:G,headers:{},transformedBody:F}}if(!x.body)return{response:o(502,"Freebuff: empty response body"),url:G,headers:{},transformedBody:F};if(!c)return{response:new Response(await x.text(),{status:200,headers:{"Content-Type":"application/json"}}),url:G,headers:{},transformedBody:F};let H=new TextEncoder,I=new TextDecoder;return{response:new Response(new ReadableStream({async start(a){let b=x.body.getReader(),c="";try{for(;!s?.aborted;){let{done:d,value:e}=await b.read();if(d)break;let f=(c+=I.decode(e,{stream:!0})).split("\n");for(let b of(c=f.pop()||"",f)){let c=b.trim();c&&c.startsWith("data:")&&a.enqueue(H.encode(`${c}
65
63
 
66
- `))}}}catch(b){s?.aborted||a.error(b)}finally{a.enqueue(H.encode(f.$U)),a.close()}}}),{status:200,headers:{...f.uB}}),url:G,headers:{},transformedBody:F}}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>au});var e=c(39536),f=c(98625),g=c(95128),h=c(11655),i=c(61433),j=c(84315),k=c(76467),l=c(32447),m=c(61001),n=c(19946),o=c(73870),p=c(94515),q=c(4493),r=c(13120),s=c(38572),t=c(23013),u=c(9708),v=c(26878),w=c(16046),x=c(49059),y=c(54109),z=c(84664),A=c(96179),B=c(4630),C=c(79881),D=c(2324),E=c(28537),F=c(12103),G=c(21880),H=c(52404),I=c(45392),J=c(52631),K=c(70898),L=c(4764),M=c(93605),N=c(62902),O=c(25114),P=c(831),Q=c(7434),R=c(69286),S=c(84930),T=c(57197),U=c(87943),V=c(33085),W=c(9379),X=c(64029),Y=c(98185),Z=c(88357),$=c(56168),_=c(88331),aa=c(69505),ab=c(15226),ac=c(98492),ad=c(42686),ae=c(1765),af=c(30973),ag=c(98587),ah=c(1659),ai=c(37614),aj=c(81551),ak=c(12560),al=c(61592),am=c(47360),an=c(85308),ao=c(14999),ap=c(52089),aq=c(39283),ar=c(72978),as=c(69071);c(74957);var at=a([n,y]);[n,y]=at.then?(await at)():at;let av={antigravity:new e.c,azure:new f.P,"gemini-cli":new g.V,github:new h.x,iflow:new i.r,qoder:new j.DH,kiro:new k.B,kimchi:new l.BL,codex:new m.T,cursor:new n.o,cu:new n.o,vertex:new o.w("vertex"),"vertex-partner":new o.w("vertex-partner"),qwen:new p.R,opencode:new q.j,"opencode-go":new r.H,"grok-web":new s.$,"perplexity-web":new t.Ay,"ollama-local":new u.D,"xiaomi-tokenplan":new v.F,"mimo-free":new w.Yh,mmf:new w.Yh,"codebuddy-cn":new x.v("codebuddy-cn"),"codebuddy-intl":new x.v("codebuddy-intl"),workbuddy:new x.v("workbuddy"),devin:new B.G,"zai-web":new y.U,glm:new z.aS("glm"),"glm-cn":new z.aS("glm-cn"),"deepseek-web":new C.id,"qwen-web":new D.j,"kimi-web":new E.Kt,"kimi-desktop":new E.Kt,"blackbox-web":new F.a,"t3-web":new S.lc,"duckduckgo-web":new T.e,"venice-web":new U.g,"doubao-web":new V.c,"v0-vercel-web":new W.B,"poe-web":new X.I,"copilot-web":new Y.y,"muse-spark-web":new Z.nq,"adapta-web":new $.N,"veoaifree-web":new _.q_,"claude-web":new aa.s,"chatgpt-web":new ab.R,"gemini-web":new ac.d,"gemini-business":new ad.Ns,gembiz:new ad.Ns,"hailuo-web":new ae.mD,"inner-ai":new af.Gy,"in-ai":new af.Gy,"conol-web":new ag.$C,cnl:new ag.$C,"notion-web":new ah.HK,nw:new ah.HK,hyperagent:new ai.$w,ha:new ai.$w,huggingchat:new aj.P,"zenmux-free":new G.l,"api-airforce":new H.J,"freebuff-web":new I.H,freebuff:new J.L,"inxorastudio-web":new K.d,"1min":new L.w,"1min-api":new M.w,marathon:new N.o,zed:new O.l,"agnes-web":new P.o,"perplexity-agent":new Q.$,qwencloud:new R.o,lmarena:new ak.mu,puter:new al.IH,pollinations:new am.I,trae:new an.q,"tencent-aistudio-web":new ao.jX,tasw:new ao.jX,theoldllm:new ap.No,tllm:new ap.No,"felo-web":new aq.K6,felo:new aq.K6,aihorde:new ar.c("aihorde"),mimocode:new as.Vr("mimocode"),mcode:new as.Vr("mimocode")},aw=new Map;function au(a){return av[a]?av[a]:(aw.has(a)||aw.set(a,new A.L(a)),aw.get(a))}d()}catch(a){d(a)}})},55456:(a,b,c)=>{c.d(b,{CP:()=>q,yI:()=>n});var d=c(94755),e=c(74075),f=c.n(e);let g="1"===process.env.CURSOR_PROTOBUF_DEBUG,h=(a,...b)=>g&&console.log(`[PROTOBUF:${a}]`,...b);new TextDecoder;let i="1.1.3",j=new Set([1,2,3,9,10,11,27,1,25]);function k(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function l(a,b,c){let d=k(a<<3|b);if(0===b)return m(d,k(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return m(d,k(a.length),a)}return new Uint8Array(0)}function m(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function n(a,b,c=[],e=null,g=!1){h("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}, forceAgentMode=${g}`);let i=function(a,b,c=[],e=null,f=!1){return l(1,2,function(a,b,c=[],e=null,f=!1){let g,i=c?.length>0,j=i||f,n=[],o=[],p=[];for(let b=0;b<a.length;b++){let c=a[b],d=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0,e=Array.isArray(c?.tool_results)&&c.tool_results.length>0;if(c?.role==="assistant"&&d&&e){h("ENCODE",`normalizing mixed assistant tool payload at msg[${b}] (calls=${c.tool_calls.length}, results=${c.tool_results.length})`),p.push({...c,tool_results:[]});let d=a[b+1],e=d?.role==="assistant"&&Array.isArray(d?.tool_results)&&d.tool_results.length>0,f=new Set(c.tool_results.map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),g=new Set((d?.tool_results||[]).map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),i=f.size>0&&f.size===g.size;if(i){for(let a of f)if(!g.has(a)){i=!1;break}}e&&i||p.push({role:"assistant",content:"",tool_results:c.tool_results});continue}p.push(c)}for(let a=0;a<p.length;a++){let b=p[a],c="user"===b.role?1:2,e=(0,d.A)(),f=a===p.length-1;n.push({content:b.content,role:c,messageId:e,isLast:f,hasTools:i,toolResults:b.tool_results||[]}),o.push({messageId:e,role:c})}let q=0;return"medium"===e?q=1:"high"===e&&(q=2),m(...n.map(a=>l(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[],h=null){let i=g.length>0;return m(l(1,2,a),l(2,0,b),l(13,2,c),...h?[l(32,2,h)]:[],...i?g.map(a=>l(18,2,function(a){var b;let c,d,e=function(a){let b="string"==typeof a&&a.length>0?a:"tool";if(b.startsWith("mcp__")){let a=b.slice(5),c=a.indexOf("__");if(c>=0){let b=a.slice(0,c)||"custom",d=a.slice(c+2)||"tool";return`mcp_${b}_${d}`}return`mcp_custom_${a||"tool"}`}return b.startsWith("mcp_")?b:`mcp_custom_${b}`}(a.tool_name||a.name||""),f=a.raw_args||"{}",g=a.result_content||a.result||"",{toolCallId:h,modelCallId:i}=(b=a.tool_call_id||"",c="\nmc_",(d=b.indexOf(c))>=0?{toolCallId:b.slice(0,d),modelCallId:b.slice(d+c.length)}:{toolCallId:b,modelCallId:null}),j=a.tool_index||a.index||1,{serverName:k,selectedTool:n}=function(a){if("string"!=typeof a||!a.startsWith("mcp_"))return{serverName:"custom",selectedTool:a||"tool"};let b=a.slice(4),c=b.indexOf("_");return c<0?{serverName:"custom",selectedTool:b||"tool"}:{serverName:b.slice(0,c)||"custom",selectedTool:b.slice(c+1)||"tool"}}(e);return m(l(1,2,h),l(2,2,e),l(3,0,j>0?j:1),...i?[l(12,2,i)]:[],l(5,2,f),l(8,2,function(a,b,c,d,e=1){return m(l(1,0,19),l(28,2,m(l(1,2,c),l(2,2,d))),l(35,2,a),...b?[l(48,2,b)]:[],l(49,0,e>0?e:1))}(h,i,n,g,j)),l(11,2,function(a,b,c,d,e,f,g=1){let h;return m(l(1,0,19),l(27,2,(h=m(l(1,2,c),l(3,2,e),l(4,2,d)),l(1,2,h))),l(3,2,a),l(9,2,b),l(10,2,e),l(48,0,g>0?g:1),...f?[l(49,2,f)]:[])}(h,e,n,k,f,i,j)))}(a))):[],l(29,0,+!!f),l(47,0,f?2:1),...e&&f?[l(51,2,k(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),l(2,0,1),l(3,2,new Uint8Array(0)),l(4,0,1),l(5,2,m(l(1,2,b),l(4,2,new Uint8Array(0)))),l(8,2,""),l(13,0,1),l(15,2,(g=m(l(1,2,new Uint8Array(0)),l(2,2,new Uint8Array(0))),m(l(1,2,"cursor\\aisettings"),l(3,2,new Uint8Array(0)),l(6,2,g),l(8,0,1),l(9,0,1)))),l(19,0,1),l(23,2,(0,d.A)()),l(26,2,m(l(1,2,process.platform||"linux"),l(2,2,process.arch||"x64"),l(3,2,process.version||"v20.0.0"),l(4,2,process.cwd?.()||"/"),l(5,2,new Date().toISOString()))),l(27,0,+!!j),...j?[l(29,2,k(1))]:[],...o.map(a=>l(30,2,function(a,b,c=null){return m(l(1,2,a),...c?[l(2,2,c)]:[],l(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return l(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},m(...b?[l(1,2,b)]:[],...c?[l(2,2,c)]:[],...Object.keys(d).length>0?[l(3,2,JSON.stringify(d))]:[],l(4,2,"custom"))))}):[],l(35,0,0),l(38,0,0),l(46,0,j?2:1),l(47,2,""),l(48,0,+!j),l(49,0,q),l(51,0,0),l(53,0,1),l(54,2,j?"Agent":"Ask"))}(a,b,c,e,f))}(a,b,c,e,g),j=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(f().gzipSync(Buffer.from(a))),d=1);let e=new Uint8Array(5+c.length);return e[0]=d,e[1]=c.length>>24&255,e[2]=c.length>>16&255,e[3]=c.length>>8&255,e[4]=255&c.length,e.set(c,5),e}(i,!1);return h("BODY",`Protobuf=${i.length}B, Framed=${j.length}B`),j}function o(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function p(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=o(a,b),f=7&d,g=e;if(0===f)[c,g]=o(a,g);else if(2===f){let[b,d]=o(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function q(a){try{let b=p(a);for(let a of b.keys())j.has(a)||h("SCHEMA",`Unknown response field #${a} detected. Schema v${i} may be outdated.`);if(b.has(1)){let a=function(a){let b=p(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=p(b.get(27)[0].value);if(a.has(1)){let b=p(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){h("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return h("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=p(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=p(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){h("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(b){return h("EXTRACT",`Decode failed (schema v${i}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},56168:(a,b,c)=>{c.d(b,{N:()=>v});var d=c(74957),e=c(35024),f=c(78959),g=c(92536),h=c(39609);let i=e.xq["adapta-web"]||{},j=i.baseUrl||"https://agent.adapta.one/api/chat/stream/v1",k="https://agent.adapta.one",l="https://clerk.agent.adapta.one",m={"adapta-one":14,"adapta-gpt":14,"adapta-claude":14,"adapta-gemini":14,"adapta-grok":14,"adapta-deepseek":14,"adapta-llama":14},n="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",o=new Map;function p(a){return a.slice(0,32)}function q(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 r(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a&&"text"===a.type).map(a=>String(a.text??"")).join(""):String(a??"")}async function s(a,b,c,d){let e=await (0,h.proxyAwareFetch)(`${l}/v1/client`,{headers:{Cookie:`__client=${a}`,"User-Agent":n,Origin:k},signal:c},b);if(!e.ok)throw Object.assign(Error(`Clerk /v1/client returned HTTP ${e.status} — check your __client cookie`),{status:e.status});let f=await e.json().catch(()=>({})),g=(Array.isArray(f?.response?.sessions)?f.response.sessions:[]).find(a=>a&&"active"===a.status);if(!g?.id)throw Object.assign(Error("No active Clerk session found — your __client cookie may be expired or invalid"),{status:401});return d?.info?.("ADAPTA-WEB",`Got session ID: ${g.id}`),g.id}async function t(a,b,c,d,e){let f=await (0,h.proxyAwareFetch)(`${l}/v1/client/sessions/${b}/tokens`,{method:"POST",headers:{Cookie:`__client=${a}`,"Content-Type":"application/json","User-Agent":n,Origin:k},signal:d},c);if(!f.ok)throw Object.assign(Error(`Clerk token refresh returned HTTP ${f.status}`),{status:f.status});let g=await f.json().catch(()=>({})),i=g?.jwt;if("string"!=typeof i||!i.startsWith("eyJ"))throw Object.assign(Error("Clerk token refresh did not return a valid JWT"),{status:502});return e?.info?.("ADAPTA-WEB",`Got fresh session JWT (${i.length} chars)`),i}async function u(a,b,c,d){var e;let f,g=!(f=o.get(p(a)))||Date.now()>=f.jwtExpiresAt-3e4?null:f.jwt;if(g)return d?.info?.("ADAPTA-WEB","Using cached session JWT"),g;let h=await s(a,b,c,d),i=await t(a,h,b,c,d);return e=function(a){try{let b=a.split(".");if(b.length<2)return 0;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=JSON.parse(atob(c));return"number"==typeof d.exp?1e3*d.exp:0}catch{return 0}}(i)||Date.now()+55e3,o.set(p(a),{jwt:i,jwtExpiresAt:e}),i}class v extends d.H{constructor(){super("adapta-web",i)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:i,proxyOptions:l}){let s,t,v,w,x=Array.isArray(b?.messages)?b.messages:[],y=String(d?.apiKey??"");if(!y)return{response:q(401,"Missing Adapta credentials — paste your __client cookie from clerk.agent.adapta.one","NO_COOKIE"),url:j,headers:{},transformedBody:b};let z=(w=(v=(y||"").trim()).indexOf("="))>0&&!v.startsWith("eyJ")?v.slice(w+1).trim():v;try{i?.info?.("ADAPTA-WEB","Obtaining session JWT via Clerk..."),s=await u(z,l,e,i)}catch(c){if(c?.name==="AbortError")throw c;let a=c?.message||String(c);return i?.warn?.("ADAPTA-WEB",`Auth failed: ${a}`),{response:q(c?.status||401,`Adapta auth failed: ${a}`,"AUTH_FAILED"),url:j,headers:{},transformedBody:b}}let A=m[a]??14,B=function(a){let b="",c=[];for(let d of a)"system"===("developer"===d.role?"system":d.role)?b+=(b?"\n":"")+r(d.content):c.push(d);let d=[],e=!1;for(let a of c){if("user"!==a.role&&"assistant"!==a.role)continue;let c=r(a.content);c.trim()&&(!e&&b&&"user"===a.role?(d.push({role:"user",parts:[{type:"text",text:`${b}
64
+ `))}}}catch(b){s?.aborted||a.error(b)}finally{a.enqueue(H.encode(f.$U)),a.close()}}}),{status:200,headers:{...f.uB}}),url:G,headers:{},transformedBody:F}}}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>av});var e=c(39536),f=c(98625),g=c(95128),h=c(11655),i=c(61433),j=c(84315),k=c(76467),l=c(32447),m=c(61001),n=c(19946),o=c(73870),p=c(94515),q=c(4493),r=c(13120),s=c(38572),t=c(23013),u=c(9708),v=c(26878),w=c(16046),x=c(49059),y=c(54109),z=c(84664),A=c(74161),B=c(96179),C=c(4630),D=c(79881),E=c(2324),F=c(28537),G=c(12103),H=c(21880),I=c(52404),J=c(45392),K=c(52631),L=c(70898),M=c(4764),N=c(93605),O=c(62902),P=c(98665),Q=c(831),R=c(7434),S=c(69286),T=c(84930),U=c(57197),V=c(87943),W=c(33085),X=c(9379),Y=c(64029),Z=c(98185),$=c(88357),_=c(56168),aa=c(88331),ab=c(69505),ac=c(15226),ad=c(98492),ae=c(42686),af=c(1765),ag=c(30973),ah=c(98587),ai=c(1659),aj=c(37614),ak=c(81551),al=c(12560),am=c(61592),an=c(47360),ao=c(85308),ap=c(14999),aq=c(52089),ar=c(39283),as=c(72978),at=c(69071);c(74957);var au=a([n,y]);[n,y]=au.then?(await au)():au;let aw={antigravity:new e.c,azure:new f.P,"gemini-cli":new g.V,github:new h.x,iflow:new i.r,qoder:new j.DH,kiro:new k.B,kimchi:new l.BL,codex:new m.T,cursor:new n.o,cu:new n.o,vertex:new o.w("vertex"),"vertex-partner":new o.w("vertex-partner"),qwen:new p.R,opencode:new q.j,"opencode-go":new r.H,"grok-web":new s.$,"perplexity-web":new t.Ay,"ollama-local":new u.D,"xiaomi-tokenplan":new v.F,"mimo-free":new w.Yh,mmf:new w.Yh,"codebuddy-cn":new x.v("codebuddy-cn"),"codebuddy-intl":new x.v("codebuddy-intl"),workbuddy:new x.v("workbuddy"),devin:new C.G,"zai-web":new y.U,glm:new z.aS("glm"),"glm-cn":new z.aS("glm-cn"),zcode:new A.B("zcode"),"deepseek-web":new D.id,"qwen-web":new E.j,"kimi-web":new F.Kt,"kimi-desktop":new F.Kt,"blackbox-web":new G.a,"t3-web":new T.lc,"duckduckgo-web":new U.e,"venice-web":new V.g,"doubao-web":new W.c,"v0-vercel-web":new X.B,"poe-web":new Y.I,"copilot-web":new Z.y,"muse-spark-web":new $.nq,"adapta-web":new _.N,"veoaifree-web":new aa.q_,"claude-web":new ab.s,"chatgpt-web":new ac.R,"gemini-web":new ad.d,"gemini-business":new ae.Ns,gembiz:new ae.Ns,"hailuo-web":new af.mD,"inner-ai":new ag.Gy,"in-ai":new ag.Gy,"conol-web":new ah.$C,cnl:new ah.$C,"notion-web":new ai.HK,nw:new ai.HK,hyperagent:new aj.$w,ha:new aj.$w,huggingchat:new ak.P,"zenmux-free":new H.l,"api-airforce":new I.J,"freebuff-web":new J.H,freebuff:new K.L,"inxorastudio-web":new L.d,"1min":new M.w,"1min-api":new N.w,marathon:new O.o,zed:new P.l,"agnes-web":new Q.o,"perplexity-agent":new R.$,qwencloud:new S.o,lmarena:new al.mu,puter:new am.IH,pollinations:new an.I,trae:new ao.q,"tencent-aistudio-web":new ap.jX,tasw:new ap.jX,theoldllm:new aq.No,tllm:new aq.No,"felo-web":new ar.K6,felo:new ar.K6,aihorde:new as.c("aihorde"),mimocode:new at.Vr("mimocode"),mcode:new at.Vr("mimocode")},ax=new Map;function av(a){return aw[a]?aw[a]:(ax.has(a)||ax.set(a,new B.L(a)),ax.get(a))}d()}catch(a){d(a)}})},55456:(a,b,c)=>{c.d(b,{CP:()=>q,yI:()=>n});var d=c(94755),e=c(74075),f=c.n(e);let g="1"===process.env.CURSOR_PROTOBUF_DEBUG,h=(a,...b)=>g&&console.log(`[PROTOBUF:${a}]`,...b);new TextDecoder;let i="1.1.3",j=new Set([1,2,3,9,10,11,27,1,25]);function k(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function l(a,b,c){let d=k(a<<3|b);if(0===b)return m(d,k(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return m(d,k(a.length),a)}return new Uint8Array(0)}function m(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function n(a,b,c=[],e=null,g=!1){h("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}, forceAgentMode=${g}`);let i=function(a,b,c=[],e=null,f=!1){return l(1,2,function(a,b,c=[],e=null,f=!1){let g,i=c?.length>0,j=i||f,n=[],o=[],p=[];for(let b=0;b<a.length;b++){let c=a[b],d=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0,e=Array.isArray(c?.tool_results)&&c.tool_results.length>0;if(c?.role==="assistant"&&d&&e){h("ENCODE",`normalizing mixed assistant tool payload at msg[${b}] (calls=${c.tool_calls.length}, results=${c.tool_results.length})`),p.push({...c,tool_results:[]});let d=a[b+1],e=d?.role==="assistant"&&Array.isArray(d?.tool_results)&&d.tool_results.length>0,f=new Set(c.tool_results.map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),g=new Set((d?.tool_results||[]).map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),i=f.size>0&&f.size===g.size;if(i){for(let a of f)if(!g.has(a)){i=!1;break}}e&&i||p.push({role:"assistant",content:"",tool_results:c.tool_results});continue}p.push(c)}for(let a=0;a<p.length;a++){let b=p[a],c="user"===b.role?1:2,e=(0,d.A)(),f=a===p.length-1;n.push({content:b.content,role:c,messageId:e,isLast:f,hasTools:i,toolResults:b.tool_results||[]}),o.push({messageId:e,role:c})}let q=0;return"medium"===e?q=1:"high"===e&&(q=2),m(...n.map(a=>l(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[],h=null){let i=g.length>0;return m(l(1,2,a),l(2,0,b),l(13,2,c),...h?[l(32,2,h)]:[],...i?g.map(a=>l(18,2,function(a){var b;let c,d,e=function(a){let b="string"==typeof a&&a.length>0?a:"tool";if(b.startsWith("mcp__")){let a=b.slice(5),c=a.indexOf("__");if(c>=0){let b=a.slice(0,c)||"custom",d=a.slice(c+2)||"tool";return`mcp_${b}_${d}`}return`mcp_custom_${a||"tool"}`}return b.startsWith("mcp_")?b:`mcp_custom_${b}`}(a.tool_name||a.name||""),f=a.raw_args||"{}",g=a.result_content||a.result||"",{toolCallId:h,modelCallId:i}=(b=a.tool_call_id||"",c="\nmc_",(d=b.indexOf(c))>=0?{toolCallId:b.slice(0,d),modelCallId:b.slice(d+c.length)}:{toolCallId:b,modelCallId:null}),j=a.tool_index||a.index||1,{serverName:k,selectedTool:n}=function(a){if("string"!=typeof a||!a.startsWith("mcp_"))return{serverName:"custom",selectedTool:a||"tool"};let b=a.slice(4),c=b.indexOf("_");return c<0?{serverName:"custom",selectedTool:b||"tool"}:{serverName:b.slice(0,c)||"custom",selectedTool:b.slice(c+1)||"tool"}}(e);return m(l(1,2,h),l(2,2,e),l(3,0,j>0?j:1),...i?[l(12,2,i)]:[],l(5,2,f),l(8,2,function(a,b,c,d,e=1){return m(l(1,0,19),l(28,2,m(l(1,2,c),l(2,2,d))),l(35,2,a),...b?[l(48,2,b)]:[],l(49,0,e>0?e:1))}(h,i,n,g,j)),l(11,2,function(a,b,c,d,e,f,g=1){let h;return m(l(1,0,19),l(27,2,(h=m(l(1,2,c),l(3,2,e),l(4,2,d)),l(1,2,h))),l(3,2,a),l(9,2,b),l(10,2,e),l(48,0,g>0?g:1),...f?[l(49,2,f)]:[])}(h,e,n,k,f,i,j)))}(a))):[],l(29,0,+!!f),l(47,0,f?2:1),...e&&f?[l(51,2,k(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),l(2,0,1),l(3,2,new Uint8Array(0)),l(4,0,1),l(5,2,m(l(1,2,b),l(4,2,new Uint8Array(0)))),l(8,2,""),l(13,0,1),l(15,2,(g=m(l(1,2,new Uint8Array(0)),l(2,2,new Uint8Array(0))),m(l(1,2,"cursor\\aisettings"),l(3,2,new Uint8Array(0)),l(6,2,g),l(8,0,1),l(9,0,1)))),l(19,0,1),l(23,2,(0,d.A)()),l(26,2,m(l(1,2,process.platform||"linux"),l(2,2,process.arch||"x64"),l(3,2,process.version||"v20.0.0"),l(4,2,process.cwd?.()||"/"),l(5,2,new Date().toISOString()))),l(27,0,+!!j),...j?[l(29,2,k(1))]:[],...o.map(a=>l(30,2,function(a,b,c=null){return m(l(1,2,a),...c?[l(2,2,c)]:[],l(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return l(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},m(...b?[l(1,2,b)]:[],...c?[l(2,2,c)]:[],...Object.keys(d).length>0?[l(3,2,JSON.stringify(d))]:[],l(4,2,"custom"))))}):[],l(35,0,0),l(38,0,0),l(46,0,j?2:1),l(47,2,""),l(48,0,+!j),l(49,0,q),l(51,0,0),l(53,0,1),l(54,2,j?"Agent":"Ask"))}(a,b,c,e,f))}(a,b,c,e,g),j=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(f().gzipSync(Buffer.from(a))),d=1);let e=new Uint8Array(5+c.length);return e[0]=d,e[1]=c.length>>24&255,e[2]=c.length>>16&255,e[3]=c.length>>8&255,e[4]=255&c.length,e.set(c,5),e}(i,!1);return h("BODY",`Protobuf=${i.length}B, Framed=${j.length}B`),j}function o(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function p(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=o(a,b),f=7&d,g=e;if(0===f)[c,g]=o(a,g);else if(2===f){let[b,d]=o(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function q(a){try{let b=p(a);for(let a of b.keys())j.has(a)||h("SCHEMA",`Unknown response field #${a} detected. Schema v${i} may be outdated.`);if(b.has(1)){let a=function(a){let b=p(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=p(b.get(27)[0].value);if(a.has(1)){let b=p(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){h("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return h("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=p(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=p(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){h("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(b){return h("EXTRACT",`Decode failed (schema v${i}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},56168:(a,b,c)=>{c.d(b,{N:()=>v});var d=c(74957),e=c(35024),f=c(78959),g=c(92536),h=c(39609);let i=e.xq["adapta-web"]||{},j=i.baseUrl||"https://agent.adapta.one/api/chat/stream/v1",k="https://agent.adapta.one",l="https://clerk.agent.adapta.one",m={"adapta-one":14,"adapta-gpt":14,"adapta-claude":14,"adapta-gemini":14,"adapta-grok":14,"adapta-deepseek":14,"adapta-llama":14},n="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",o=new Map;function p(a){return a.slice(0,32)}function q(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 r(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a&&"text"===a.type).map(a=>String(a.text??"")).join(""):String(a??"")}async function s(a,b,c,d){let e=await (0,h.proxyAwareFetch)(`${l}/v1/client`,{headers:{Cookie:`__client=${a}`,"User-Agent":n,Origin:k},signal:c},b);if(!e.ok)throw Object.assign(Error(`Clerk /v1/client returned HTTP ${e.status} — check your __client cookie`),{status:e.status});let f=await e.json().catch(()=>({})),g=(Array.isArray(f?.response?.sessions)?f.response.sessions:[]).find(a=>a&&"active"===a.status);if(!g?.id)throw Object.assign(Error("No active Clerk session found — your __client cookie may be expired or invalid"),{status:401});return d?.info?.("ADAPTA-WEB",`Got session ID: ${g.id}`),g.id}async function t(a,b,c,d,e){let f=await (0,h.proxyAwareFetch)(`${l}/v1/client/sessions/${b}/tokens`,{method:"POST",headers:{Cookie:`__client=${a}`,"Content-Type":"application/json","User-Agent":n,Origin:k},signal:d},c);if(!f.ok)throw Object.assign(Error(`Clerk token refresh returned HTTP ${f.status}`),{status:f.status});let g=await f.json().catch(()=>({})),i=g?.jwt;if("string"!=typeof i||!i.startsWith("eyJ"))throw Object.assign(Error("Clerk token refresh did not return a valid JWT"),{status:502});return e?.info?.("ADAPTA-WEB",`Got fresh session JWT (${i.length} chars)`),i}async function u(a,b,c,d){var e;let f,g=!(f=o.get(p(a)))||Date.now()>=f.jwtExpiresAt-3e4?null:f.jwt;if(g)return d?.info?.("ADAPTA-WEB","Using cached session JWT"),g;let h=await s(a,b,c,d),i=await t(a,h,b,c,d);return e=function(a){try{let b=a.split(".");if(b.length<2)return 0;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=JSON.parse(atob(c));return"number"==typeof d.exp?1e3*d.exp:0}catch{return 0}}(i)||Date.now()+55e3,o.set(p(a),{jwt:i,jwtExpiresAt:e}),i}class v extends d.H{constructor(){super("adapta-web",i)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:i,proxyOptions:l}){let s,t,v,w,x=Array.isArray(b?.messages)?b.messages:[],y=String(d?.apiKey??"");if(!y)return{response:q(401,"Missing Adapta credentials — paste your __client cookie from clerk.agent.adapta.one","NO_COOKIE"),url:j,headers:{},transformedBody:b};let z=(w=(v=(y||"").trim()).indexOf("="))>0&&!v.startsWith("eyJ")?v.slice(w+1).trim():v;try{i?.info?.("ADAPTA-WEB","Obtaining session JWT via Clerk..."),s=await u(z,l,e,i)}catch(c){if(c?.name==="AbortError")throw c;let a=c?.message||String(c);return i?.warn?.("ADAPTA-WEB",`Auth failed: ${a}`),{response:q(c?.status||401,`Adapta auth failed: ${a}`,"AUTH_FAILED"),url:j,headers:{},transformedBody:b}}let A=m[a]??14,B=function(a){let b="",c=[];for(let d of a)"system"===("developer"===d.role?"system":d.role)?b+=(b?"\n":"")+r(d.content):c.push(d);let d=[],e=!1;for(let a of c){if("user"!==a.role&&"assistant"!==a.role)continue;let c=r(a.content);c.trim()&&(!e&&b&&"user"===a.role?(d.push({role:"user",parts:[{type:"text",text:`${b}
67
65
 
68
66
  ${c}`}]}),e=!0):d.push({role:a.role,parts:[{type:"text",text:c}]}))}return d}(x);if(0===B.length)return{response:q(400,"No messages provided","INVALID_REQUEST"),url:j,headers:{},transformedBody:b};let C={messages:B,aiModelId:A},D={Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"text/event-stream","User-Agent":n,Origin:k,Referer:`${k}/agentic-chat`};i?.info?.("ADAPTA-WEB",`POST ${j} | model=${a} aiModelId=${A} msgs=${B.length}`);try{t=await (0,h.proxyAwareFetch)(j,{method:"POST",headers:D,body:JSON.stringify(C),signal:e},l)}catch(b){if(b?.name==="AbortError")throw b;let a=b?.message||String(b);return i?.error?.("ADAPTA-WEB",`Fetch failed: ${a}`),{response:q(502,`Adapta connection failed: ${a}`,"ADAPTA_FETCH_FAILED"),url:j,headers:D,transformedBody:C}}if(!t.ok){let a=`Adapta error HTTP ${t.status}`;return 401===t.status||403===t.status?(a="Adapta session expired or invalid — re-paste your __client cookie from clerk.agent.adapta.one",o.delete(p(z))):429===t.status&&(a="Adapta rate limited — wait and retry"),i?.warn?.("ADAPTA-WEB",a),{response:q(t.status,a,`HTTP_${t.status}`),url:j,headers:D,transformedBody:C}}if(!t.body)return{response:q(502,"Adapta returned an empty response body","ADAPTA_EMPTY_BODY"),url:j,headers:D,transformedBody:C};let E=`chatcmpl-adp-${crypto.randomUUID().slice(0,12)}`,F=Math.floor(Date.now()/1e3);if(c){var G;let b,c;return{response:new Response((G=t.body,b=new TextEncoder,c=new TextDecoder,new ReadableStream({async start(d){let h=!1,i="",j=(c,e=null)=>d.enqueue(b.encode((0,g.N9)({id:E,object:"chat.completion.chunk",created:F,model:a,system_fingerprint:null,choices:[{index:0,delta:c,finish_reason:e,logprobs:null}]}))),k=G.getReader(),l=()=>{h||(h=!0,j({role:"assistant",content:""}))},m=()=>{l(),j({},"stop"),d.enqueue(b.encode(f.$U));try{d.close()}catch{}};try{for(;!e?.aborted;){let{done:a,value:b}=await k.read();if(a)break;let d=(i+=c.decode(b,{stream:!0})).split("\n");for(let a of(i=d.pop()??"",d)){let b;if(!a.startsWith("data: "))continue;let c=a.slice(6).trim();if(!c)continue;try{b=JSON.parse(c)}catch{continue}let d=b.type;if("text-delta"===d){if("quick-response"===b.id)continue;let a=b.delta;"string"==typeof a&&a.length>0&&(l(),j({content:a}))}else if("text-end"===d){if("quick-response"===b.id)continue}else if("error"===d){let a=String(b.errorText??"Adapta upstream error");l(),j({content:`
69
67
 
@@ -129,7 +127,7 @@ function __HTMLClass(name){ var c = function(){}; c.prototype = __mkObj(name+'.p
129
127
  var HTMLElement = __HTMLClass('HTMLElement'), HTMLDivElement = __HTMLClass('HTMLDivElement'), HTMLIFrameElement = __HTMLClass('HTMLIFrameElement'), HTMLDocument = __HTMLClass('HTMLDocument'), Document = __HTMLClass('Document'), Element = __HTMLClass('Element'), Node = __HTMLClass('Node'), Window = __HTMLClass('Window'), Event = __HTMLClass('Event'), MouseEvent = __HTMLClass('MouseEvent'), KeyboardEvent = __HTMLClass('KeyboardEvent'), TouchEvent = __HTMLClass('TouchEvent'), XMLHttpRequest = __HTMLClass('XMLHttpRequest'), WebSocket = __HTMLClass('WebSocket'), Image = __HTMLClass('Image'), FormData = __HTMLClass('FormData'), Blob = __HTMLClass('Blob'), File = __HTMLClass('File'), FileReader = __HTMLClass('FileReader'), URL = __HTMLClass('URL'), URLSearchParams = __HTMLClass('URLSearchParams'), Headers = __HTMLClass('Headers'), Request = __HTMLClass('Request'), Response = __HTMLClass('Response');
130
128
  var fetch = function(){ return Promise.resolve(__mkObj('resp', {ok:true, status:200, json:function(){return Promise.resolve({});}, text:function(){return Promise.resolve('');}})); };
131
129
  var getComputedStyle = __getComputedStyle;
132
- `;async function y(a,b){let c=Buffer.from(a,"base64").toString("utf8"),e=x.replace("__DDG_REAL_UA__",JSON.stringify(b)).replace("__DDG_HTML_LOOKUP__",JSON.stringify(function(a){let b={},c=new Set;for(let d of a.matchAll(/(['"])(<[^'"]{1,400}?)\1/g)){let a=d[2];c.has(a)||(c.add(a),b[a]={html:a,count:Math.max(0,function(a){let b=String(a||"").match(/<[a-zA-Z][^>/]*(?:\/>|>)/g);return b?b.length:0}(a))})}return b}(c))),g=f().createContext({});f().runInContext(e,g,{timeout:5e3});let h=await f().runInContext(c,g,{timeout:5e3}),i=Array.isArray(h.client_hashes)?h.client_hashes:[];if(0===i.length)throw Error("DuckDuckGo challenge returned empty client_hashes");return i[0]=b,h.client_hashes=i.map(a=>{var b;return b=String(a),(0,d.createHash)("sha256").update(b,"utf8").digest("base64")}),Buffer.from(JSON.stringify(h),"utf8").toString("base64")}function z(){let a=Date.now()-3e3,b=80+Math.floor(101*Math.random()),c=[{name:"onboarding_impression_1",delta:b}];c.push({name:"onboarding_impression_2",delta:b+=120+Math.floor(141*Math.random())}),c.push({name:"startNewChat",delta:b+=200+Math.floor(301*Math.random())});let d=6+Math.floor(13*Math.random());for(let a=0;a<d;a++)c.push({name:"user_input",delta:b+=40+Math.floor(141*Math.random())});c.push({name:"user_submit",delta:b+=120+Math.floor(231*Math.random())});let e={start:a,events:c,end:Math.max(b+20+Math.floor(71*Math.random()),3e3)};return Buffer.from(JSON.stringify(e),"utf8").toString("base64")}let A=null;function B(a,b){let c="gpt-5-mini"===a?{reasoningEffort:"minimal"}:"claude-haiku-4-5"===a||"tinfoil/gpt-oss-120b"===a?{reasoningEffort:"low"}:{reasoningEffort:null};return{model:a,metadata:{toolChoice:{NewsSearch:!1,VideosSearch:!1,LocalSearch:!1,WeatherForecast:!1}},messages:b,canUseTools:!1,...c.reasoningEffort?{reasoningEffort:c.reasoningEffort}:{},canUseApproxLocation:null,canDelegateImageGeneration:null,durableStream:{messageId:(0,d.randomUUID)(),conversationId:(0,d.randomUUID)(),publicKey:function(){if(!A){let{publicKey:a}=(0,d.generateKeyPairSync)("rsa",{modulusLength:2048,publicExponent:65537});A={...a.export({format:"jwk"}),alg:"RSA-OAEP-256",ext:!0,key_ops:["encrypt"],use:"enc"}}return A}()}}}async function C(a,b,c,d,e,f){if(!a.ok){let b=await a.text().catch(()=>"");return t(a.status,function(a,b){let c=function(a){try{return JSON.parse(a)}catch{return null}}(b);if(c){let a="string"==typeof c.type?c.type:"",b="string"==typeof c.overrideCode?c.overrideCode:"";if("ERR_CHALLENGE"===a||"ERR_BN_LIMIT"===a){let c=b?` (${b})`:"";return`DuckDuckGo AI Chat anti-abuse challenge failed: ${a}${c}. Retry later or from a less rate-limited IP; DuckDuckGo is rejecting this anonymous session.`}if(a)return`DuckDuckGo AI Chat error: ${a}`}return`DuckDuckGo AI Chat returned HTTP ${a}`}(a.status,b),`HTTP_${a.status}`)}if(b){if(!a.body)return t(502,"DuckDuckGo returned an empty response body","EMPTY_BODY");let b=new TextEncoder,f=!1,g=new TextDecoder,h=new TransformStream({async transform(a,h){for(let k of g.decode(a,{stream:!0}).split("\n")){let a=k.trim();if(!a)continue;if("data: [DONE]"===a){h.enqueue(b.encode(i.$U));continue}let g=v(w(a.startsWith("data: ")?a:`data: ${a}`));g&&(f||(f=!0,h.enqueue(b.encode((0,j.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})))),h.enqueue(b.encode((0,j.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{content:g},finish_reason:null,logprobs:null}]}))))}},flush(a){f||a.enqueue(b.encode((0,j.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null,logprobs:null}]}))),a.enqueue(b.encode((0,j.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),a.enqueue(b.encode(i.$U))}});return new Response(a.body.pipeThrough(h),{status:200,headers:{...i.uB}})}let g=await a.text().catch(()=>""),h="";for(let a of g.split("\n")){let b=a.trim();b&&"data: [DONE]"!==b&&(h+=v(w(b.startsWith("data: ")?b:`data: ${b}`)))}let k=Math.max(1,Math.ceil(h.length/4));return new Response(JSON.stringify({id:d,object:"chat.completion",created:e,model:c,system_fingerprint:null,choices:[{index:0,message:{role:"assistant",content:h},finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:k,total_tokens:2*k}}),{status:200,headers:{"Content-Type":"application/json"}})}class D extends g.H{constructor(){super("duckduckgo-web",h.xq["duckduckgo-web"]),this.warmed=!1,this.seeded=!1,this.feVersion="serp_20260424_180649_ET-0bdc33b2a02ebf8f235def65d887787f694720a1",this.pendingVqdHash1=null,this.cookieJar=new Map}buildRequestHeaders(a={}){let b={...r,...a},c=Array.from(this.cookieJar.entries()).map(([a,b])=>`${a}=${b}`).join("; ");return c?{...b,Cookie:c}:b}rememberResponseCookies(a){for(let b of function(a){let b=a.getSetCookie;if("function"==typeof b)return b.call(a);let c=a.get("set-cookie");return c?function(a){let b=[],c=0;for(let d=0;d<a.length;d++){if(","!==a[d])continue;let e=a.slice(d+1);/^\s*[^=;\s]+\s*=/.test(e)&&(b.push(a.slice(c,d).trim()),c=d+1)}return b.push(a.slice(c).trim()),b.filter(Boolean)}(c):[]}(a.headers))!function(a,b){let c=b.split(";",1)[0]?.trim();if(!c)return;let d=c.indexOf("=");d<=0||a.set(c.slice(0,d),c.slice(d+1))}(this.cookieJar,b)}rememberChallengeHeader(a){let b=a.headers.get("x-vqd-hash-1");b&&(this.pendingVqdHash1=b)}seedBrowserCookies(){for(let[a,b]of s)this.cookieJar.has(a)||this.cookieJar.set(a,b)}async warmFetch(a,b,c,d){try{let e=await (0,k.proxyAwareFetch)(a,{headers:b,signal:c},d);return this.rememberResponseCookies(e),e}catch{return null}}async warmSession(a,b){if(this.warmed||a?.aborted)return;this.warmed=!0,this.seedBrowserCookies();let c=await this.warmFetch(`${l}/`,this.buildRequestHeaders({Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Upgrade-Insecure-Requests":"1"}),a,b);if(c)try{var d;let a=(d=await c.clone().text(),d.match(q)?.[0]??null);a&&(this.feVersion=a)}catch{}await this.warmFetch(n,this.buildRequestHeaders({Accept:"*/*"}),a,b),await this.warmFetch(m,this.buildRequestHeaders({Accept:"*/*"}),a,b),await this.warmFetch(`${l}/?q=DuckDuckGo+AI+Chat&ia=chat&duckai=1`,this.buildRequestHeaders({Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",Origin:l,Referer:`${l}/`,"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Upgrade-Insecure-Requests":"1"}),a,b)}async acquireVqdHeaders(a,b){try{if(a?.aborted)throw new DOMException("Aborted","AbortError");let c=await (0,k.proxyAwareFetch)(o,{method:"GET",headers:this.buildRequestHeaders({Accept:"*/*","Cache-Control":"no-store","x-vqd-accept":"1"}),signal:a},b);if(this.rememberResponseCookies(c),!c.ok)return{vqd4:null,vqdHash1:null};return{vqd4:c.headers.get("x-vqd-4"),vqdHash1:c.headers.get("x-vqd-hash-1")}}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)throw a;return{vqd4:null,vqdHash1:null}}}async acquireAuthHeaders(a,b){if(this.pendingVqdHash1){let a=this.pendingVqdHash1;this.pendingVqdHash1=null;try{return{vqd4:null,vqdHash1:await y(a,r["User-Agent"])}}catch{}}let c=await this.acquireVqdHeaders(a,b);if(c.vqdHash1)try{return{vqd4:c.vqd4,vqdHash1:await y(c.vqdHash1,r["User-Agent"])}}catch{}return c}async seedChallengeChain(a,b,c){if(this.seeded||b?.aborted)return;this.seeded=!0;let e=this.pendingVqdHash1;try{let f=await this.acquireAuthHeaders(b,c);if(!f.vqd4&&!f.vqdHash1){this.pendingVqdHash1=e;return}let g=await (0,k.proxyAwareFetch)(p,{method:"POST",headers:u(this.buildRequestHeaders(),{Accept:"text/event-stream","Content-Type":"application/json","x-ddg-journey-id":(0,d.randomUUID)().replaceAll("-",""),"x-fe-signals":z(),"x-fe-version":this.feVersion,...f.vqd4?{"x-vqd-4":f.vqd4}:{},...f.vqdHash1?{"x-vqd-hash-1":f.vqdHash1}:{}}),body:JSON.stringify(B(a,[{role:"user",content:"hi"}])),signal:b},c);this.rememberResponseCookies(g),g.ok?this.rememberChallengeHeader(g):this.pendingVqdHash1=e,await g.body?.cancel().catch(()=>{})}catch{this.pendingVqdHash1=e}}async execute({model:a,body:b,stream:c,signal:e,log:f,proxyOptions:g}){let h=function(a){if(!a)return"gpt-4o-mini";let b=a.startsWith("duckduckgo-web/")?a.slice(15):a;return"claude-3-5-haiku-20241022"===b?"claude-haiku-4-5":"llama-4-scout"===b?"meta-llama/Llama-4-Scout-17B-16E-Instruct":"mistral-small-2501"===b?"mistral-small-2603":"gpt-oss-120b"===b?"tinfoil/gpt-oss-120b":b}(a),i=b||{},j=(Array.isArray(i.messages)?i.messages:[]).map(a=>{let b="";return"string"==typeof a.content?b=a.content:Array.isArray(a.content)&&(b=a.content.filter(a=>a&&("text"===a.type||"input_text"===a.type)).map(a=>String(a.text||"")).join("\n")),{role:String(a.role||"user"),content:b}});if(0===j.length)return{response:t(400,"No messages provided","INVALID_REQUEST"),url:p,headers:{},transformedBody:b};let l=new AbortController,m=setTimeout(()=>l.abort(),3e4),n=e?AbortSignal.any([e,l.signal]):l.signal,q=`chatcmpl-ddg-${crypto.randomUUID().slice(0,12)}`,r=Math.floor(Date.now()/1e3);try{let e=async a=>{let b=B(h,j),c=await (0,k.proxyAwareFetch)(p,{method:"POST",headers:u(this.buildRequestHeaders(),{Accept:"text/event-stream","Content-Type":"application/json","x-ddg-journey-id":(0,d.randomUUID)().replaceAll("-",""),"x-fe-signals":z(),"x-fe-version":this.feVersion,...a.vqd4?{"x-vqd-4":a.vqd4}:{},...a.vqdHash1?{"x-vqd-hash-1":a.vqdHash1}:{}}),body:JSON.stringify(b),signal:n},g);return this.rememberResponseCookies(c),this.rememberChallengeHeader(c),c};if(n.aborted)return{response:t(499,"Request cancelled","ABORTED"),url:p,headers:{},transformedBody:b};await this.warmSession(n,g),await this.seedChallengeChain(h,n,g);let f=await this.acquireAuthHeaders(n,g);if(!f.vqd4&&!f.vqdHash1)return{response:t(503,"Failed to acquire VQD token","NO_VQD"),url:o,headers:{},transformedBody:b};let i=await e(f);return(418===i.status||401===i.status||403===i.status)&&(this.pendingVqdHash1=null,((f=await this.acquireAuthHeaders(n,g)).vqd4||f.vqdHash1)&&(i=await e(f))),{response:await C(i,!1!==c,a,q,r,n),url:p,headers:this.buildRequestHeaders(),transformedBody:b}}catch(c){if(c instanceof DOMException&&"AbortError"===c.name)return{response:t(499,"Request cancelled","ABORTED"),url:p,headers:{},transformedBody:b};let a=c instanceof Error?c.message:"Unknown error";return f?.error?.("DUCKDUCKGO-WEB",`Execute failed: ${a}`),{response:t(500,a,"INTERNAL_ERROR"),url:p,headers:{},transformedBody:b}}finally{clearTimeout(m)}}}},58643:(a,b,c)=>{c.d(b,{u5:()=>h});let d=null;try{let a=c(3725);d="function"==typeof a.createSession?a.createSession:null}catch{d=null}let e={failureCount:0,maxFailures:3,baseCooldownMs:3e4,cooldownMs:3e4,cooldownMultiplier:1,maxCooldownMs:6e5,tripped:!1,openUntil:0},f=null;async function g(){if(!d||e.tripped&&(!(Date.now()>=e.openUntil)||(console.log("[TlsClient] Half-open: retrying after cooldown"),0)))return null;if(f)return f;let a=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy||void 0,b={browser:"chrome_124",os:"macos"};return a&&(b.proxy=a,console.log(`[TlsClient] Using proxy: ${a}`)),f=await d(b),console.log("[TlsClient] Session created (Chrome 124 TLS fingerprint)"),f}async function h(a,b={}){let c=await g();if(!c)return globalThis.fetch(a,b);try{let d=await c.fetch(a,b);return e.failureCount=0,e.tripped&&(e.cooldownMultiplier=1,e.cooldownMs=e.baseCooldownMs,console.log("[TlsClient] Circuit closed (success after cooldown)"),e.tripped=!1),d}catch(c){if(e.failureCount++,e.failureCount>=e.maxFailures&&(e.openUntil=Date.now()+e.cooldownMs,e.tripped=!0,console.warn(`[TlsClient] Circuit opened after ${e.failureCount} consecutive failures, cooling down for ${e.cooldownMs}ms`),e.cooldownMultiplier=Math.min(2*e.cooldownMultiplier,20),e.cooldownMs=Math.min(e.baseCooldownMs*e.cooldownMultiplier,e.maxCooldownMs)),e.tripped&&f){try{await f.close()}catch{}f=null}return console.warn(`[TlsClient] TLS fetch failed (${c?.message||c}), falling back to regular fetch`),globalThis.fetch(a,b)}}},61001:(a,b,c)=>{c.d(b,{T:()=>v});var d=c(74957);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
130
+ `;async function y(a,b){let c=Buffer.from(a,"base64").toString("utf8"),e=x.replace("__DDG_REAL_UA__",JSON.stringify(b)).replace("__DDG_HTML_LOOKUP__",JSON.stringify(function(a){let b={},c=new Set;for(let d of a.matchAll(/(['"])(<[^'"]{1,400}?)\1/g)){let a=d[2];c.has(a)||(c.add(a),b[a]={html:a,count:Math.max(0,function(a){let b=String(a||"").match(/<[a-zA-Z][^>/]*(?:\/>|>)/g);return b?b.length:0}(a))})}return b}(c))),g=f().createContext({});f().runInContext(e,g,{timeout:5e3});let h=await f().runInContext(c,g,{timeout:5e3}),i=Array.isArray(h.client_hashes)?h.client_hashes:[];if(0===i.length)throw Error("DuckDuckGo challenge returned empty client_hashes");return i[0]=b,h.client_hashes=i.map(a=>{var b;return b=String(a),(0,d.createHash)("sha256").update(b,"utf8").digest("base64")}),Buffer.from(JSON.stringify(h),"utf8").toString("base64")}function z(){let a=Date.now()-3e3,b=80+Math.floor(101*Math.random()),c=[{name:"onboarding_impression_1",delta:b}];c.push({name:"onboarding_impression_2",delta:b+=120+Math.floor(141*Math.random())}),c.push({name:"startNewChat",delta:b+=200+Math.floor(301*Math.random())});let d=6+Math.floor(13*Math.random());for(let a=0;a<d;a++)c.push({name:"user_input",delta:b+=40+Math.floor(141*Math.random())});c.push({name:"user_submit",delta:b+=120+Math.floor(231*Math.random())});let e={start:a,events:c,end:Math.max(b+20+Math.floor(71*Math.random()),3e3)};return Buffer.from(JSON.stringify(e),"utf8").toString("base64")}let A=null;function B(a,b){let c="gpt-5-mini"===a?{reasoningEffort:"minimal"}:"claude-haiku-4-5"===a||"tinfoil/gpt-oss-120b"===a?{reasoningEffort:"low"}:{reasoningEffort:null};return{model:a,metadata:{toolChoice:{NewsSearch:!1,VideosSearch:!1,LocalSearch:!1,WeatherForecast:!1}},messages:b,canUseTools:!1,...c.reasoningEffort?{reasoningEffort:c.reasoningEffort}:{},canUseApproxLocation:null,canDelegateImageGeneration:null,durableStream:{messageId:(0,d.randomUUID)(),conversationId:(0,d.randomUUID)(),publicKey:function(){if(!A){let{publicKey:a}=(0,d.generateKeyPairSync)("rsa",{modulusLength:2048,publicExponent:65537});A={...a.export({format:"jwk"}),alg:"RSA-OAEP-256",ext:!0,key_ops:["encrypt"],use:"enc"}}return A}()}}}async function C(a,b,c,d,e,f){if(!a.ok){let b=await a.text().catch(()=>"");return t(a.status,function(a,b){let c=function(a){try{return JSON.parse(a)}catch{return null}}(b);if(c){let a="string"==typeof c.type?c.type:"",b="string"==typeof c.overrideCode?c.overrideCode:"";if("ERR_CHALLENGE"===a||"ERR_BN_LIMIT"===a){let c=b?` (${b})`:"";return`DuckDuckGo AI Chat anti-abuse challenge failed: ${a}${c}. Retry later or from a less rate-limited IP; DuckDuckGo is rejecting this anonymous session.`}if(a)return`DuckDuckGo AI Chat error: ${a}`}return`DuckDuckGo AI Chat returned HTTP ${a}`}(a.status,b),`HTTP_${a.status}`)}if(b){if(!a.body)return t(502,"DuckDuckGo returned an empty response body","EMPTY_BODY");let b=new TextEncoder,f=!1,g=new TextDecoder,h=new TransformStream({async transform(a,h){for(let k of g.decode(a,{stream:!0}).split("\n")){let a=k.trim();if(!a)continue;if("data: [DONE]"===a){h.enqueue(b.encode(i.$U));continue}let g=v(w(a.startsWith("data: ")?a:`data: ${a}`));g&&(f||(f=!0,h.enqueue(b.encode((0,j.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})))),h.enqueue(b.encode((0,j.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{content:g},finish_reason:null,logprobs:null}]}))))}},flush(a){f||a.enqueue(b.encode((0,j.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null,logprobs:null}]}))),a.enqueue(b.encode((0,j.N9)({id:d,object:"chat.completion.chunk",created:e,model:c,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),a.enqueue(b.encode(i.$U))}});return new Response(a.body.pipeThrough(h),{status:200,headers:{...i.uB}})}let g=await a.text().catch(()=>""),h="";for(let a of g.split("\n")){let b=a.trim();b&&"data: [DONE]"!==b&&(h+=v(w(b.startsWith("data: ")?b:`data: ${b}`)))}let k=Math.max(1,Math.ceil(h.length/4));return new Response(JSON.stringify({id:d,object:"chat.completion",created:e,model:c,system_fingerprint:null,choices:[{index:0,message:{role:"assistant",content:h},finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:k,total_tokens:2*k}}),{status:200,headers:{"Content-Type":"application/json"}})}class D extends g.H{constructor(){super("duckduckgo-web",h.xq["duckduckgo-web"]),this.warmed=!1,this.seeded=!1,this.feVersion="serp_20260424_180649_ET-0bdc33b2a02ebf8f235def65d887787f694720a1",this.pendingVqdHash1=null,this.cookieJar=new Map}buildRequestHeaders(a={}){let b={...r,...a},c=Array.from(this.cookieJar.entries()).map(([a,b])=>`${a}=${b}`).join("; ");return c?{...b,Cookie:c}:b}rememberResponseCookies(a){for(let b of function(a){let b=a.getSetCookie;if("function"==typeof b)return b.call(a);let c=a.get("set-cookie");return c?function(a){let b=[],c=0;for(let d=0;d<a.length;d++){if(","!==a[d])continue;let e=a.slice(d+1);/^\s*[^=;\s]+\s*=/.test(e)&&(b.push(a.slice(c,d).trim()),c=d+1)}return b.push(a.slice(c).trim()),b.filter(Boolean)}(c):[]}(a.headers))!function(a,b){let c=b.split(";",1)[0]?.trim();if(!c)return;let d=c.indexOf("=");d<=0||a.set(c.slice(0,d),c.slice(d+1))}(this.cookieJar,b)}rememberChallengeHeader(a){let b=a.headers.get("x-vqd-hash-1");b&&(this.pendingVqdHash1=b)}seedBrowserCookies(){for(let[a,b]of s)this.cookieJar.has(a)||this.cookieJar.set(a,b)}async warmFetch(a,b,c,d){try{let e=await (0,k.proxyAwareFetch)(a,{headers:b,signal:c},d);return this.rememberResponseCookies(e),e}catch{return null}}async warmSession(a,b){if(this.warmed||a?.aborted)return;this.warmed=!0,this.seedBrowserCookies();let c=await this.warmFetch(`${l}/`,this.buildRequestHeaders({Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Upgrade-Insecure-Requests":"1"}),a,b);if(c)try{var d;let a=(d=await c.clone().text(),d.match(q)?.[0]??null);a&&(this.feVersion=a)}catch{}await this.warmFetch(n,this.buildRequestHeaders({Accept:"*/*"}),a,b),await this.warmFetch(m,this.buildRequestHeaders({Accept:"*/*"}),a,b),await this.warmFetch(`${l}/?q=DuckDuckGo+AI+Chat&ia=chat&duckai=1`,this.buildRequestHeaders({Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",Origin:l,Referer:`${l}/`,"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Upgrade-Insecure-Requests":"1"}),a,b)}async acquireVqdHeaders(a,b){try{if(a?.aborted)throw new DOMException("Aborted","AbortError");let c=await (0,k.proxyAwareFetch)(o,{method:"GET",headers:this.buildRequestHeaders({Accept:"*/*","Cache-Control":"no-store","x-vqd-accept":"1"}),signal:a},b);if(this.rememberResponseCookies(c),!c.ok)return{vqd4:null,vqdHash1:null};return{vqd4:c.headers.get("x-vqd-4"),vqdHash1:c.headers.get("x-vqd-hash-1")}}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)throw a;return{vqd4:null,vqdHash1:null}}}async acquireAuthHeaders(a,b){if(this.pendingVqdHash1){let a=this.pendingVqdHash1;this.pendingVqdHash1=null;try{return{vqd4:null,vqdHash1:await y(a,r["User-Agent"])}}catch{}}let c=await this.acquireVqdHeaders(a,b);if(c.vqdHash1)try{return{vqd4:c.vqd4,vqdHash1:await y(c.vqdHash1,r["User-Agent"])}}catch{}return c}async seedChallengeChain(a,b,c){if(this.seeded||b?.aborted)return;this.seeded=!0;let e=this.pendingVqdHash1;try{let f=await this.acquireAuthHeaders(b,c);if(!f.vqd4&&!f.vqdHash1){this.pendingVqdHash1=e;return}let g=await (0,k.proxyAwareFetch)(p,{method:"POST",headers:u(this.buildRequestHeaders(),{Accept:"text/event-stream","Content-Type":"application/json","x-ddg-journey-id":(0,d.randomUUID)().replaceAll("-",""),"x-fe-signals":z(),"x-fe-version":this.feVersion,...f.vqd4?{"x-vqd-4":f.vqd4}:{},...f.vqdHash1?{"x-vqd-hash-1":f.vqdHash1}:{}}),body:JSON.stringify(B(a,[{role:"user",content:"hi"}])),signal:b},c);this.rememberResponseCookies(g),g.ok?this.rememberChallengeHeader(g):this.pendingVqdHash1=e,await g.body?.cancel().catch(()=>{})}catch{this.pendingVqdHash1=e}}async execute({model:a,body:b,stream:c,signal:e,log:f,proxyOptions:g}){let h=function(a){if(!a)return"gpt-4o-mini";let b=a.startsWith("duckduckgo-web/")?a.slice(15):a;return"claude-3-5-haiku-20241022"===b?"claude-haiku-4-5":"llama-4-scout"===b?"meta-llama/Llama-4-Scout-17B-16E-Instruct":"mistral-small-2501"===b?"mistral-small-2603":"gpt-oss-120b"===b?"tinfoil/gpt-oss-120b":b}(a),i=b||{},j=(Array.isArray(i.messages)?i.messages:[]).map(a=>{let b="";return"string"==typeof a.content?b=a.content:Array.isArray(a.content)&&(b=a.content.filter(a=>a&&("text"===a.type||"input_text"===a.type)).map(a=>String(a.text||"")).join("\n")),{role:String(a.role||"user"),content:b}});if(0===j.length)return{response:t(400,"No messages provided","INVALID_REQUEST"),url:p,headers:{},transformedBody:b};let l=new AbortController,m=setTimeout(()=>l.abort(),3e4),n=e?AbortSignal.any([e,l.signal]):l.signal,q=`chatcmpl-ddg-${crypto.randomUUID().slice(0,12)}`,r=Math.floor(Date.now()/1e3);try{let e=async a=>{let b=B(h,j),c=await (0,k.proxyAwareFetch)(p,{method:"POST",headers:u(this.buildRequestHeaders(),{Accept:"text/event-stream","Content-Type":"application/json","x-ddg-journey-id":(0,d.randomUUID)().replaceAll("-",""),"x-fe-signals":z(),"x-fe-version":this.feVersion,...a.vqd4?{"x-vqd-4":a.vqd4}:{},...a.vqdHash1?{"x-vqd-hash-1":a.vqdHash1}:{}}),body:JSON.stringify(b),signal:n},g);return this.rememberResponseCookies(c),this.rememberChallengeHeader(c),c};if(n.aborted)return{response:t(499,"Request cancelled","ABORTED"),url:p,headers:{},transformedBody:b};await this.warmSession(n,g),await this.seedChallengeChain(h,n,g);let f=await this.acquireAuthHeaders(n,g);if(!f.vqd4&&!f.vqdHash1)return{response:t(503,"Failed to acquire VQD token","NO_VQD"),url:o,headers:{},transformedBody:b};let i=await e(f);return(418===i.status||401===i.status||403===i.status)&&(this.pendingVqdHash1=null,((f=await this.acquireAuthHeaders(n,g)).vqd4||f.vqdHash1)&&(i=await e(f))),{response:await C(i,!1!==c,a,q,r,n),url:p,headers:this.buildRequestHeaders(),transformedBody:b}}catch(c){if(c instanceof DOMException&&"AbortError"===c.name)return{response:t(499,"Request cancelled","ABORTED"),url:p,headers:{},transformedBody:b};let a=c instanceof Error?c.message:"Unknown error";return f?.error?.("DUCKDUCKGO-WEB",`Execute failed: ${a}`),{response:t(500,a,"INTERNAL_ERROR"),url:p,headers:{},transformedBody:b}}finally{clearTimeout(m)}}}},58643:(a,b,c)=>{c.d(b,{u5:()=>h});let d=null;try{let a=c(3725);d="function"==typeof a.createSession?a.createSession:null}catch{d=null}let e={failureCount:0,maxFailures:3,baseCooldownMs:3e4,cooldownMs:3e4,cooldownMultiplier:1,maxCooldownMs:6e5,tripped:!1,openUntil:0},f=null;async function g(){if(!d||e.tripped&&(!(Date.now()>=e.openUntil)||(console.log("[TlsClient] Half-open: retrying after cooldown"),0)))return null;if(f)return f;let a=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy||void 0,b={browser:"chrome_124",os:"macos"};return a&&(b.proxy=a,console.log(`[TlsClient] Using proxy: ${a}`)),f=await d(b),console.log("[TlsClient] Session created (Chrome 124 TLS fingerprint)"),f}async function h(a,b={}){let c=await g();if(!c)return globalThis.fetch(a,b);try{let d=await c.fetch(a,b);return e.failureCount=0,e.tripped&&(e.cooldownMultiplier=1,e.cooldownMs=e.baseCooldownMs,console.log("[TlsClient] Circuit closed (success after cooldown)"),e.tripped=!1),d}catch(c){if(e.failureCount++,e.failureCount>=e.maxFailures&&(e.openUntil=Date.now()+e.cooldownMs,e.tripped=!0,console.warn(`[TlsClient] Circuit opened after ${e.failureCount} consecutive failures, cooling down for ${e.cooldownMs}ms`),e.cooldownMultiplier=Math.min(2*e.cooldownMultiplier,20),e.cooldownMs=Math.min(e.baseCooldownMs*e.cooldownMultiplier,e.maxCooldownMs)),e.tripped&&f){try{await f.close()}catch{}f=null}return console.warn(`[TlsClient] TLS fetch failed (${c?.message||c}), falling back to regular fetch`),globalThis.fetch(a,b)}}},61001:(a,b,c)=>{c.d(b,{T:()=>x});var d=c(74957);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
133
131
 
134
132
  ## General
135
133
 
@@ -245,7 +243,7 @@ You are producing plain text that will later be styled by the CLI. Follow these
245
243
  * Optionally include line/column (1‑based): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
246
244
  * Do not use URIs like file://, vscode://, or https://.
247
245
  * Do not provide range of lines
248
- * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(35024),g=c(93943),h=c(37981),i=c(71301),j=c(45699),k=c(41004),l=c(92306),m=c(80662),n=c(72239),o=c(66306);let p=["server_is_overloaded","service_unavailable_error","capacity","rate_limit_exceeded","insufficient_quota"],q=/^(rs|fc|resp|msg)_/,r=new Set(["image_generation","web_search","web_search_preview","file_search","computer","computer_use_preview","code_interpreter","mcp","local_shell","tool_search"]),s=new Set(["custom"]),t=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","service_tier","include","prompt_cache_key","client_metadata","text","max_output_tokens"]);function u(a,b){let c=(0,n.k)("codex",a);return c?.includes(b)?b:"ultra"===b&&c?.includes("max")?"max":"max"===b||"ultra"===b?"xhigh":b}class v extends d.H{constructor(){super("codex",f.xq.codex),this._currentSessionId=null}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);c.session_id=this._currentSessionId||a?.connectionId||"default",c.originator||(c.originator="codex_cli_rs");let d=a?.providerSpecificData?.workspaceId;return"string"==typeof d&&d&&!c["chatgpt-account-id"]&&(c["chatgpt-account-id"]=d),c}buildUrl(a,b,c=0,d=null){let e=super.buildUrl(a,b,c,d);return this._isCompact?`${e}/compact`:e}async refreshCredentials(a,b){return a?.refreshToken?(0,g.Vq)("codex",a,b):null}needsRefresh(a){return(0,g.fp)("codex",a)}async prefetchImages(a){if(Array.isArray(a?.input))for(let b of a.input){if(!Array.isArray(b.content))continue;let a=b.content.map(async a=>{if("image_url"!==a.type)return a;let b="string"==typeof a.image_url?a.image_url:a.image_url?.url,c=a.image_url?.detail||"auto";if(!b)return a;if(b.startsWith("data:"))return{type:"input_image",image_url:b,detail:c};let d=await (0,i.ni)(b,{timeoutMs:15e3});return{type:"input_image",image_url:d?.url||b,detail:c}});b.content=await Promise.all(a)}}async execute(a){this._suppressMaxOutputTokens=!1;let b=Array.isArray(a.body?.input)?a.body.input.reduce((a,b)=>a+(Array.isArray(b.content)?b.content.filter(a=>"image_url"===a.type).length:0),0):0,c=Array.isArray(a.body?.input)?a.body.input.length:0;if((0,l.s)("CODEX",`execute start | inputItems=${c} | images=${b} | sessionId=${this._currentSessionId||"pending"}`),b>0){let b=Date.now();await this.prefetchImages(a.body),(0,l.s)("CODEX",`prefetchImages done | ${Date.now()-b}ms`)}else await this.prefetchImages(a.body);let d={...k.cI,...this.config.retry},{attempts:e,delayMs:f}=(0,k.DR)(d[503]),g=0;for(;;){let b=await super.execute(a);if(!this._suppressMaxOutputTokens&&400===b.response.status){let c=await b.response.clone().text().catch(()=>"");if(c&&/max_output_tokens/.test(c)){a.log?.warn?.("RETRY","CODEX | upstream rejected max_output_tokens (400) — retrying without it"),this._suppressMaxOutputTokens=!0;try{await b.response.body?.cancel?.()}catch{}continue}}let c=await this._peekSseOverloaded(b.response);if(!c.matched){if(400===b.response.status&&this._suppressMaxOutputTokens){let c=await b.response.clone().text().catch(()=>"");a.log?.warn?.("RETRY",`CODEX | retry WITHOUT max_output_tokens also 400'd: ${c.slice(0,300)||"(empty body)"}`)}return c.replacementBody&&(b.response=new Response(c.replacementBody,{status:b.response.status,statusText:b.response.statusText,headers:b.response.headers})),b}if(g>=e)return a.log?.warn?.("RETRY",`CODEX | SSE overloaded "${c.matched}" — retries exhausted (${g}/${e})`),c.replacementBody&&(b.response=new Response(c.replacementBody,{status:b.response.status,statusText:b.response.statusText,headers:b.response.headers})),b;g++,a.log?.debug?.("RETRY",`CODEX | SSE "${c.matched}" retry ${g}/${e} after ${f/1e3}s`),(0,l.s)("CODEX",`SSE overloaded "${c.matched}" → retry ${g}/${e} in ${f}ms`);try{await b.response.body?.cancel?.()}catch{}await new Promise(a=>setTimeout(a,f))}}async _peekSseOverloaded(a){if(!a||!a.ok||!a.body)return{matched:null,replacementBody:null};let b=a.body.getReader(),c=new TextDecoder,d=[],e="",f=null;try{for(;e.length<4096;){let{done:a,value:g}=await b.read();if(a)break;d.push(g),e+=c.decode(g,{stream:!0});let h=p.find(a=>e.includes(a));if(h){f=h;break}}}catch(a){(0,l.s)("CODEX",`peek read error: ${a.message}`)}b.releaseLock();let g=a.body,h=null;return{matched:f,replacementBody:new ReadableStream({start(a){for(let b of d)a.enqueue(b);h=g.getReader()},async pull(a){try{let{done:b,value:c}=await h.read();if(b)return void a.close();a.enqueue(c)}catch(b){a.error(b)}},cancel(a){try{h?.cancel(a)}catch{}}})}}parseError(a,b){if(429===a.status&&b)try{let a=JSON.parse(b),c=a?.error;if(c?.type==="usage_limit_reached"){let a=Date.now(),d=null;if("number"==typeof c.resets_at&&c.resets_at>0){let b=1e3*c.resets_at;b>a&&(d=b)}if(!d&&"number"==typeof c.resets_in_seconds&&c.resets_in_seconds>0&&(d=a+1e3*c.resets_in_seconds),d)return{status:429,message:c.message||b,resetsAtMs:d}}}catch{}return super.parseError(a,b)}transformRequest(a,b,c,d){this._isCompact=!!b._compact,delete b._compact,this._currentSessionId=(0,m.oV)({headers:d?.rawHeaders,body:b,connectionId:d?.connectionId,workspaceId:d?.providerSpecificData?.workspaceId,scope:"codex"});let f=(0,h.m)(b.input);if(f&&(b.input=f),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),Array.isArray(b.input))for(let a of b.input)!(!a||"object"!=typeof a||Array.isArray(a))&&("system"!==a.role||a.type&&"message"!==a.type||(a.role="developer"));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)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c="string"==typeof a.type?a.type:"";if("namespace"===c){if(Array.isArray(a.tools))for(let c of a.tools){let a="string"==typeof c?.name?c.name.trim().slice(0,128):"";a&&b.add(a)}return!0}if("function"!==c)return!!s.has(c)||!!c&&!a.function&&"string"!=typeof a.name&&r.has(c);let d=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,e=("string"==typeof a.name?a.name:"string"==typeof d?.name?d.name:"").trim();if(!e)return!1;let f="string"==typeof a.description?a.description:"string"==typeof d?.description?d.description:"",g=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:d?.parameters&&"object"==typeof d.parameters&&!Array.isArray(d.parameters)?d.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=e.slice(0,128),f&&(a.description=f),a.parameters=g,b.add(e),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(b),b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1,!b.prompt_cache_key&&this._currentSessionId&&(b.prompt_cache_key=this._currentSessionId),b.model=(0,j.kt)("cx",b.model||a);let g=null;for(let a of["none","low","medium","high","xhigh"])if(b.model.endsWith(`-${a}`)){g=a,b.model=b.model.replace(`-${a}`,"");break}if(b.reasoning)b.reasoning.effort=u(b.model,b.reasoning.effort),b.reasoning.summary||(b.reasoning.summary="auto");else{let a=u(b.model,b.reasoning_effort||g||"low");b.reasoning={effort:a,summary:"auto"}}if(delete b.reasoning_effort,b.reasoning&&b.reasoning.effort&&"none"!==b.reasoning.effort&&(b.include=["reasoning.encrypted_content"]),delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.max_completion_tokens,this._suppressMaxOutputTokens)delete b.max_output_tokens;else if(!(Number.isFinite(b.max_output_tokens)&&b.max_output_tokens>0)){let c=(0,o.nl)("codex",a);b.max_output_tokens=Math.min(Number.isFinite(c?.maxOutput)&&c.maxOutput>0?c.maxOutput:128e3,128e3)}for(let a of(delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,delete b.previous_response_id,Object.keys(b)))t.has(a)||delete b[a];return b}}},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}}},61592:(a,b,c)=>{c.d(b,{IH:()=>l});var d=c(74957),e=c(35024),f=c(78959),g=c(92536),h=c(39609);let i=e.xq.puter,j=i.baseUrl;function k(a,b,c="PUTER_ERROR"){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}class l extends d.H{constructor(){super("puter",i)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:i,proxyOptions:l=null}){let m,n,o=b?.messages;if(!Array.isArray(o)||0===o.length)return{response:k(400,"Missing or empty messages array.","INVALID_REQUEST"),url:j,headers:{},transformedBody:b};let p=function(a){if(!a)return"";let b=String(a).trim();if(b.toLowerCase().startsWith("bearer ")&&(b=b.slice(7).trim()),!b.includes("=")&&!b.includes(";"))return b;let c=b.match(/puter_auth_token=([^;]+)/);if(c)return c[1].trim();let d=b.match(/[^=;]+=[^;]+/);if(d){let a=d[0].indexOf("=");return d[0].slice(a+1).trim()}return b}(d?.apiKey||d?.accessToken||"");if(!p)return{response:k(401,"Puter needs your auth token. Open puter.com/dashboard → Copy Auth Token (or your puter_auth_token cookie) and paste it in the connection.","NO_TOKEN"),url:j,headers:{},transformedBody:b};let q={...b,model:a,stream:!!c,tools:void 0,functions:void 0,tool_choice:void 0},r={"Content-Type":"application/json",Authorization:`Bearer ${p}`};c&&(r.Accept="text/event-stream"),i?.info?.("PUTER",`Query to ${a}, len=${JSON.stringify(q).length}`);try{m=await (0,h.proxyAwareFetch)(j,{method:"POST",headers:r,body:JSON.stringify(q),signal:e},l)}catch(a){if(a?.name==="AbortError")throw a;return i?.error?.("PUTER",`Fetch failed: ${a?.message||String(a)}`),{response:k(502,`Puter connection failed: ${a?.message||String(a)}`,"CONNECT_FAILED"),url:j,headers:r,transformedBody:q}}if(!m.ok){let a=m.status,b="";try{b=await m.text()}catch{}let c=`Puter returned HTTP ${a}`;return 401===a||403===a?c="Puter auth failed — your auth token may be expired or invalid. Re-copy it from puter.com/dashboard.":429===a&&(c="Puter rate limited. Wait a moment and retry."),i?.warn?.("PUTER",c),{response:new Response(JSON.stringify({error:{message:b?`${c}: ${b.slice(0,300)}`:c,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:j,headers:r,transformedBody:q}}if(c){var s;let b,c,d;if(!m.body)return{response:k(502,"Puter returned empty response body.","EMPTY_BODY"),url:j,headers:r,transformedBody:q};let h=`chatcmpl-puter-${crypto.randomUUID().slice(0,12)}`,i=Math.floor(Date.now()/1e3);return{response:new Response((s=m.body,b=new TextEncoder,c=!1,d=(c,d,e=null)=>c.enqueue(b.encode((0,g.N9)({id:h,object:"chat.completion.chunk",created:i,model:a,system_fingerprint:null,choices:[{index:0,delta:d,finish_reason:e,logprobs:null}]}))),new ReadableStream({async start(a){let g=s.getReader(),h=new TextDecoder,i="";try{for(;;){let b;if(e?.aborted)break;let{value:f,done:j}=await g.read();if(j)break;for(i+=h.decode(f,{stream:!0});(b=i.indexOf("\n"))>=0;){let e,f=i.slice(0,b).trim();if(i=i.slice(b+1),!f||!f.startsWith("data:"))continue;let g=f.slice(5).trim();if("[DONE]"===g){i="";break}try{e=JSON.parse(g)}catch{continue}if(e.error){let b=e.error.message||"Puter stream error";d(a,{content:`
246
+ * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(35024),g=c(93943),h=c(37981),i=c(71301),j=c(45699),k=c(41004),l=c(37340),m=c(92306),n=c(80662),o=c(72239),p=c(53552);let q=["server_is_overloaded","service_unavailable_error","capacity","rate_limit_exceeded","insufficient_quota"],r=/^(rs|fc|resp|msg)_/,s=new Set(["image_generation","web_search","web_search_preview","file_search","computer","computer_use_preview","code_interpreter","mcp","local_shell","tool_search"]),t=new Set(["custom"]),u=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","service_tier","include","prompt_cache_key","client_metadata","text","max_output_tokens"]),v=l.A.codex;function w(a,b){let c=(0,o.k)("codex",a);return c?.includes(b)?b:"ultra"===b&&c?.includes("max")?"max":"max"===b||"ultra"===b?"xhigh":b}class x extends d.H{constructor(){super("codex",f.xq.codex),this._currentSessionId=null}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);c.session_id=this._currentSessionId||a?.connectionId||"default",c.originator||(c.originator="codex_cli_rs");let d=a?.providerSpecificData?.workspaceId;return"string"==typeof d&&d&&!c["chatgpt-account-id"]&&(c["chatgpt-account-id"]=d),c}buildUrl(a,b,c=0,d=null){let e=super.buildUrl(a,b,c,d);return this._isCompact?`${e}/compact`:e}async refreshCredentials(a,b){return a?.refreshToken?(0,g.Vq)("codex",a,b):null}needsRefresh(a){return(0,g.fp)("codex",a)}async prefetchImages(a){if(Array.isArray(a?.input))for(let b of a.input){if(!Array.isArray(b.content))continue;let a=b.content.map(async a=>{if("image_url"!==a.type)return a;let b="string"==typeof a.image_url?a.image_url:a.image_url?.url,c=a.image_url?.detail||"auto";if(!b)return a;if(b.startsWith("data:"))return{type:"input_image",image_url:b,detail:c};let d=await (0,i.ni)(b,{timeoutMs:15e3});return{type:"input_image",image_url:d?.url||b,detail:c}});b.content=await Promise.all(a)}}async execute(a){this._suppressMaxOutputTokens=!1;let b=Array.isArray(a.body?.input)?a.body.input.reduce((a,b)=>a+(Array.isArray(b.content)?b.content.filter(a=>"image_url"===a.type).length:0),0):0,c=Array.isArray(a.body?.input)?a.body.input.length:0;if((0,m.s)("CODEX",`execute start | inputItems=${c} | images=${b} | sessionId=${this._currentSessionId||"pending"}`),b>0){let b=Date.now();await this.prefetchImages(a.body),(0,m.s)("CODEX",`prefetchImages done | ${Date.now()-b}ms`)}else await this.prefetchImages(a.body);let d={...k.cI,...this.config.retry},{attempts:e,delayMs:f}=(0,k.DR)(d[503]),g=0;for(;;){let b=await super.execute(a);if(!this._suppressMaxOutputTokens&&400===b.response.status){let c=await b.response.clone().text().catch(()=>"");if(c&&/max_output_tokens/.test(c)){a.log?.warn?.("RETRY","CODEX | upstream rejected max_output_tokens (400) — retrying without it"),this._suppressMaxOutputTokens=!0;try{await b.response.body?.cancel?.()}catch{}continue}}let c=await this._peekSseOverloaded(b.response);if(!c.matched){if(400===b.response.status&&this._suppressMaxOutputTokens){let c=await b.response.clone().text().catch(()=>"");a.log?.warn?.("RETRY",`CODEX | retry WITHOUT max_output_tokens also 400'd: ${c.slice(0,300)||"(empty body)"}`)}return c.replacementBody&&(b.response=new Response(c.replacementBody,{status:b.response.status,statusText:b.response.statusText,headers:b.response.headers})),b}if(g>=e)return a.log?.warn?.("RETRY",`CODEX | SSE overloaded "${c.matched}" — retries exhausted (${g}/${e})`),c.replacementBody&&(b.response=new Response(c.replacementBody,{status:b.response.status,statusText:b.response.statusText,headers:b.response.headers})),b;g++,a.log?.debug?.("RETRY",`CODEX | SSE "${c.matched}" retry ${g}/${e} after ${f/1e3}s`),(0,m.s)("CODEX",`SSE overloaded "${c.matched}" → retry ${g}/${e} in ${f}ms`);try{await b.response.body?.cancel?.()}catch{}await new Promise(a=>setTimeout(a,f))}}async _peekSseOverloaded(a){if(!a||!a.ok||!a.body)return{matched:null,replacementBody:null};let b=a.body.getReader(),c=new TextDecoder,d=[],e="",f=null;try{for(;e.length<4096;){let{done:a,value:g}=await b.read();if(a)break;d.push(g),e+=c.decode(g,{stream:!0});let h=q.find(a=>e.includes(a));if(h){f=h;break}}}catch(a){(0,m.s)("CODEX",`peek read error: ${a.message}`)}b.releaseLock();let g=a.body,h=null;return{matched:f,replacementBody:new ReadableStream({start(a){for(let b of d)a.enqueue(b);h=g.getReader()},async pull(a){try{let{done:b,value:c}=await h.read();if(b)return void a.close();a.enqueue(c)}catch(b){a.error(b)}},cancel(a){try{h?.cancel(a)}catch{}}})}}parseError(a,b){if(429===a.status&&b)try{let a=JSON.parse(b),c=a?.error;if(c?.type==="usage_limit_reached"){let a=Date.now(),d=null;if("number"==typeof c.resets_at&&c.resets_at>0){let b=1e3*c.resets_at;b>a&&(d=b)}if(!d&&"number"==typeof c.resets_in_seconds&&c.resets_in_seconds>0&&(d=a+1e3*c.resets_in_seconds),d)return{status:429,message:c.message||b,resetsAtMs:d}}}catch{}return super.parseError(a,b)}transformRequest(a,b,c,d){this._isCompact=!!b._compact,delete b._compact,this._currentSessionId=(0,n.oV)({headers:d?.rawHeaders,body:b,connectionId:d?.connectionId,workspaceId:d?.providerSpecificData?.workspaceId,scope:"codex"});let f=(0,h.m)(b.input);if(f&&(b.input=f),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),Array.isArray(b.input))for(let a of b.input)!(!a||"object"!=typeof a||Array.isArray(a))&&("system"!==a.role||a.type&&"message"!==a.type||(a.role="developer"));Array.isArray(b.input)&&(b.input=b.input.filter(a=>{if("string"==typeof a&&r.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&r.test(a.id)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c="string"==typeof a.type?a.type:"";if("namespace"===c){if(Array.isArray(a.tools))for(let c of a.tools){let a="string"==typeof c?.name?c.name.trim().slice(0,128):"";a&&b.add(a)}return!0}if("function"!==c)return!!t.has(c)||!!c&&!a.function&&"string"!=typeof a.name&&s.has(c);let d=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,e=("string"==typeof a.name?a.name:"string"==typeof d?.name?d.name:"").trim();if(!e)return!1;let f="string"==typeof a.description?a.description:"string"==typeof d?.description?d.description:"",g=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:d?.parameters&&"object"==typeof d.parameters&&!Array.isArray(d.parameters)?d.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=e.slice(0,128),f&&(a.description=f),a.parameters=g,b.add(e),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(b),b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1,!b.prompt_cache_key&&this._currentSessionId&&(b.prompt_cache_key=this._currentSessionId),b.model=(0,j.kt)("cx",b.model||a);let g=null;for(let a of["none","low","medium","high","xhigh"])if(b.model.endsWith(`-${a}`)){g=a,b.model=b.model.replace(`-${a}`,"");break}if(b.reasoning)b.reasoning.effort=w(b.model,b.reasoning.effort),b.reasoning.summary||(b.reasoning.summary="auto");else{let a=w(b.model,b.reasoning_effort||g||"low");b.reasoning={effort:a,summary:"auto"}}if(delete b.reasoning_effort,b.reasoning&&b.reasoning.effort&&"none"!==b.reasoning.effort&&(b.include=["reasoning.encrypted_content"]),delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.max_completion_tokens,this._suppressMaxOutputTokens)delete b.max_output_tokens;else if(!(Number.isFinite(b.max_output_tokens)&&b.max_output_tokens>0)){let c=(0,p.getCapabilitiesForModel)("codex",a);b.max_output_tokens=Math.min(Number.isFinite(c?.maxOutput)&&c.maxOutput>0?c.maxOutput:v,v)}for(let a of(delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,delete b.previous_response_id,Object.keys(b)))u.has(a)||delete b[a];return b}}},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}}},61592:(a,b,c)=>{c.d(b,{IH:()=>l});var d=c(74957),e=c(35024),f=c(78959),g=c(92536),h=c(39609);let i=e.xq.puter,j=i.baseUrl;function k(a,b,c="PUTER_ERROR"){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}class l extends d.H{constructor(){super("puter",i)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:i,proxyOptions:l=null}){let m,n,o=b?.messages;if(!Array.isArray(o)||0===o.length)return{response:k(400,"Missing or empty messages array.","INVALID_REQUEST"),url:j,headers:{},transformedBody:b};let p=function(a){if(!a)return"";let b=String(a).trim();if(b.toLowerCase().startsWith("bearer ")&&(b=b.slice(7).trim()),!b.includes("=")&&!b.includes(";"))return b;let c=b.match(/puter_auth_token=([^;]+)/);if(c)return c[1].trim();let d=b.match(/[^=;]+=[^;]+/);if(d){let a=d[0].indexOf("=");return d[0].slice(a+1).trim()}return b}(d?.apiKey||d?.accessToken||"");if(!p)return{response:k(401,"Puter needs your auth token. Open puter.com/dashboard → Copy Auth Token (or your puter_auth_token cookie) and paste it in the connection.","NO_TOKEN"),url:j,headers:{},transformedBody:b};let q={...b,model:a,stream:!!c,tools:void 0,functions:void 0,tool_choice:void 0},r={"Content-Type":"application/json",Authorization:`Bearer ${p}`};c&&(r.Accept="text/event-stream"),i?.info?.("PUTER",`Query to ${a}, len=${JSON.stringify(q).length}`);try{m=await (0,h.proxyAwareFetch)(j,{method:"POST",headers:r,body:JSON.stringify(q),signal:e},l)}catch(a){if(a?.name==="AbortError")throw a;return i?.error?.("PUTER",`Fetch failed: ${a?.message||String(a)}`),{response:k(502,`Puter connection failed: ${a?.message||String(a)}`,"CONNECT_FAILED"),url:j,headers:r,transformedBody:q}}if(!m.ok){let a=m.status,b="";try{b=await m.text()}catch{}let c=`Puter returned HTTP ${a}`;return 401===a||403===a?c="Puter auth failed — your auth token may be expired or invalid. Re-copy it from puter.com/dashboard.":429===a&&(c="Puter rate limited. Wait a moment and retry."),i?.warn?.("PUTER",c),{response:new Response(JSON.stringify({error:{message:b?`${c}: ${b.slice(0,300)}`:c,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:j,headers:r,transformedBody:q}}if(c){var s;let b,c,d;if(!m.body)return{response:k(502,"Puter returned empty response body.","EMPTY_BODY"),url:j,headers:r,transformedBody:q};let h=`chatcmpl-puter-${crypto.randomUUID().slice(0,12)}`,i=Math.floor(Date.now()/1e3);return{response:new Response((s=m.body,b=new TextEncoder,c=!1,d=(c,d,e=null)=>c.enqueue(b.encode((0,g.N9)({id:h,object:"chat.completion.chunk",created:i,model:a,system_fingerprint:null,choices:[{index:0,delta:d,finish_reason:e,logprobs:null}]}))),new ReadableStream({async start(a){let g=s.getReader(),h=new TextDecoder,i="";try{for(;;){let b;if(e?.aborted)break;let{value:f,done:j}=await g.read();if(j)break;for(i+=h.decode(f,{stream:!0});(b=i.indexOf("\n"))>=0;){let e,f=i.slice(0,b).trim();if(i=i.slice(b+1),!f||!f.startsWith("data:"))continue;let g=f.slice(5).trim();if("[DONE]"===g){i="";break}try{e=JSON.parse(g)}catch{continue}if(e.error){let b=e.error.message||"Puter stream error";d(a,{content:`
249
247
  [Puter error: ${b}]`}),i="";break}let h=Array.isArray(e.choices)?e.choices[0]:null,j=h?.delta||{};c||j.role||j.content||j.reasoning_content?!c&&j.role&&(c=!0):(d(a,{role:"assistant"}),c=!0),d(a,j,h?.finish_reason??null)}if(""===i)break}let j=(i+=h.decode()).trim();if(j.startsWith("data:")){let b=j.slice(5).trim();if(b&&"[DONE]"!==b)try{let c=JSON.parse(b);if(!c.error){let b=Array.isArray(c.choices)?c.choices[0]:null;d(a,b?.delta||{},b?.finish_reason??null)}}catch{}}d(a,{},"stop"),a.enqueue(b.encode(f.$U))}catch(e){let c=e?.name==="AbortError"?"Stream aborted.":e?.message||String(e);d(a,{content:`
250
248
  [Puter error: ${c}]`}),a.enqueue(b.encode(f.$U))}finally{try{g.releaseLock()}catch{}try{a.close()}catch{}}}})),{status:200,headers:{...f.uB}}),url:j,headers:r,transformedBody:q}}let t=await m.text();try{n=JSON.parse(t)}catch{n={id:`chatcmpl-puter-${crypto.randomUUID().slice(0,12)}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,system_fingerprint:null,choices:[{index:0,message:{role:"assistant",content:t||"[Puter returned no content]"},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:j,headers:r,transformedBody:q}}}},62902:(a,b,c)=>{c.d(b,{o:()=>r});var d=c(77598),e=c(74957),f=c(78959),g=c(92536),h=c(39609);let i="https://delayed-inference.prod.gokite.ai",j=`${i}/v1/delayed/chat/completions`,k=a=>`${i}/v1/delayed/jobs/${encodeURIComponent(a)}`,l=new Set(["completed","succeeded","done","success"]),m=new Set(["failed","error","cancelled","canceled","expired"]);function n(a,b){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:"MARATHON_ERROR"}}),{status:a,headers:{"Content-Type":"application/json"}})}function o(a,b){return{"Content-Type":"application/json",Accept:b?"text/event-stream":"application/json",Authorization:`Bearer ${a}`}}function p(a){let b=Array.isArray(a?.choices)?a.choices[0]:null;if(b?.message?.content)return b.message.content;if(b?.delta?.content)return b.delta.content;let c=a?.result||a?.output||a?.response||null;if(c){if("string"==typeof c)return c;let a=Array.isArray(c?.choices)?c.choices[0]:null;if(a?.message?.content)return a.message.content;if(c?.content)return String(c.content)}return a?.content?String(a.content):""}async function q({body:a,apiKey:b,signal:c,log:d,proxyOptions:e,onProgress:f}){var g,i;let n,r,s=o(b,!1);d?.info?.("MARATHON",`submit delayed job | model=${a?.model||"?"} | window=${a?.completion_window}`);try{n=await (0,h.proxyAwareFetch)(j,{method:"POST",headers:s,body:JSON.stringify(a),signal:c},e)}catch(a){if(a?.name==="AbortError")throw a;throw Object.assign(Error(`Marathon submit failed: ${a?.message||String(a)}`),{code:"CONNECT_FAILED"})}if(!n.ok){let a="";try{a=await n.text()||""}catch{}throw Object.assign(Error(401===n.status||403===n.status?"Marathon auth failed — check your API key.":`Marathon submit failed (HTTP ${n.status})${a?`: ${a.slice(0,300)}`:""}`),{status:n.status,code:`HTTP_${n.status}`})}try{r=await n.json()}catch{throw Object.assign(Error("Marathon returned a malformed submit response."),{code:"BAD_RESPONSE"})}if(Array.isArray(r?.choices)&&r.choices.length>0){let a=p(r);return d?.info?.("MARATHON","delayed window served synchronously — no polling needed"),f?.({delta:a}),{status:"completed",content:a,jobId:null,passthrough:r}}let t=(g=r,g?.job_id||g?.jobId||g?.id||g?.job?.id||null);if(!t)throw Object.assign(Error("Marathon submit returned no job_id."),{code:"BAD_RESPONSE"});d?.info?.("MARATHON",`job ${t} queued`);let u=Date.now()+6e5,v="queued";for(;Date.now()<u;){let a,b;if(c?.aborted||(await new Promise(a=>setTimeout(a,3e3)),c?.aborted))throw Object.assign(Error("Aborted"),{name:"AbortError"});try{a=await (0,h.proxyAwareFetch)(k(t),{method:"GET",headers:s,signal:c},e)}catch(a){if(a?.name==="AbortError")throw a;d?.warn?.("MARATHON",`poll error (will retry): ${a?.message||String(a)}`);continue}if(!a.ok){if(a.status>=500){d?.warn?.("MARATHON",`poll HTTP ${a.status}, retrying`);continue}throw Object.assign(Error(`Marathon poll failed (HTTP ${a.status})`),{status:a.status,code:`HTTP_${a.status}`})}try{b=await a.json()}catch{b={}}if(i=b,v=String(i?.status||i?.state||"").toLowerCase(),l.has(v)){let a=p(b);return d?.info?.("MARATHON",`job ${t} → ${v} | ${a.length} chars`),f?.({delta:a}),{status:"completed",content:a,jobId:t}}if(m.has(v)){let a=b?.error?.message||b?.error||`Job ended with status: ${v}`;return d?.warn?.("MARATHON",`job ${t} → ${v}: ${a}`),{status:"failed",content:"",jobId:t,error:a}}f?.({status:v,delta:""})}return d?.warn?.("MARATHON",`job ${t} timed out after 600s (status=${v})`),{status:"timeout",content:"",jobId:t}}class r extends e.H{constructor(){super("marathon",null)}async execute({model:a,body:b,stream:c,credentials:e,signal:i,log:k,proxyOptions:l=null}){var m;let p=(e?.apiKey||e?.accessToken||"").trim();if(!p)return{response:n(401,"Marathon: no API key provided. Create one at marathon.build."),url:j,headers:{},transformedBody:b};let r=e?.providerSpecificData?.completionWindow||"now",s=a||"kimi-k3",t={...b,model:s,completion_window:r};if("now"===r){let a=o(p,c);k?.info?.("MARATHON",`now mode | model=${s} | stream=${c}`);try{let b=await (0,h.proxyAwareFetch)(j,{method:"POST",headers:a,body:JSON.stringify(t),signal:i},l);if(401===b.status||403===b.status)return{response:n(b.status,"Marathon: API key rejected — check your key at marathon.build."),url:j,headers:a,transformedBody:t};return{response:b,url:j,headers:a,transformedBody:t}}catch(b){if(b?.name==="AbortError")throw b;return{response:n(502,`Marathon fetch failed: ${b?.message||String(b)}`),url:j,headers:a,transformedBody:t}}}let u=`chatcmpl-mara-${(0,d.randomUUID)().slice(0,12)}`,v=Math.floor(Date.now()/1e3),w=(Array.isArray(m=b?.messages)?m:[]).reduce((a,b)=>"string"==typeof b?.content?a+b.content.length:Array.isArray(b?.content)?a+b.content.filter(a=>"text"===a.type).reduce((a,b)=>a+(b.text?.length||0),0):a,0);if(k?.info?.("MARATHON",`delayed mode | window=${r} | model=${s} | stream=${c}`),!c)try{let a=await q({body:t,apiKey:p,signal:i,log:k,proxyOptions:l}),b="completed"===a.status?a.content:`[Marathon job ${a.status}: ${a.error||"no output"}]`,c=Math.ceil(b.length/4),d=Math.ceil(w/4);return{response:new Response(JSON.stringify({id:u,object:"chat.completion",created:v,model:s,choices:[{index:0,message:{role:"assistant",content:b},finish_reason:"stop"}],usage:{prompt_tokens:d,completion_tokens:c,total_tokens:d+c},...a.passthrough?{_marathon_passthrough:!0}:{}}),{status:"timeout"===a.status?504:200,headers:{"Content-Type":"application/json"}}),url:j,headers:o(p,!1),transformedBody:t}}catch(a){if(a?.name==="AbortError")throw a;return{response:n(a?.status||502,a?.message||"Marathon delayed job failed"),url:j,headers:o(p,!1),transformedBody:t}}let x=function({body:a,apiKey:b,cid:c,created:d,modelId:e,signal:h,log:i,proxyOptions:j}){let k=new TextEncoder,l=!1,m=(a,b)=>a.enqueue(k.encode((0,g.N9)({id:c,object:"chat.completion.chunk",created:d,model:e,choices:[{index:0,delta:b,finish_reason:null}]})));return new ReadableStream({async start(n){m(n,{role:"assistant"});let o=setInterval(()=>{try{h?.aborted||m(n,{})}catch{}},8e3);try{let o=await q({body:a,apiKey:b,signal:h,log:i,proxyOptions:j,onProgress:({delta:a})=>{a&&(l=!0,m(n,{content:a}))}});"completed"===o.status?!l&&o.content&&m(n,{content:o.content}):"failed"===o.status?m(n,{content:`
251
249
  [Marathon job failed: ${o.error||"unknown error"}]`}):"timeout"===o.status&&m(n,{content:`
@@ -263,7 +261,7 @@ ${e}`:e}(u);if(!x.trim())return m(400,"Empty query after processing.",i,b,"INVAL
263
261
 
264
262
  ${I}`:I,L=a||"qwen3.7-plus",M=s?.connectionProxyEnabled?i.proxyAwareFetch:h.u5,N=await q(B,C,D);if(!N)return p?.warn?.("QWENCLOUD","Failed to get accessToken — bx-ua/bx-umidtoken may be required or expired"),{response:n(401,"QwenCloud: failed to generate accessToken. Ensure bx-ua and bx-umidtoken are included in your credential. Re-copy from qwencloud.com DevTools → Network → POST to cs-data.qwencloud.com → Request Headers."),url:j,headers:{},transformedBody:b};let O=(0,d.randomUUID)(),P=(0,d.randomUUID)().replace(/-/g,""),Q=JSON.stringify({messageId:O,data:[{type:"JSON_TEXT",value:JSON.stringify({Api:"zeldaEasy.bmp.agentPredictRpcService.predict",V:"1.0",Data:{predictRequest:{modelId:L,sessionId:P,tabCode:(0,d.randomUUID)().replace(/-/g,""),contentList:[{type:"text",content:K}],predictConfig:{chatType:"t2t",debug:null,enableSearch:null,extraParam:null,featureParam:null,frequencyPenalty:null,gradioExtraParam:null,maxLength:null,modelParam:{top_p:.8,enable_thinking:!0,temperature:.7,result_format:"message",thinking_budget:4e3,enable_search:!1},negativePrompt:null,presencePenalty:null,recordParam:null,recorderMap:null,stop:null,systemMessage:null,temperature:null,topK:null,topP:null},reGenerate:!1,chatLogCode:O,modelTypeIds:["Reasoning","TG","VU"],isAiCenterRequest:!1}}})}]}),R=`${j}/${N}`,S={"Content-Type":"application/json",Cookie:B,"User-Agent":k,Origin:"https://www.qwencloud.com",Referer:"https://www.qwencloud.com/",Accept:"text/event-stream"};p?.info?.("QWENCLOUD",`model=${L} len=${K.length} stream=${c}`);try{u=await M(R,{method:"POST",headers:S,body:Q,signal:o},s)}catch(a){if("AbortError"===a.name)throw a;return l.delete(m(B)),{response:n(502,`QwenCloud fetch failed: ${a?.message||a}`),url:R,headers:S,transformedBody:Q}}if(401===u.status||403===u.status)return l.delete(m(B)),{response:n(401,"QwenCloud: session cookie or accessToken expired — re-copy from qwencloud.com DevTools."),url:R,headers:S,transformedBody:Q};if(!u.ok||!u.body){let a=await u.text().catch(()=>"");return{response:n(u.status||502,`QwenCloud error: ${a.slice(0,300)}`),url:R,headers:S,transformedBody:Q}}let T=`chatcmpl-qc-${(0,d.randomUUID)().slice(0,12)}`,U=Math.floor(Date.now()/1e3);if(!c){let{content:a,reasoning:b}=await t(u.body,o),c={role:"assistant",content:a};return b&&(c.reasoning_content=b),{response:new Response(JSON.stringify({id:T,object:"chat.completion",created:U,model:L,choices:[{index:0,message:c,finish_reason:"stop"}],usage:{prompt_tokens:Math.ceil(K.length/4),completion_tokens:Math.ceil(a.length/4),total_tokens:0}}),{headers:{"Content-Type":"application/json"}}),url:R,headers:S,transformedBody:Q}}let V=new TextEncoder,W=new TextDecoder,X=new ReadableStream({async start(a){let b=u.body.getReader(),c="",d="",e="",h=!1;a.enqueue(V.encode((0,g.N9)({id:T,object:"chat.completion.chunk",created:U,model:L,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})));try{for(;!o?.aborted;){let{done:f,value:i}=await b.read();if(f)break;let j=(c+=W.decode(i,{stream:!0})).split("\n");for(let b of(c=j.pop()||"",j)){let c=b.trim();if(!c.startsWith("data:"))continue;let f=c.slice(5).trim();if("[DONE]"!==f)try{let b=JSON.parse(f),c=b?.data?.[0]?.value;if(!c)continue;let i=JSON.parse(c),{content:j,reasoning:k,isDone:l}=r(i);if(k&&k.length>e.length){let b=k.slice(e.length);e=k,a.enqueue(V.encode((0,g.N9)({id:T,object:"chat.completion.chunk",created:U,model:L,choices:[{index:0,delta:{reasoning_content:b},finish_reason:null}]})))}if(j&&j.length>d.length){let b=j.slice(d.length);d=j,a.enqueue(V.encode((0,g.N9)({id:T,object:"chat.completion.chunk",created:U,model:L,choices:[{index:0,delta:{content:b},finish_reason:null}]})))}l&&!h&&(h=!0,a.enqueue(V.encode((0,g.N9)({id:T,object:"chat.completion.chunk",created:U,model:L,choices:[{index:0,delta:{},finish_reason:"stop"}]}))))}catch{}}}}catch(b){o?.aborted||a.error(b)}finally{h||o?.aborted||a.enqueue(V.encode((0,g.N9)({id:T,object:"chat.completion.chunk",created:U,model:L,choices:[{index:0,delta:{},finish_reason:"stop"}]})));try{b.releaseLock?.()}catch{}a.enqueue(V.encode(f.$U)),a.close()}}});return{response:new Response(X,{status:200,headers:{...f.uB}}),url:R,headers:S,transformedBody:Q}}}async function t(a,b){let c=a.getReader(),d=new TextDecoder,e="",f="",g="";try{for(;!b?.aborted;){let{done:a,value:b}=await c.read();if(a)break;let h=(e+=d.decode(b,{stream:!0})).split("\n");for(let a of(e=h.pop()||"",h)){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if("[DONE]"!==c)try{let a=JSON.parse(c),b=a?.data?.[0]?.value;if(!b)continue;let d=JSON.parse(b),{content:e,reasoning:h}=r(d);e.length>f.length&&(f=e),h.length>g.length&&(g=h)}catch{}}}}finally{try{c.releaseLock?.()}catch{}}return{content:f,reasoning:g}}},69505:(a,b,c)=>{c.d(b,{s:()=>q});var d=c(74957),e=c(35024),f=c(78959),g=c(92536);c(39609);var h=c(58643);let i=e.xq["claude-web"].baseUrl,j=`${i}/organizations`,k="claude-sonnet-4-6";function l(a,b,c){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",...c?{code:c}:{}}}),{status:a,headers:{"Content-Type":"application/json"}})}function m(a){let b={Accept:"text/event-stream","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9","Cache-Control":"no-cache","Content-Type":"application/json",Origin:"https://claude.ai",Pragma:"no-cache",Priority:"u=1, i",Referer:"https://claude.ai/new","Sec-Ch-Ua":'"Chromium";v="149", "Not-A.Brand";v="24", "Google Chrome";v="149"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"Linux"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36","anthropic-client-platform":"web_claude_ai"};return a&&(b["anthropic-device-id"]=a),b}async function n(a,b,c,d){try{let e=await (0,h.u5)(j,{method:"GET",headers:{...m(b),Cookie:a},signal:d},c);if(200!==e.status)return null;let f=await e.json().catch(()=>[]);return f?.[0]?.uuid||f?.[0]?.id||null}catch{return null}}async function*o(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;let g=(e+=d.decode(a,{stream:!0})).split("\n");for(let a of(e=g.pop()??"",g)){let b,c=a.trim();if(c.startsWith("data: ")){try{b=JSON.parse(c.slice(6))}catch{continue}if("content_block_delta"===b.type){let a=b.delta?.text;a&&(yield{delta:a})}else if("message_delta"===b.type)b.delta?.stop_reason&&(yield{stopReason:b.delta.stop_reason});else if("message_stop"===b.type)return void(yield{stopReason:"end_turn",done:!0})}}}let a=e.trim();if(a.startsWith("data: "))try{let b=JSON.parse(a.slice(6));"content_block_delta"===b.type&&b.delta?.text&&(yield{delta:b.delta.text})}catch{}}finally{try{c.releaseLock()}catch{}}yield{done:!0}}async function p(a,b,c,d,e,f){let g="";for await(let b of o(a,f))if(b.delta&&(g+=b.delta),b.stopReason&&b.stopReason,b.done)break;let h=Math.ceil(e/4),i=Math.ceil(g.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:null,choices:[{index:0,message:{role:"assistant",content:g},finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:h,completion_tokens:i,total_tokens:h+i}}),{status:200,headers:{"Content-Type":"application/json"}})}class q extends d.H{constructor(){super("claude-web",e.xq["claude-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:j,proxyOptions:q}){var r,s,t;let u,v,w,x,y=b||{};if(!d||"object"!=typeof d)return{response:l(400,"Invalid credentials","INVALID_REQUEST"),url:"",headers:{},transformedBody:y};let z=function(a){if(!a||"object"!=typeof a)return"";let b="string"==typeof a.cookie?a.cookie:"";if(b.trim())return b;let c="string"==typeof a.apiKey?a.apiKey:"";if(c.trim())return c;let d=a.providerSpecificData;return d&&"object"==typeof d&&"string"==typeof d.cookie&&d.cookie.trim()?d.cookie:""}(d);if(!z.trim())return{response:l(401,"Missing session cookie — paste your claude.ai cookies (need sessionKey=).","AUTH"),url:"",headers:{},transformedBody:y};let A=(x=(x=String(z||"").trim()).replace(/^cookie\s*:\s*/i,""),/sessionKey\s*=/.test(x)||x.includes("="))?x:`sessionKey=${x}`,B=function(a){if(!a||"object"!=typeof a)return;if("string"==typeof a.deviceId&&a.deviceId.trim())return a.deviceId;let b=a.providerSpecificData;if(b&&"object"==typeof b&&"string"==typeof b.deviceId&&b.deviceId.trim())return b.deviceId}(d);try{u=function(a,b){let c=Array.isArray(a?.messages)?a.messages:[],d="";for(let a of c)a&&"object"==typeof a&&"user"===a.role&&(d=String(a.content||""));if(!d.trim())throw Error("No user message found in request");return{prompt:d,model:b||k,timezone:"Asia/Jakarta",personalized_styles:[{type:"default",key:"Default",name:"Normal",nameKey:"normal_style_name",prompt:"Normal\n",summary:"Default responses from Claude",summaryKey:"normal_style_summary",isDefault:!0}],locale:"en-US",tools:[{name:"show_widget",description:"Display interactive widgets and visualizations",input_schema:{type:"object",properties:{widget_type:{type:"string",description:"Type of widget to display"}}},integration_name:"visualize",is_mcp_app:!0},{name:"read_me",description:"Read and reference documents",input_schema:{type:"object",properties:{file_path:{type:"string",description:"Path to the file to read"}}},integration_name:"visualize",is_mcp_app:!1},{type:"web_search_v0",name:"web_search"},{type:"artifacts_v0",name:"artifacts"},{type:"repl_v0",name:"repl"},{type:"widget",name:"weather_fetch"},{type:"widget",name:"recipe_display_v0"},{type:"widget",name:"places_map_display_v0"},{type:"widget",name:"message_compose_v1"},{type:"widget",name:"ask_user_input_v0"},{type:"widget",name:"recommend_claude_apps"},{type:"widget",name:"places_search"},{type:"widget",name:"fetch_sports_data"}],turn_message_uuids:{human_message_uuid:crypto.randomUUID(),assistant_message_uuid:crypto.randomUUID()},attachments:[],effort:"low",files:[],sync_sources:[],rendering_mode:"messages",thinking_mode:"off",create_conversation_params:{name:"",model:b||k,include_conversation_preferences:!0,paprika_mode:null,compass_mode:null,is_temporary:!1,enabled_imagine:!0,tool_search_mode:"auto"}}}(y,a)}catch(a){return{response:l(400,a?.message||"Invalid request format","INVALID_REQUEST"),url:"",headers:{},transformedBody:y}}let C=d.orgId;!C&&((C=await n(A,B,q,e))||j?.warn?.("CLAUDE-WEB","Could not retrieve organization ID — using the new-conversation endpoint."));let D=C?`${i}/organizations/${C}/chat_conversations/new/completion`:`${i}/chat_conversations/new/completion`,E={...m(B),Cookie:A};j?.debug?.("CLAUDE-WEB",`POST ${D} — ⚠️ Cloudflare will likely challenge a plain Node fetch.`);try{v=await (0,h.u5)(D,{method:"POST",headers:E,body:JSON.stringify(u),signal:e},q)}catch(a){if(a?.name==="AbortError")throw a;return j?.error?.("CLAUDE-WEB",`Fetch failed: ${a?.message||String(a)}`),{response:l(502,`Claude Web connection failed: ${!(r=a?.message||String(a))?"Unknown error":String(r).replace(/at\s+.*?\(.*?\)/g,"").replace(/\/[^\s:]+\/[\w.-]+/g,"<path>").replace(/\s+/g," ").trim().slice(0,300)||"Unknown error"}`),url:D,headers:E,transformedBody:u}}if(v.status<200||v.status>=300){let a,b,c=v.status,d="";try{d=(await v.text()).slice(0,2048)}catch{d=""}let e=v.headers.get?.("cf-mitigated"),f=403===c&&("challenge"===e||/<title>\s*Just a moment/i.test(d)||/<title>\s*Attention Required/i.test(d));if(f)a="Claude Web returned a Cloudflare bot-management challenge (cf-mitigated="+(e??"challenge")+"). The sandbox/VPS IP appears flagged; the cf_clearance cookie pasted from a residential IP won't pass, and ExtremeRouter has no TLS impersonation to satisfy it. Use the official Anthropic API (provider 'claude') instead.",b="cf_mitigated_challenge";else if(401===c)a="Session expired or invalid — re-paste your claude.ai sessionKey cookie.",b="AUTH";else if(429===c)a="Rate limited by Claude Web API.",b="RATE_LIMIT";else{let e=d.trim().slice(0,500);a=e?`Claude Web API error (${c}): ${e}`:`Claude Web API error (${c}) with no response body`,b=`HTTP_${c}`}return j?.warn?.("CLAUDE-WEB",`HTTP ${c}${f?" (Cloudflare challenge)":""}`),{response:l(c,a,b),url:D,headers:E,transformedBody:u}}if(!v.body)return{response:l(502,"Claude Web returned empty response body"),url:D,headers:E,transformedBody:u};let F=`chatcmpl-claude-web-${crypto.randomUUID().slice(0,12)}`,G=Math.floor(Date.now()/1e3),H=String(u.prompt||"").length;if(c){let b;w=new Response((s=v.body,t=a||k,b=new TextEncoder,new ReadableStream({async start(a){try{a.enqueue(b.encode((0,g.N9)({id:F,object:"chat.completion.chunk",created:G,model:t,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));for await(let c of o(s,e))if(c.delta&&a.enqueue(b.encode((0,g.N9)({id:F,object:"chat.completion.chunk",created:G,model:t,system_fingerprint:null,choices:[{index:0,delta:{content:c.delta},finish_reason:null,logprobs:null}]}))),c.stopReason&&c.stopReason,c.done)break;a.enqueue(b.encode((0,g.N9)({id:F,object:"chat.completion.chunk",created:G,model:t,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),a.enqueue(b.encode(f.$U))}catch(c){a.enqueue(b.encode((0,g.N9)({id:F,object:"chat.completion.chunk",created:G,model:t,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${c?.message||String(c)}]`},finish_reason:"stop",logprobs:null}]}))),a.enqueue(b.encode(f.$U))}finally{try{a.close()}catch{}}}})),{status:200,headers:{...f.uB}})}else w=await p(v.body,a||k,F,G,H,e);return{response:w,url:D,headers:E,transformedBody:u}}}},70898:(a,b,c)=>{c.d(b,{d:()=>k});var d=c(77598),e=c(74957),f=c(78959),g=c(92536),h=c(39609);let i="https://labs.inxorastudio.com";function j(a,b,c="INXORA_ERROR"){return new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:c}}),{status:a,headers:{"Content-Type":"application/json"}})}class k extends e.H{constructor(){super("inxorastudio-web",null)}async execute({model:a,body:b,stream:c,credentials:e,signal:k,log:m,proxyOptions:n=null}){let o,p,q,r=((q=String(e?.apiKey||"").trim()).toLowerCase().startsWith("bearer ")&&(q=q.slice(7).trim()),q.toLowerCase().startsWith("cookie:")&&(q=q.replace(/^cookie:\s*/i,"").trim()),q);if(!r)return{response:j(401,"InxoraStudio: no token provided. Log in at labs.inxorastudio.com and copy the Bearer JWT from DevTools."),url:i,headers:{},transformedBody:b};let s=b?.messages||[],t=s.filter(a=>"user"===a.role),u=s.filter(a=>"system"===a.role),v=t[t.length-1],w="string"==typeof v?.content?v.content:Array.isArray(v?.content)?v.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):"";if(!w.trim())return{response:j(400,"InxoraStudio: request has no user message content."),url:i,headers:{},transformedBody:b};let x=u.length>0?"string"==typeof u[0].content?u[0].content:"":null,y=x?`${x}
265
263
 
266
- ${w}`:w,z=a||"ixlabs/gpt-5.5",A={"Content-Type":"application/json",Accept:"*/*",Authorization:`Bearer ${r}`,Origin:i,Referer:`${i}/dashboard`,"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36"};try{m?.info?.("INXORA",`create conversation model=${z} len=${y.length}`);let a=await (0,h.proxyAwareFetch)(`${i}/api/conversations`,{method:"POST",headers:A,body:JSON.stringify({model:z}),signal:k},n);if(401===a.status||403===a.status)return{response:j(401,"InxoraStudio: token is invalid or expired — re-copy from labs.inxorastudio.com DevTools."),url:`${i}/api/conversations`,headers:A,transformedBody:b};if(!a.ok){let c=await a.text().catch(()=>"");return{response:j(a.status,`InxoraStudio create conversation failed: ${c.slice(0,300)}`),url:`${i}/api/conversations`,headers:A,transformedBody:b}}let c=await a.json().catch(()=>null);if(!(o=c?.id))return{response:j(502,"InxoraStudio: conversation creation returned no id."),url:`${i}/api/conversations`,headers:A,transformedBody:b}}catch(a){if("AbortError"===a.name)throw a;return{response:j(502,`InxoraStudio create conversation error: ${a?.message||a}`),url:`${i}/api/conversations`,headers:A,transformedBody:b}}let B=`${i}/api/conversations/${o}/messages/stream`,C={content:y,model:z,mode:"deep",search:!1,attachments:[]};try{m?.debug?.("INXORA",`stream to conversation ${o}`),p=await (0,h.proxyAwareFetch)(B,{method:"POST",headers:A,body:JSON.stringify(C),signal:k},n)}catch(a){if("AbortError"===a.name)throw a;return{response:j(502,`InxoraStudio stream fetch failed: ${a?.message||a}`),url:B,headers:A,transformedBody:C}}if(401===p.status||403===p.status)return{response:j(401,"InxoraStudio: token is invalid or expired."),url:B,headers:A,transformedBody:C};if(!p.ok){let a=await p.text().catch(()=>"");return{response:j(p.status,`InxoraStudio stream error: ${a.slice(0,300)}`),url:B,headers:A,transformedBody:C}}if(!p.body)return{response:j(502,"InxoraStudio: empty stream body"),url:B,headers:A,transformedBody:C};let D=`chatcmpl-ix-${(0,d.randomUUID)().slice(0,12)}`,E=Math.floor(Date.now()/1e3);if(!c){let{content:a,usage:b}=await l(p.body,k),c=b?.inputTokens||Math.ceil(y.length/4),d=b?.outputTokens||Math.ceil(a.length/4);return{response:new Response(JSON.stringify({id:D,object:"chat.completion",created:E,model:z,choices:[{index:0,message:{role:"assistant",content:a},finish_reason:"stop"}],usage:{prompt_tokens:c,completion_tokens:d,total_tokens:c+d}}),{headers:{"Content-Type":"application/json"}}),url:B,headers:A,transformedBody:C}}let F=new TextEncoder,G=new TextDecoder,H=new ReadableStream({async start(a){let b=p.body.getReader(),c="";a.enqueue(F.encode((0,g.N9)({id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})));try{for(;!k?.aborted;){let{done:d,value:e}=await b.read();if(d)break;let f=(c+=G.decode(e,{stream:!0})).split("\n");for(let b of(c=f.pop()||"",f)){let c=b.trim();if(!c.startsWith("data: "))continue;let d=c.slice(6);if("[DONE]"!==d)try{let b=JSON.parse(d),c=b?.t,e=b?.d;if("chunk"===c&&"string"==typeof e)a.enqueue(F.encode((0,g.N9)({id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{content:e},finish_reason:null}]})));else if("done"===c){let b=e?.assistantMessage,c={id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{},finish_reason:"stop"}]};Number.isFinite(b?.inputTokens)&&Number.isFinite(b?.outputTokens)&&(c.usage={prompt_tokens:b.inputTokens,completion_tokens:b.outputTokens,total_tokens:b.tokens||b.inputTokens+b.outputTokens}),a.enqueue(F.encode((0,g.N9)(c)))}}catch{}}}}catch(b){if(!k?.aborted)return void a.error(b)}finally{try{a.enqueue(F.encode(f.$U)),a.close()}catch{}}}});return{response:new Response(H,{status:200,headers:{...f.uB}}),url:B,headers:A,transformedBody:C}}}async function l(a,b){let c=a.getReader(),d=new TextDecoder,e="",f="",g=null;try{for(;!b?.aborted;){let{done:a,value:b}=await c.read();if(a)break;let h=(e+=d.decode(b,{stream:!0})).split("\n");for(let a of(e=h.pop()||"",h)){let b=a.trim();if(!b.startsWith("data: "))continue;let c=b.slice(6);if("[DONE]"!==c)try{let a=JSON.parse(c);if(a?.t==="chunk"&&"string"==typeof a.d)f+=a.d;else if(a?.t==="done"&&a.d?.assistantMessage){let b=a.d.assistantMessage;g={inputTokens:b.inputTokens,outputTokens:b.outputTokens,tokens:b.tokens}}}catch{}}}}finally{c.releaseLock()}return{content:f,usage:g}}},71750:(a,b,c)=>{c.d(b,{b:()=>g,n:()=>f});let d=["user-agent","anthropic-beta","anthropic-version","anthropic-dangerous-direct-browser-access","x-app","x-stainless-helper-method","x-stainless-retry-count","x-stainless-runtime-version","x-stainless-package-version","x-stainless-runtime","x-stainless-lang","x-stainless-arch","x-stainless-os","x-stainless-timeout","x-claude-code-session-id","package-version","runtime-version","os","arch"],e=null;function f(a){let b,c;if(!a||"object"!=typeof a||(b=(a["user-agent"]||"").toLowerCase(),c=(a["x-app"]||"").toLowerCase(),!(b.includes("claude-cli")||b.includes("claude-code"))&&"cli"!==c))return;let f={};for(let b of d)void 0!==a[b]&&null!==a[b]&&(f[b]=a[b]);Object.keys(f).length>0&&(e=f,console.log(`[ClaudeHeaders] Cached ${Object.keys(f).length} identity headers from Claude Code client`))}function g(){return e}},72978:(a,b,c)=>{c.d(b,{c:()=>f});var d=c(96179),e=c(35024);class f extends d.L{constructor(a="aihorde"){super(a,e.xq[a]||e.xq.openai)}async execute(a){let b=a.credentials||{};return b.apiKey||b.accessToken||(b.apiKey="0000000000"),super.execute(a)}}},73870:(a,b,c)=>{c.d(b,{w:()=>k});var d=c(74957),e=c(35024),f=c(8521),g=c(39609);let h=new Map;function i(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 j(a){if(h.has(a))return h.get(a);let b=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&h.set(a,e),e}class k extends d.H{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=i(d?.apiKey),h=!!e||!!g||!!d?.accessToken,j=h?null:d?.apiKey,k=e?.project_id||g?.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 l=b?"streamGenerateContent":"generateContent";if(h){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||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/${c}/publishers/google/models/${a}:${l}`;return b&&(e+="?alt=sse"),e}let m=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${l}`;return b&&(m+="?alt=sse"),j&&(m+=b?`&key=${j}`:`?key=${j}`),m}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,f.Sc)(a?.apiKey);if(!c)return null;let d=await (0,f.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:k=null}){let l=(0,f.Sc)(d?.apiKey),m=i(d?.apiKey);if(l){let a=await (0,f.pb)(l,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if(m){let a=await (0,f.I9)(m.refresh_token,m.client_id,m.client_secret,h);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&&!l&&!m&&!d?.providerSpecificData?.projectId){let a=await j(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let n=this.buildUrl(a,c,0,d),o=this.buildHeaders(d,c),p=this.transformRequest(a,b,c,d);return{response:await (0,g.proxyAwareFetch)(n,{method:"POST",headers:o,body:JSON.stringify(p),signal:e},k),url:n,headers:o,transformedBody:p}}}},76467:(a,b,c)=>{c.d(b,{B:()=>k});var d=c(74957),e=c(35024),f=c(6382),g=c(94755),h=c(8521),i=c(78959),j=c(66306);class k extends d.H{constructor(){super("kiro",e.xq.kiro)}buildHeaders(a,b=!0){let c={...this.config.headers,"Amz-Sdk-Request":"attempt=1; max=3","Amz-Sdk-Invocation-Id":(0,g.A)()},d=a?.providerSpecificData?.authMethod,e="api_key"===d,f=a?.apiKey||(e?a?.accessToken:null);return e&&f?(c.Authorization=`Bearer ${f}`,c.tokentype="API_KEY"):a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`,"external_idp"===d&&(c.TokenType="EXTERNAL_IDP")),c}getOrderedBaseUrls(a){let b=this.getBaseUrls(),c=a?.providerSpecificData?.authMethod;if("api_key"!==c&&"external_idp"!==c&&"idc"!==c)return b;let d=(a?.providerSpecificData?.region||"us-east-1").trim(),e=b.filter(a=>a.includes("amazonaws.com")).map(a=>d&&"us-east-1"!==d&&a.includes("amazonaws.com")?a.replace(/([a-z]+)\.[a-z0-9-]+\.amazonaws\.com/,`$1.${d}.amazonaws.com`):a),f=b.filter(a=>!a.includes("amazonaws.com"));return e.length>0?[...e,...f]:b}buildUrl(a,b,c=0,d=null){let e=this.getOrderedBaseUrls(d);return e[c]||e[0]||this.config.baseUrl}transformRequest(a,b,c,d){return b}async execute(a){this._lastCredentials=a?.credentials||{};let b=await super.execute(a);return b?.response?.ok&&(b.response=this.transformEventStreamToSSE(b.response,a.model)),b}transformEventStreamToSSE(a,b){let c=new Uint8Array(0),d=0,e=`chatcmpl-${Date.now()}`,g=Math.floor(Date.now()/1e3),h=(0,f.$D)(b).upstream,k=(0,j.nl)("kiro",h).contextWindow||2e5,l={endDetected:!1,finishEmitted:!1,hasToolCalls:!1,hasReasoningContent:!1,reasoningChunkCount:0,toolCallIndex:0,seenToolIds:new Map,inThinking:!1},m=new TransformStream({async transform(a,f){let h=d,i=new Uint8Array(c.length+a.length);i.set(c),i.set(a,c.length),c=i;let j=0;for(;c.length>=16&&j<1e3;){j++;let a=new DataView(c.buffer,c.byteOffset).getUint32(0,!1);if(a<16||a>c.length||c.length<a)break;let h=c.slice(0,a);c=c.slice(a);let i=function(a){try{let b=new DataView(a.buffer,a.byteOffset).getUint32(4,!1),c={},d=12,e=12+b;for(;d<e&&d<a.length;){let b=a[d];if(++d+b>a.length)break;let e=new TextDecoder().decode(a.slice(d,d+b)),f=a[d+=b];if(d++,7===f){let b=a[d]<<8|a[d+1];if((d+=2)+b>a.length)break;let f=new TextDecoder().decode(a.slice(d,d+b));d+=b,c[e]=f}else break}let f=12+b,g=a.length-4,h=null;if(g>f){let b=new TextDecoder().decode(a.slice(f,g));if(!b||!b.trim())return{headers:c,payload:null};try{h=JSON.parse(b)}catch(a){console.warn(`[Kiro] Failed to parse payload: ${a.message} | payload: ${b.substring(0,100)}`),h={raw:b}}}return{headers:c,payload:h}}catch{return null}}(h);if(!i)continue;let m=i.headers[":event-type"]||"";if(l.totalContentLength||(l.totalContentLength=0),l.contextUsagePercentage||(l.contextUsagePercentage=0),"assistantResponseEvent"===m&&i.payload?.content){let a=i.payload.content;if(l.inThinking)if(a.includes("</thinking>")){l.inThinking=!1;let b=a.split("</thinking>").slice(1).join("</thinking>");a=b.startsWith("\n")?b.substring(1):b}else a="";else if(a.includes("<thinking>"))if(l.inThinking=!0,a.includes("</thinking>")){l.inThinking=!1;let b=a.split("<thinking>")[0],c=a.split("</thinking>").slice(1).join("</thinking>");a=b+(c.startsWith("\n")?c.substring(1):c)}else a=a.split("<thinking>")[0];if(!a&&l.hasReasoningContent)continue;l.totalContentLength+=a.length;let c={id:e,object:"chat.completion.chunk",created:g,model:b,choices:[{index:0,delta:0===d?{role:"assistant",content:a}:{content:a},finish_reason:null}]};d++,f.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(c)}
264
+ ${w}`:w,z=a||"ixlabs/gpt-5.5",A={"Content-Type":"application/json",Accept:"*/*",Authorization:`Bearer ${r}`,Origin:i,Referer:`${i}/dashboard`,"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36"};try{m?.info?.("INXORA",`create conversation model=${z} len=${y.length}`);let a=await (0,h.proxyAwareFetch)(`${i}/api/conversations`,{method:"POST",headers:A,body:JSON.stringify({model:z}),signal:k},n);if(401===a.status||403===a.status)return{response:j(401,"InxoraStudio: token is invalid or expired — re-copy from labs.inxorastudio.com DevTools."),url:`${i}/api/conversations`,headers:A,transformedBody:b};if(!a.ok){let c=await a.text().catch(()=>"");return{response:j(a.status,`InxoraStudio create conversation failed: ${c.slice(0,300)}`),url:`${i}/api/conversations`,headers:A,transformedBody:b}}let c=await a.json().catch(()=>null);if(!(o=c?.id))return{response:j(502,"InxoraStudio: conversation creation returned no id."),url:`${i}/api/conversations`,headers:A,transformedBody:b}}catch(a){if("AbortError"===a.name)throw a;return{response:j(502,`InxoraStudio create conversation error: ${a?.message||a}`),url:`${i}/api/conversations`,headers:A,transformedBody:b}}let B=`${i}/api/conversations/${o}/messages/stream`,C={content:y,model:z,mode:"deep",search:!1,attachments:[]};try{m?.debug?.("INXORA",`stream to conversation ${o}`),p=await (0,h.proxyAwareFetch)(B,{method:"POST",headers:A,body:JSON.stringify(C),signal:k},n)}catch(a){if("AbortError"===a.name)throw a;return{response:j(502,`InxoraStudio stream fetch failed: ${a?.message||a}`),url:B,headers:A,transformedBody:C}}if(401===p.status||403===p.status)return{response:j(401,"InxoraStudio: token is invalid or expired."),url:B,headers:A,transformedBody:C};if(!p.ok){let a=await p.text().catch(()=>"");return{response:j(p.status,`InxoraStudio stream error: ${a.slice(0,300)}`),url:B,headers:A,transformedBody:C}}if(!p.body)return{response:j(502,"InxoraStudio: empty stream body"),url:B,headers:A,transformedBody:C};let D=`chatcmpl-ix-${(0,d.randomUUID)().slice(0,12)}`,E=Math.floor(Date.now()/1e3);if(!c){let{content:a,usage:b}=await l(p.body,k),c=b?.inputTokens||Math.ceil(y.length/4),d=b?.outputTokens||Math.ceil(a.length/4);return{response:new Response(JSON.stringify({id:D,object:"chat.completion",created:E,model:z,choices:[{index:0,message:{role:"assistant",content:a},finish_reason:"stop"}],usage:{prompt_tokens:c,completion_tokens:d,total_tokens:c+d}}),{headers:{"Content-Type":"application/json"}}),url:B,headers:A,transformedBody:C}}let F=new TextEncoder,G=new TextDecoder,H=new ReadableStream({async start(a){let b=p.body.getReader(),c="";a.enqueue(F.encode((0,g.N9)({id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})));try{for(;!k?.aborted;){let{done:d,value:e}=await b.read();if(d)break;let f=(c+=G.decode(e,{stream:!0})).split("\n");for(let b of(c=f.pop()||"",f)){let c=b.trim();if(!c.startsWith("data: "))continue;let d=c.slice(6);if("[DONE]"!==d)try{let b=JSON.parse(d),c=b?.t,e=b?.d;if("chunk"===c&&"string"==typeof e)a.enqueue(F.encode((0,g.N9)({id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{content:e},finish_reason:null}]})));else if("done"===c){let b=e?.assistantMessage,c={id:D,object:"chat.completion.chunk",created:E,model:z,choices:[{index:0,delta:{},finish_reason:"stop"}]};Number.isFinite(b?.inputTokens)&&Number.isFinite(b?.outputTokens)&&(c.usage={prompt_tokens:b.inputTokens,completion_tokens:b.outputTokens,total_tokens:b.tokens||b.inputTokens+b.outputTokens}),a.enqueue(F.encode((0,g.N9)(c)))}}catch{}}}}catch(b){if(!k?.aborted)return void a.error(b)}finally{try{a.enqueue(F.encode(f.$U)),a.close()}catch{}}}});return{response:new Response(H,{status:200,headers:{...f.uB}}),url:B,headers:A,transformedBody:C}}}async function l(a,b){let c=a.getReader(),d=new TextDecoder,e="",f="",g=null;try{for(;!b?.aborted;){let{done:a,value:b}=await c.read();if(a)break;let h=(e+=d.decode(b,{stream:!0})).split("\n");for(let a of(e=h.pop()||"",h)){let b=a.trim();if(!b.startsWith("data: "))continue;let c=b.slice(6);if("[DONE]"!==c)try{let a=JSON.parse(c);if(a?.t==="chunk"&&"string"==typeof a.d)f+=a.d;else if(a?.t==="done"&&a.d?.assistantMessage){let b=a.d.assistantMessage;g={inputTokens:b.inputTokens,outputTokens:b.outputTokens,tokens:b.tokens}}}catch{}}}}finally{c.releaseLock()}return{content:f,usage:g}}},71750:(a,b,c)=>{c.d(b,{b:()=>g,n:()=>f});let d=["user-agent","anthropic-beta","anthropic-version","anthropic-dangerous-direct-browser-access","x-app","x-stainless-helper-method","x-stainless-retry-count","x-stainless-runtime-version","x-stainless-package-version","x-stainless-runtime","x-stainless-lang","x-stainless-arch","x-stainless-os","x-stainless-timeout","x-claude-code-session-id","package-version","runtime-version","os","arch"],e=null;function f(a){let b,c;if(!a||"object"!=typeof a||(b=(a["user-agent"]||"").toLowerCase(),c=(a["x-app"]||"").toLowerCase(),!(b.includes("claude-cli")||b.includes("claude-code"))&&"cli"!==c))return;let f={};for(let b of d)void 0!==a[b]&&null!==a[b]&&(f[b]=a[b]);Object.keys(f).length>0&&(e=f,console.log(`[ClaudeHeaders] Cached ${Object.keys(f).length} identity headers from Claude Code client`))}function g(){return e}},72978:(a,b,c)=>{c.d(b,{c:()=>f});var d=c(96179),e=c(35024);class f extends d.L{constructor(a="aihorde"){super(a,e.xq[a]||e.xq.openai)}async execute(a){let b=a.credentials||{};return b.apiKey||b.accessToken||(b.apiKey="0000000000"),super.execute(a)}}},73870:(a,b,c)=>{c.d(b,{w:()=>k});var d=c(74957),e=c(35024),f=c(8521),g=c(39609);let h=new Map;function i(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 j(a){if(h.has(a))return h.get(a);let b=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&h.set(a,e),e}class k extends d.H{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=i(d?.apiKey),h=!!e||!!g||!!d?.accessToken,j=h?null:d?.apiKey,k=e?.project_id||g?.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 l=b?"streamGenerateContent":"generateContent";if(h){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||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/${c}/publishers/google/models/${a}:${l}`;return b&&(e+="?alt=sse"),e}let m=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${l}`;return b&&(m+="?alt=sse"),j&&(m+=b?`&key=${j}`:`?key=${j}`),m}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,f.Sc)(a?.apiKey);if(!c)return null;let d=await (0,f.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:k=null}){let l=(0,f.Sc)(d?.apiKey),m=i(d?.apiKey);if(l){let a=await (0,f.pb)(l,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if(m){let a=await (0,f.I9)(m.refresh_token,m.client_id,m.client_secret,h);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&&!l&&!m&&!d?.providerSpecificData?.projectId){let a=await j(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let n=this.buildUrl(a,c,0,d),o=this.buildHeaders(d,c),p=this.transformRequest(a,b,c,d);return{response:await (0,g.proxyAwareFetch)(n,{method:"POST",headers:o,body:JSON.stringify(p),signal:e},k),url:n,headers:o,transformedBody:p}}}},74161:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(84664);let e=[401,403,404];class f extends d.aS{constructor(a="zcode"){super(a)}buildHeaders(a,b=!0,c=null,d=null,e=0){let f=a?.providerSpecificData?.codingApiKey,g=e>=1&&f?{...a,apiKey:f}:a,h=super.buildHeaders(g,b,c,d),i=h["x-api-key"];return i&&!h.Authorization&&(h.Authorization=`Bearer ${i}`),h}buildUrl(a,b,c=0,d=null){let e=this.getBaseUrls(),f=e[c]||e[0];return f||super.buildUrl(a,b,c,d)}async execute(a){return this._lastCredentials=a?.credentials||{},this._startPlanCaptchaBlocked=!1,super.execute(a)}shouldRetry(a,b){return e.includes(a)?b+1<this.getFallbackCount():400===a&&0===b?!!(b+1<this.getFallbackCount()&&this._lastCredentials?.providerSpecificData?.codingApiKey)&&(this._startPlanCaptchaBlocked=!0,!0):super.shouldRetry(a,b)}parseError(a,b){let c={status:a.status,message:b||`HTTP ${a.status}`};if(this._startPlanCaptchaBlocked)return{...c,message:`${c.message} (Note: the ZCode Start Plan endpoint was skipped — it requires Aliyun captcha attestation only the ZCode desktop app provides, so Start Plan quota cannot be routed through a gateway. Route access needs a GLM Coding Plan key with an active plan.)`};if(400!==a.status)return c;try{let c=JSON.parse(b),d=String(c?.msg||"");if(c?.code===3007||/captcha/i.test(d))return{status:a.status,message:"ZCode Start Plan endpoint requires Aliyun captcha attestation that only the ZCode desktop app can provide (it solves the captcha and attaches X-Aliyun-Captcha-Verify-Param). Start Plan quota cannot be routed through a gateway — use a GLM Coding Plan key (id.secret from api.z.ai or open.bigmodel.cn) for ExtremeRouter access."}}catch{}return c}}},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(53552);let k=[401,403,404];function l(a){return"api_key"!==a&&"external_idp"!==a&&"idc"!==a}class m extends d.H{constructor(){super("kiro",e.xq.kiro)}buildHeaders(a,b=!0){let c={...this.config.headers,"Amz-Sdk-Request":"attempt=1; max=3","Amz-Sdk-Invocation-Id":(0,g.A)()},d=a?.providerSpecificData?.authMethod,e="api_key"===d,f=a?.apiKey||(e?a?.accessToken:null);return e&&f?(c.Authorization=`Bearer ${f}`,c.tokentype="API_KEY"):a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`,"external_idp"===d&&(c.TokenType="EXTERNAL_IDP")),c}getOrderedBaseUrls(a){let b=this.getBaseUrls();if(l(a?.providerSpecificData?.authMethod))return b;let c=(a?.providerSpecificData?.region||"us-east-1").trim(),d=b.filter(a=>a.includes("amazonaws.com")).map(a=>c&&"us-east-1"!==c&&a.includes("amazonaws.com")?a.replace(/([a-z]+)\.[a-z0-9-]+\.amazonaws\.com/,`$1.${c}.amazonaws.com`):a),e=b.filter(a=>!a.includes("amazonaws.com"));return d.length>0?[...d,...e]:b}shouldRetry(a,b){if(k.includes(a)){let a=this._lastCredentials||{};if(l(a?.providerSpecificData?.authMethod)){var c;let d=this.getOrderedBaseUrls(a);if("string"==typeof(c=d[b]||"")&&c.includes("runtime.us-east-1.kiro.dev")&&b+1<d.length)return!0}return!1}return super.shouldRetry(a,b)}buildUrl(a,b,c=0,d=null){let e=this.getOrderedBaseUrls(d);return e[c]||e[0]||this.config.baseUrl}transformRequest(a,b,c,d){return b}async execute(a){this._lastCredentials=a?.credentials||{};let b=await super.execute(a);return b?.response?.ok&&(b.response=this.transformEventStreamToSSE(b.response,a.model)),b}transformEventStreamToSSE(a,b){let c=new Uint8Array(0),d=0,e=`chatcmpl-${Date.now()}`,g=Math.floor(Date.now()/1e3),h=(0,f.$D)(b).upstream,k=(0,j.getCapabilitiesForModel)("kiro",h).contextWindow||2e5,l={endDetected:!1,finishEmitted:!1,hasToolCalls:!1,hasReasoningContent:!1,reasoningChunkCount:0,toolCallIndex:0,seenToolIds:new Map,inThinking:!1},m=new TransformStream({async transform(a,f){let h=d,i=new Uint8Array(c.length+a.length);i.set(c),i.set(a,c.length),c=i;let j=0;for(;c.length>=16&&j<1e3;){j++;let a=new DataView(c.buffer,c.byteOffset).getUint32(0,!1);if(a<16||a>c.length||c.length<a)break;let h=c.slice(0,a);c=c.slice(a);let i=function(a){try{let b=new DataView(a.buffer,a.byteOffset).getUint32(4,!1),c={},d=12,e=12+b;for(;d<e&&d<a.length;){let b=a[d];if(++d+b>a.length)break;let e=new TextDecoder().decode(a.slice(d,d+b)),f=a[d+=b];if(d++,7===f){let b=a[d]<<8|a[d+1];if((d+=2)+b>a.length)break;let f=new TextDecoder().decode(a.slice(d,d+b));d+=b,c[e]=f}else break}let f=12+b,g=a.length-4,h=null;if(g>f){let b=new TextDecoder().decode(a.slice(f,g));if(!b||!b.trim())return{headers:c,payload:null};try{h=JSON.parse(b)}catch(a){console.warn(`[Kiro] Failed to parse payload: ${a.message} | payload: ${b.substring(0,100)}`),h={raw:b}}}return{headers:c,payload:h}}catch{return null}}(h);if(!i)continue;let m=i.headers[":event-type"]||"";if(l.totalContentLength||(l.totalContentLength=0),l.contextUsagePercentage||(l.contextUsagePercentage=0),"assistantResponseEvent"===m&&i.payload?.content){let a=i.payload.content;if(l.inThinking)if(a.includes("</thinking>")){l.inThinking=!1;let b=a.split("</thinking>").slice(1).join("</thinking>");a=b.startsWith("\n")?b.substring(1):b}else a="";else if(a.includes("<thinking>"))if(l.inThinking=!0,a.includes("</thinking>")){l.inThinking=!1;let b=a.split("<thinking>")[0],c=a.split("</thinking>").slice(1).join("</thinking>");a=b+(c.startsWith("\n")?c.substring(1):c)}else a=a.split("<thinking>")[0];if(!a&&l.hasReasoningContent)continue;l.totalContentLength+=a.length;let c={id:e,object:"chat.completion.chunk",created:g,model:b,choices:[{index:0,delta:0===d?{role:"assistant",content:a}:{content:a},finish_reason:null}]};d++,f.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(c)}
267
265
 
268
266
  `))}if("reasoningContentEvent"===m){let a=i.payload?.reasoningContentEvent||i.payload||{},c="string"==typeof a?a:a.text||a.content||"";if(c){l.hasReasoningContent=!0,l.totalContentLength+=c.length;let a={id:e,object:"chat.completion.chunk",created:g,model:b,choices:[{index:0,delta:0===l.reasoningChunkCount&&0===d?{role:"assistant",reasoning_content:c}:{reasoning_content:c},finish_reason:null}]};d++,l.reasoningChunkCount++,f.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(a)}
269
267
 
@@ -314,4 +312,6 @@ ${a}
314
312
  **Suggested follow-ups:**
315
313
  ${c.suggestions.map(a=>`- ${a}`).join("\n")}`});break;case"done":j.enqueue(n.encode((0,g.N9)({id:k,object:"chat.completion.chunk",created:l,model:h,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),j.enqueue(n.encode(f.$U)),u();break;case"error":v(c.error||"Copilot stream error")}}catch{}},p.onerror=a=>{let b=a?.message||"Copilot WebSocket error";v(b)},p.onclose=()=>u()}catch(a){v(a?.message||"Failed to connect to Copilot")}}})}({conversationId:r,prompt:E,mode:w,accessToken:y||void 0,signal:e,model:v,cid:G,created:H});if(!x)try{let a=I.getReader(),b=new TextDecoder,c="",d="";for(;;){let{done:e,value:f}=await a.read();if(e)break;for(let a of b.decode(f,{stream:!0}).split("\n")){if(!a.startsWith("data: "))continue;let b=a.slice(6).trim();if("[DONE]"!==b)try{let a=JSON.parse(b),e=a.choices?.[0]?.delta;e?.content&&("string"==typeof e.content?c+=e.content:c+=JSON.stringify(e.content)),e?.reasoning_content&&(d+=e.reasoning_content)}catch{}}}let e={role:"assistant",content:c||"(empty response)"};return d&&(e.reasoning_content=d),{response:new Response(JSON.stringify({id:G,object:"chat.completion",created:H,model:v,system_fingerprint:null,choices:[{index:0,message:e,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:Math.ceil(E.length/4),completion_tokens:Math.ceil(c.length/4),total_tokens:Math.ceil((E.length+c.length)/4)}}),{status:200,headers:{"Content-Type":"application/json"}}),url:j,headers:{},transformedBody:F}}catch(a){return q(502,a?.message||"Copilot non-streaming error",j,F)}return{response:new Response(I,{status:200,headers:{...f.uB}}),url:j,headers:{},transformedBody:F}}}},98492:(a,b,c)=>{c.d(b,{d:()=>m});var d=c(74957),e=c(35024),f=c(78959),g=c(92536);c(39609);var h=c(58643);let i=e.xq["gemini-web"].baseUrl,j="https://gemini.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate";function k(a,b){return new Response(JSON.stringify({error:{message:b,type:"upstream_error"}}),{status:a,headers:{"Content-Type":"application/json"}})}function l(a,b){for(let{name:c,value:d}of function(a){let b=[];if(!a)return b;for(let c of String(a).split(";")){let a=c.trim();if(!a)continue;let d=a.indexOf("=");if(-1===d)continue;let e=a.slice(0,d).trim(),f=a.slice(d+1).trim();e&&f&&(["path","domain","expires","max-age","secure","httponly","samesite"].includes(e.toLowerCase())||b.push({name:e,value:f}))}return b}(a))if(c===b)return d;return""}class m extends d.H{constructor(){super("gemini-web",e.xq["gemini-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:m,proxyOptions:n}){let o,p=b?.messages||[],q=d?.apiKey||d?.cookie||"";if(!q)return{response:k(401,"Missing Gemini cookies — paste your gemini.google.com cookies (need __Secure-1PSID + __Secure-1PSIDTS)."),url:i,headers:{},transformedBody:b};l(q,"__Secure-1PSID")&&l(q,"__Secure-1PSIDTS")||m?.warn?.("GEMINI-WEB","Cookie blob missing __Secure-1PSID / __Secure-1PSIDTS — request will likely fail.");let r=function(a){if(!Array.isArray(a))return"";for(let b=a.length-1;b>=0;b--){let c=a[b];if(c&&"user"===c.role){if("string"==typeof c.content)return c.content;if(Array.isArray(c.content))return c.content.map(a=>a&&"object"==typeof a&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n")}}return""}(p);if(!r.trim())return{response:k(400,"No user message found."),url:i,headers:{},transformedBody:b};let s={Accept:"*/*","Accept-Language":"en-US,en;q=0.9","Content-Type":"application/x-www-form-urlencoded;charset=utf-8",Origin:"https://gemini.google.com",Referer:i+"/","Sec-Ch-Ua":'"Chromium";v="149", "Not-A.Brand";v="24", "Google Chrome";v="149"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"Linux"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Cookie:q},t=[["f.req",JSON.stringify([[[JSON.stringify([null,[[r],null,null]])],null,null]])],["at",""]].map(([a,b])=>`${encodeURIComponent(a)}=${encodeURIComponent(b)}`).join("&");m?.info?.("GEMINI-WEB",`Direct StreamGenerate fetch (prompt len=${r.length}) — ⚠️ likely blocked by Google anti-bot without a browser fingerprint.`);try{o=await (0,h.u5)(j,{method:"POST",headers:s,body:t,signal:e},n)}catch(a){var u;if(a?.name==="AbortError")throw a;return m?.error?.("GEMINI-WEB",`Fetch failed: ${a?.message||String(a)}`),{response:k(502,`Gemini connection failed: ${!(u=a?.message||String(a))?"Unknown error":String(u).replace(/at\s+.*?\(.*?\)/g,"").replace(/\/[^\s:]+\/[\w.-]+/g,"<path>").replace(/\s+/g," ").trim().slice(0,300)||"Unknown error"}`),url:j,headers:s,transformedBody:b}}if(403===o.status||401===o.status){let a="";try{a=(await o.text()).slice(0,300)}catch{}return m?.warn?.("GEMINI-WEB",`HTTP ${o.status} (anti-bot likely). detail=${a.replace(/\s+/g," ").slice(0,200)}`),{response:k(o.status,"Gemini blocked the request (HTTP "+o.status+"). This is almost always Google's anti-bot rejecting the non-browser TLS fingerprint — your cookies are probably still valid. ExtremeRouter cannot impersonate a browser, so this provider is unlikely to work without a browser-backed bridge."),url:j,headers:s,transformedBody:b}}if(!o.ok){let a="";try{a=(await o.text()).slice(0,300)}catch{}return m?.warn?.("GEMINI-WEB",`HTTP ${o.status}. detail=${a.replace(/\s+/g," ").slice(0,200)}`),{response:k(o.status,`Gemini returned HTTP ${o.status}${a?`: ${a}`:""}`),url:j,headers:s,transformedBody:b}}let v=function(a){for(let b of String(a||"").split("\n")){let a,c,d=b.trim();if(!d||")]}'"===d||/^\d+$/.test(d))continue;try{a=JSON.parse(d)}catch{continue}if(!Array.isArray(a)||!a[0]||"wrb.fr"!==a[0][0])continue;let e=a[0][2];if("string"!=typeof e)continue;try{c=JSON.parse(e)}catch{continue}let f=c?.[4]?.[0]?.[1];if(!Array.isArray(f))continue;let g=f.filter(a=>"string"==typeof a).join("");if(g)return g}return""}(await o.text().catch(()=>""));if(!v)return m?.warn?.("GEMINI-WEB","StreamGenerate returned 200 but no parseable text (anti-bot likely returned an empty/garbled body)."),{response:k(502,"No response text from Gemini. The request likely returned an empty/anti-bot body even though the HTTP status was 200 — this provider needs a real browser to work."),url:j,headers:s,transformedBody:b};let w=a||"gemini-2.5-pro",x=`chatcmpl-gemini-web-${crypto.randomUUID().slice(0,12)}`,y=Math.floor(Date.now()/1e3);if(c){let a=new TextEncoder;return{response:new Response(new ReadableStream({start(b){b.enqueue(a.encode((0,g.N9)({id:x,object:"chat.completion.chunk",created:y,model:w,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]}))),b.enqueue(a.encode((0,g.N9)({id:x,object:"chat.completion.chunk",created:y,model:w,system_fingerprint:null,choices:[{index:0,delta:{content:v},finish_reason:null,logprobs:null}]}))),b.enqueue(a.encode((0,g.N9)({id:x,object:"chat.completion.chunk",created:y,model:w,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),b.enqueue(a.encode(f.$U)),b.close()}}),{status:200,headers:{...f.uB}}),url:j,headers:s,transformedBody:b}}let z=Math.ceil(r.length/4),A=Math.ceil(v.length/4);return{response:new Response(JSON.stringify({id:x,object:"chat.completion",created:y,model:w,system_fingerprint:null,choices:[{index:0,message:{role:"assistant",content:v},finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:z,completion_tokens:A,total_tokens:z+A}}),{status:200,headers:{"Content-Type":"application/json"}}),url:j,headers:s,transformedBody:b}}}},98587:(a,b,c)=>{c.d(b,{$C:()=>H});var d=c(77598),e=c(74957),f=c(35024),g=c(18377),h=c(14973);async function i(a,b,c){let d=await (c.fetchImpl??fetch)(a,{method:"POST",headers:{...c.buildHeaders(c.sessionId),"content-type":"application/json"},body:JSON.stringify(b),signal:c.signal??void 0});return await d.body?.cancel().catch(()=>void 0),!!d.ok||(c.onWarning?.(`Conol session model update failed (HTTP ${d.status}) for ${JSON.stringify(b)}`),!1)}async function j(a){var b;let c=(b=a.sessionId,`https://conol.ai/api/sessions/${encodeURIComponent(b)}/model`),d={presetApplied:!1,modelApplied:!1,effortApplied:null};return a.skipPreset||(d.presetApplied=await i(c,a.plan.preset,a)),d.modelApplied=await i(c,a.plan.model,a),d.modelApplied&&a.plan.effort&&await i(c,a.plan.effort,a)&&(d.effortApplied=a.plan.effort.agentEffort),d}var k=c(88556);class l extends Error{constructor(a,b=400){super(a),this.name="ConolImageError",this.status=b}}async function m(a){let b=a;for(let a=0;a<=3;a++){let a,c=function(a){try{return(0,k.P)(a),new URL(a)}catch{throw new l("Image URL is invalid or points to a blocked address.")}}(b),d=new AbortController,e=setTimeout(()=>d.abort(),15e3);try{a=await fetch(c.toString(),{method:"GET",signal:d.signal,redirect:"manual"})}catch{throw clearTimeout(e),new l("Could not fetch the image URL.")}try{if(a.status>=300&&a.status<400){let d=a.headers.get("location");if(!d)throw new l("Image URL redirect is missing a destination.");try{b=new URL(d,c.toString()).toString()}catch{throw new l("Image URL redirect destination is invalid.")}continue}if(!a.ok)throw new l(`Could not fetch the image URL (status ${a.status}).`);let d=(a.headers.get("content-type")||"").toLowerCase().split(";")[0].trim();if(!d.startsWith("image/"))throw new l("Image URL did not return an image content type.");let e=Number(a.headers.get("content-length")||"0");if(Number.isFinite(e)&&e>1048576)throw new l("Image input is too large (max 1 MiB). Resize and retry.");return{data:await n(a,1048576),mimeType:d}}finally{clearTimeout(e)}}throw new l("Image URL has too many redirects.")}async function n(a,b){let c=a.body;if(!c)return Buffer.alloc(0);let d=[],e=0,f=a=>{if((e+=a.byteLength)>b)throw new l("Image input is too large (max 1 MiB). Resize and retry.");d.push(Buffer.from(a))};if("function"==typeof c[Symbol.asyncIterator]){for await(let a of c)f(a);return Buffer.concat(d,e)}if("function"==typeof c.getReader){let a=c.getReader();try{for(;;){let{done:b,value:c}=await a.read();if(b)break;c&&f(c)}}finally{try{await a.cancel()}catch{}}return Buffer.concat(d,e)}let g=Buffer.from(await a.arrayBuffer());if(g.length>b)throw new l("Image input is too large (max 1 MiB). Resize and retry.");return g}async function o(a){if(a.length>12)throw new l("Too many images in one request (max 12).");let b=[];for(let c of a){if("string"!=typeof c||!c)throw new l("Image URL is missing.");let{data:a,mimeType:d}=c.toLowerCase().startsWith("data:")?function(a){let b,c=a.indexOf(",");if(c<0)throw new l("Image data URL is malformed.");let d=a.slice(5,c),e=a.slice(c+1),f=/;base64/i.test(d),g=(d.split(";")[0]||"").trim().toLowerCase()||"application/octet-stream";if(!g.startsWith("image/"))throw new l("Image data URL must have an image/* media type.");if(!f)throw new l("Image data URL must be base64-encoded.");if(e.length>2097152)throw new l("Image input is too large (max 1 MiB). Resize and retry.");let h=e.replace(/\s/g,"");if(Math.floor(3*h.length/4)>1048576)throw new l("Image input is too large (max 1 MiB). Resize and retry.");try{b=Buffer.from(h,"base64")}catch{throw new l("Image data URL contains invalid base64 data.")}if(h.length>0&&0===b.length)throw new l("Image data URL contains invalid base64 data.");return{data:b,mimeType:g}}(c):await m(c);if(!a.length)throw new l("Image input is empty.");if(a.length>1048576)throw new l("Image input is too large (max 1 MiB). Resize and retry.");b.push({data:a,mimeType:d})}return b}c(78959);let p=f.xq["conol-web"],q="https://conol.ai",r=`${q}/api/sessions`,s=new Map,t=new Map;function u(a){return"string"==typeof a?a.trim():""}function v(a){if("string"==typeof a)return a;if(null==a)return"";if(Array.isArray(a))return a.map(a=>v(a)).filter(Boolean).join("\n");if("object"!=typeof a)return"";let b=u(a.type).toLowerCase();return"image_url"===b||"input_image"===b||"image"===b?"":u(a.text)||("string"==typeof a.content?a.content:v(a.content))||v(a.output)||v(a.result)}function w(a,b){if(!a)return"";let c=u(a[b]);if(c)return c;let d=b.toLowerCase();for(let[b,c]of Object.entries(a))if(b.toLowerCase()===d)return u(c);return""}function x(a){return(0,d.createHash)("sha256").update(a).digest("hex")}function y(a=Date.now()){for(let[b,c]of s)a-c.lastUsedAt>216e5&&s.delete(b);for(;s.size>500;){let a="",b=1/0;for(let[c,d]of s)d.lastUsedAt<b&&(a=c,b=d.lastUsedAt);if(!a)break;s.delete(a)}}async function z(a,b){let c;if(!a)return b();let d=t.get(a)??Promise.resolve(),e=new Promise(a=>{c=a}),f=d.catch(()=>void 0).then(()=>e);t.set(a,f),await d.catch(()=>void 0);try{return await b()}finally{c(),t.get(a)===f&&t.delete(a)}}function A(a,b){if(!Array.isArray(a))return"";let c="";for(let d of a){if(!d||"object"!=typeof d||Array.isArray(d))continue;let a=d[b];if(Array.isArray(a))for(let b of a){let a=!b||"object"!=typeof b||Array.isArray(b)||"assistant"!==u(b.role).toLowerCase()?"":v(b.content).trim();a&&(c=a)}}return c}function B(a){let b=a.trim();if(!b||b.startsWith(":")||b.startsWith("event:")||(b.startsWith("data:")&&(b=b.slice(5).trim()),b.startsWith("message ")&&(b=b.slice(8)),!b))return null;if("[DONE]"===b)return{type:"done"};try{return JSON.parse(b)}catch{return null}}async function C(a){if(!a.body)return a.text();let b=a.body.getReader(),c=new TextDecoder,d=[],e="",f=0,g=!1;try{for(;!g;){let a=await b.read();if(a.done){e+=c.decode();break}if((f+=a.value.byteLength)>0x1000000)throw Error("Conol message stream exceeded the safety limit");let i=(e+=c.decode(a.value,{stream:!0})).split(/\r?\n/);for(let a of(e=i.pop()??"",i)){var h;if(d.push(a),(h=B(a))&&"object"==typeof h&&!Array.isArray(h)&&"done"===u(h.type)){g=!0;break}}}!g&&e&&d.push(e)}finally{if(g)try{await b.cancel()}catch{}else b.releaseLock()}return d.join("\n")}function D(a,b,c){return{accept:"application/json","accept-language":"en-US,en;q=0.9",cookie:a,origin:q,referer:c?`${q}/home?chat_session=${encodeURIComponent(c)}`:`${q}/home`,"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36",...b}}async function E(a,b,c,d){let e=await o(b),f=[];for(let b of e){let e=await fetch(`${q}/api/assets`,{method:"POST",headers:D(a,{accept:"application/json","content-type":b.mimeType},d),body:new Uint8Array(b.data),signal:c??void 0});if(!e.ok)throw Error(`Conol image upload failed (HTTP ${e.status})`);let g=await e.json(),h=u(g.id);if(!/^[A-Za-z0-9_-]+$/.test(h))throw Error("Conol image upload returned an invalid asset ID");f.push({type:"image",content:`/api/assets/${h}`,mediaType:u(g.mediaType)||b.mimeType})}return f}function F(a){return Math.max(0,Math.ceil(a.length/4))}function G(a,b,c,d){return{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:d??r,headers:{},transformedBody:c??{}}}class H extends e.H{constructor(){super("conol-web",p)}async execute(a){var b;let c,d,e,f=a.body||{},i=(c=[...Array.isArray(f.messages)?f.messages:[]].reverse().find(a=>"user"===u(a.role).toLowerCase()))?{text:(function a(b){if("string"==typeof b)return b;if(null==b)return"";if(Array.isArray(b))return b.map(b=>a(b)).filter(Boolean).join("\n");if("object"!=typeof b)return"";let c=u(b.type).toLowerCase();return"text"===c||"input_text"===c||"output_text"===c?u(b.text)||u(b.content):c?"":u(b.text)||a(b.content)})(c.content).replace(/^\s*\[Image\s+\d+\]:\s*\(unavailable\)\s*$/gim,"").replace(/^\s*\[Image:\s*source:\s*[^\]\r\n]+\]\s*$/gim,"").replace(/\n{3,}/g,"\n\n").trim(),imageUrls:function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)if(c&&"object"==typeof c&&"image_url"===c.type){let a=c.image_url;"string"==typeof a?b.push(a):a&&"object"==typeof a&&"string"==typeof a.url&&b.push(a.url)}return b}(c.content)}:{text:"",imageUrls:[]},k=i.text,m=i.imageUrls;if(!k&&0===m.length)return G(400,"No user message found",{model:a.model});let{cookie:n}=(0,g.UH)(a.credentials);if(!n)return G(401,"Missing Conol session cookie — sign in with the browser or paste the Cookie header",{model:a.model});let{model:o,effort:p,effortExplicit:q}=(0,h.fE)(a.model||f.model),t=(d=[w(b=a.clientHeaders,"x-claude-code-session-id"),w(b,"x-codex-session-id"),w(b,"x-session-id"),w(b,"x_session_id"),w(b,"session-id"),w(b,"session_id"),w(b,"x-omniroute-session-id"),w(b,"x-omniroute-session"),function(a){if(!a||"object"!=typeof a||Array.isArray(a))return"";let b=u(a.session_id)||u(a.sessionId);if(b)return b;let c=a.user_id;if(c&&"object"==typeof c&&!Array.isArray(c))return u(c.session_id);if("string"!=typeof c||c.length>4096)return"";try{let a=JSON.parse(c);return a&&"object"==typeof a&&!Array.isArray(a)?u(a.session_id):""}catch{return""}}(f.metadata),u(f.conversation_id),u(f.conversationId),u(f.session_id),u(f.sessionId),u(f.prompt_cache_key),u(f.promptCacheKey)].find(a=>a.length>0&&a.length<=4096))?x(d):null,H=t?(e=a.credentials?.connectionId?`connection:${x(a.credentials.connectionId)}`:`cookie:${x(n)}`,x(`${e}:${t}`)):null,I=AbortSignal.timeout(3e5),J=a.signal?AbortSignal.any([a.signal,I]):I;try{return await z(H,async()=>{var b,c,d,e,g,i;let l,t,w,x,z,I;if(J.aborted)throw J.reason??new DOMException("Aborted","AbortError");let K=H?(y(),(l=s.get(H))?(l.lastUsedAt=Date.now(),l):null):null,L=K?.upstreamSessionId||"",M=!1,N=K?.presetApplied??!1,O=K?.appliedModel??"",P=K?.appliedEffort??null,Q=await E(n,m,J,L||void 0),R=[...Q];k&&R.push({type:"text",content:k});let S=function(a){let b=u(a);if(/^[A-Za-z_+-]+(?:\/[A-Za-z0-9_+-]+)*$/.test(b))return b;try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}}(f.timezone),T=(K?.hasImageHistory??!1)||Q.length>0;if(!L){let a=await fetch(r,{method:"POST",headers:D(n,{"content-type":"application/json"}),body:JSON.stringify({source:{type:"home"},messages:[],timezone:S}),signal:J});if(401===a.status||403===a.status)return G(a.status,"Conol session expired or is invalid — sign in again",{model:o});if(!a.ok)return G(a.status,`Conol session creation failed (HTTP ${a.status})`,{model:o});let b=await a.json();if(L=u(b.sessionId),!/^[A-Za-z0-9_-]+$/.test(L))return G(502,"Conol returned an invalid session identifier",{model:o});N=!1,O="",P=null}let U=function({model:a,effort:b,hasImageHistory:c,catalog:d,modelPreset:e}){let f=(0,h.hr)(a,d),g=(0,h.LJ)(b,f);return{preset:{modelPreset:e||"pro",hasImageHistory:c},model:{agentModel:a,agentEffort:null},effort:g?{agentEffort:g}:null}}({model:o,effort:p,hasImageHistory:T}),V=U.effort?.agentEffort??null;if(!N||O!==o||P!==V){let b=await j({sessionId:L,plan:U,skipPreset:N,buildHeaders:a=>D(n,void 0,a),signal:J,onWarning:b=>a.log?.warn?.("conol-web",b)});N=N||b.presetApplied,b.modelApplied&&(O=o,P=b.effortApplied)}if(b=L,K&&K.upstreamSessionId===b){let a=`${r}/${L}/messages`,b=await fetch(a,{method:"POST",headers:D(n,{"content-type":"application/json"},L),body:JSON.stringify({messages:R,timezone:S}),signal:J});if(401===b.status||403===b.status)return G(b.status,"Conol session expired or is invalid — sign in again",{model:o,sessionId:L},a);if(404===b.status||410===b.status)return H&&s.delete(H),G(b.status,"Conol session no longer exists — retry to start a new session",{model:o,sessionId:L},a);if(!b.ok)return G(b.status,`Conol follow-up submission failed (HTTP ${b.status})`,{model:o,sessionId:L},a);M=!0,await b.body?.cancel().catch(()=>void 0)}else{let a=`${r}/${L}/messages`,b=await fetch(a,{method:"POST",headers:D(n,{"content-type":"application/json"},L),body:JSON.stringify({messages:R,timezone:S}),signal:J});if(401===b.status||403===b.status)return G(b.status,"Conol session expired or is invalid — sign in again",{model:o},a);if(!b.ok)return G(b.status,`Conol message submission failed (HTTP ${b.status})`,{model:o,sessionId:L},a);await b.body?.cancel().catch(()=>void 0)}H&&(c={upstreamSessionId:L,presetApplied:N,appliedModel:O,appliedEffort:P,hasImageHistory:T},s.set(H,{...c,lastUsedAt:Date.now()}),y());let W=`${r}/${L}/messages?logDeltas=1`,X=await fetch(W,{method:"GET",headers:D(n,{accept:"text/event-stream, application/x-ndjson"},L),signal:J});if(!X.ok)return H&&(404===X.status||410===X.status)&&s.delete(H),G(X.status,`Conol message stream failed (HTTP ${X.status})`,{model:o,sessionId:L},W);let Y=function(a){let b="",c="",d="",e=null,f=null,g="",h=!1;for(let i of function(a){let b=[];for(let c of a.replace(/\r\n/g,"\n").split("\n")){let a=B(c);a&&b.push(a)}return b}(a)){if(!i||"object"!=typeof i||Array.isArray(i))continue;let a=u(i.type);if("done"===a){h=!0;continue}let j=A(i.stages,"logs"),k=A(i.stages,"preview");if(j&&(b=j),k&&(c=k),"assistant"===a){let a=v(i.content??i.message??i.text).trim();a&&(b=a)}else if("stream_event"===a){let a=v(i.delta??i.content??i.text);a&&(d+=a)}let l=i.contextUsage&&"object"==typeof i.contextUsage&&!Array.isArray(i.contextUsage)?i.contextUsage:null;if(l){let a=Number(l.usedTokens),b=Number(l.contextWindow);Number.isFinite(a)&&(e=a),Number.isFinite(b)&&(f=b),g=u(l.modelId)||g}}return{text:b||c||d,usedTokens:e,contextWindow:f,modelId:g,done:h}}(await C(X));return Y.text?{response:a.stream?(d=Y.text,e=L,t=new TextEncoder,w=`chatcmpl-conol-${e}`,x=Math.floor(Date.now()/1e3),new Response(new ReadableStream({start(a){for(let b of[{id:w,object:"chat.completion.chunk",created:x,model:o,choices:[{index:0,delta:{role:"assistant",content:d},finish_reason:null}]},{id:w,object:"chat.completion.chunk",created:x,model:o,choices:[{index:0,delta:{},finish_reason:"stop"}]}])a.enqueue(t.encode(`data: ${JSON.stringify(b)}
316
314
 
317
- `));a.enqueue(t.encode("data: [DONE]\n\n")),a.close()}}),{status:200,headers:{"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive"}})):(g=Y.text,i=L,z=F(k),I=F(g),new Response(JSON.stringify({id:`chatcmpl-conol-${i}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:o,choices:[{index:0,message:{role:"assistant",content:g},finish_reason:"stop"}],usage:{prompt_tokens:z,completion_tokens:I,total_tokens:z+I}}),{status:200,headers:{"content-type":"application/json"}})),url:W,headers:{cookie:"***"},transformedBody:{model:o,...P?{effort:P}:{},effortRequested:p,effortExplicit:q,sessionId:L,reusedSession:M,clientSessionBound:null!==H,imageCount:Q.length}}:G(502,"Conol returned no assistant response",{model:o,sessionId:L},W)})}catch(b){let a=b instanceof Error&&"TimeoutError"===b.name;return G(b instanceof l?b.status:a?504:502,b instanceof l?b.message:a?"Conol request timed out":b instanceof Error&&"AbortError"===b.name?"Conol request was cancelled":"Conol request failed",{model:o})}}}},98625:(a,b,c)=>{c.d(b,{P:()=>e});var d=c(96179);class e extends d.L{constructor(){super("azure")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.azureEndpoint||process.env.AZURE_ENDPOINT||"https://api.openai.com",f=d?.providerSpecificData?.apiVersion||process.env.AZURE_API_VERSION||"2024-10-01-preview",g=d?.providerSpecificData?.deployment||a||process.env.AZURE_DEPLOYMENT||"gpt-4",h=e.replace(/\/$/,"");return`${h}/openai/deployments/${g}/chat/completions?api-version=${f}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=a?.apiKey||a?.accessToken||process.env.OPENAI_API_KEY;d&&(c["api-key"]=d);let e=a?.providerSpecificData?.organization||process.env.AZURE_ORGANIZATION;return e&&(c["OpenAI-Organization"]=e),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}}}};
315
+ `));a.enqueue(t.encode("data: [DONE]\n\n")),a.close()}}),{status:200,headers:{"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive"}})):(g=Y.text,i=L,z=F(k),I=F(g),new Response(JSON.stringify({id:`chatcmpl-conol-${i}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:o,choices:[{index:0,message:{role:"assistant",content:g},finish_reason:"stop"}],usage:{prompt_tokens:z,completion_tokens:I,total_tokens:z+I}}),{status:200,headers:{"content-type":"application/json"}})),url:W,headers:{cookie:"***"},transformedBody:{model:o,...P?{effort:P}:{},effortRequested:p,effortExplicit:q,sessionId:L,reusedSession:M,clientSessionBound:null!==H,imageCount:Q.length}}:G(502,"Conol returned no assistant response",{model:o,sessionId:L},W)})}catch(b){let a=b instanceof Error&&"TimeoutError"===b.name;return G(b instanceof l?b.status:a?504:502,b instanceof l?b.message:a?"Conol request timed out":b instanceof Error&&"AbortError"===b.name?"Conol request was cancelled":"Conol request failed",{model:o})}}}},98625:(a,b,c)=>{c.d(b,{P:()=>e});var d=c(96179);class e extends d.L{constructor(){super("azure")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.azureEndpoint||process.env.AZURE_ENDPOINT||"https://api.openai.com",f=d?.providerSpecificData?.apiVersion||process.env.AZURE_API_VERSION||"2024-10-01-preview",g=d?.providerSpecificData?.deployment||a||process.env.AZURE_DEPLOYMENT||"gpt-4",h=e.replace(/\/$/,"");return`${h}/openai/deployments/${g}/chat/completions?api-version=${f}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=a?.apiKey||a?.accessToken||process.env.OPENAI_API_KEY;d&&(c["api-key"]=d);let e=a?.providerSpecificData?.organization||process.env.AZURE_ORGANIZATION;return e&&(c["OpenAI-Organization"]=e),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}}},98665:(a,b,c)=>{c.d(b,{l:()=>u});var d=c(74957),e=c(14170),f=c(50885),g=c(19979),h=c(97102),i=c(65377),j=c(29675),k=c(32546),l=c(4845),m=c(49804);let n="anthropic",o="open_ai",p="google",q="x_ai";function r(a,b){let c=String(a||"").toLowerCase();if("anthropic"===c)return n;if("openai"===c||"open_ai"===c)return o;if("google"===c||"gemini"===c)return p;if("xai"===c||"x_ai"===c||"x-ai"===c)return q;let d=String(b||"").toLowerCase();return d.includes("claude")?n:d.includes("gemini")?p:d.includes("grok")||d.includes("xai")?q:o}function s(a,b,c){return a===n?(0,j.P)(b,c):a===p?(0,k.o)(b,c):a===o?(0,l.v)(b,c):b}function t(a,b,c){if(c)for(let d of Array.isArray(c)?c:[c])d&&a.enqueue(b.encode(`data: ${JSON.stringify(d)}
316
+
317
+ `))}class u extends d.H{constructor(){super("zed")}async resolveModel(a,b,c,d){try{let d=await (0,m.w9)(b,{config:this.config,signal:c}),e=d?.rawById?.get(a)??null;if(!e){let d=await (0,m.w9)(b,{config:this.config,signal:c,forceRefresh:!0});e=d?.rawById?.get(a)??null}return{raw:e,provider:r(e?.provider,a)}}catch(c){let b=c instanceof Error?c.message:String(c);return d?.warn?.("ZED",`model catalog unavailable, inferring provider for ${a}: ${b}`),{raw:null,provider:r(null,a)}}}async execute({model:a,body:b,stream:c,credentials:d,signal:j,log:k,proxyOptions:l=null}){let{provider:q}=await this.resolveModel(a,d,j,k),r=q===n?(0,g.p)(a,b,!0):q===p?(0,h.m$)(a,b,!0):q===o?(0,i.h)(a,b,!0,d):{...b||{},model:a,stream:!1!==c},u=b||{},v={thread_id:u.thread_id||d?._clientSessionId,prompt_id:u.prompt_id,provider:q,model:a,provider_request:r},w={llmBaseUrl:(this.config?.baseUrl||"https://cloud.zed.dev").replace(/\/$/,""),cloudBaseUrl:(this.config?.baseUrl||"https://cloud.zed.dev").replace(/\/$/,"")},x=await (0,m.zn)(d,"/completions",{config:w,signal:j,proxyOptions:l,fetchOptions:{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson, text/event-stream, */*","User-Agent":"extremerouter/zed","x-zed-version":this.config?.appVersion?.toString()||"1.6.3",[m.xK.clientSupportsStatus]:"true",[m.xK.clientSupportsStreamEnded]:"true"},body:JSON.stringify(v)}});return{response:x.ok?function(a,b,c){if(!a.ok||!a.body)return a;let d=new TextDecoder,g=new TextEncoder,h=function(a,b){if(a===n)return(0,f.Ws)(e.h.CLAUDE);if(a===p)return(0,f.Ws)(e.h.GEMINI);if(a===o)return(0,f.Ws)(e.h.OPENAI_RESPONSES);let c=(0,f.Ws)(e.h.OPENAI);return c.model=b,c}(b,c),i="",j=!1,k=a=>{j||(t(a,g,s(b,null,h)),a.enqueue(g.encode("data: [DONE]\n\n")),j=!0)},l=(a,d)=>{if(j)return;let e=function(a){let b=a.replace(/\r$/,"").trim();if(!b)return null;if(b.startsWith("data:")&&(b=b.slice(5).trimStart()),"[DONE]"===b)return{done:!0};try{let a=JSON.parse(b);if(a&&Object.prototype.hasOwnProperty.call(a,"event"))return{event:a.event};if(a&&Object.prototype.hasOwnProperty.call(a,"status"))return{status:a.status};return{event:a}}catch{return null}}(a);if(e){if(e.done)return void k(d);if(e.status){let a=function(a){if(!a)return null;if("string"==typeof a)return{type:a};if("object"==typeof a){let b=Object.keys(a)[0];return b&&"object"==typeof a[b]?{type:b,...a[b]}:a}return null}(e.status);if(a?.type==="failed"||a?.failed){let b=a.failed||a,e=String(b.message||b.error||b.code||"request failed");t(d,g,{id:`chatcmpl-zed-error-${Date.now()}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:c,choices:[{index:0,delta:{content:`[Zed error] ${e}`},finish_reason:"stop"}]}),k(d)}else(a?.type==="stream_ended"||"stream_ended"===a)&&k(d);return}t(d,g,s(b,e.event,h))}};return new Response(a.body.pipeThrough(new TransformStream({transform(a,b){let c;for(i+=d.decode(a,{stream:!0});-1!==(c=i.indexOf("\n"));){let a=i.slice(0,c);i=i.slice(c+1),l(a,b)}},flush(a){(i+=d.decode())&&(l(i,a),i=""),k(a)}})),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache"}})}(x,q,a):x,url:`${w.llmBaseUrl}/completions`,headers:{"Content-Type":"application/json",Authorization:"Bearer <zed-llm-token>"},transformedBody:v}}parseError(a,b){let c=null;try{c=JSON.parse(b||"{}")}catch{c=null}let d=c?.error||void 0,e=c?.code||d?.code||"",f=c?.message||d?.message||b||a.statusText;return"trial_blocked"===e?{status:a.status,message:`Zed trial access is blocked upstream. The account can list hosted models, but Zed is refusing completions until trial/billing access is enabled or unblocked. Zed says: ${f}`}:e?{status:a.status,message:`Zed ${e}: ${f}`}:c&&(c.message||c.error)?{status:a.status,message:f}:{status:a.status,message:f||`Zed upstream error: ${a.status}`,rawBody:b||null}}async refreshCredentials(a,b,c=null){if(!a)return null;let d={llmBaseUrl:(this.config?.baseUrl||"https://cloud.zed.dev").replace(/\/$/,""),cloudBaseUrl:(this.config?.baseUrl||"https://cloud.zed.dev").replace(/\/$/,"")};try{let b=await (0,m.Ue)(a,{config:d,proxyOptions:c});return{accessToken:b,expiresIn:3600,providerSpecificData:{llmToken:b,lastLlmTokenAt:new Date().toISOString()}}}catch(c){let a=c instanceof Error?c.message:String(c);return b?.error?.("TOKEN_REFRESH",`Zed LLM token refresh failed: ${a}`),null}}}}};