@amir83nasr/10router 0.1.0

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 (1837) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +169 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/export-marker.json +6 -0
  5. package/.next/images-manifest.json +68 -0
  6. package/.next/next-minimal-server.js.nft.json +1 -0
  7. package/.next/next-server.js.nft.json +1 -0
  8. package/.next/package.json +1 -0
  9. package/.next/prerender-manifest.json +633 -0
  10. package/.next/react-loadable-manifest.json +11 -0
  11. package/.next/required-server-files.json +410 -0
  12. package/.next/routes-manifest.json +1132 -0
  13. package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -0
  14. package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -0
  15. package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -0
  16. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +40 -0
  17. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -0
  18. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -0
  19. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -0
  20. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -0
  21. package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -0
  22. package/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -0
  23. package/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -0
  24. package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -0
  25. package/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -0
  26. package/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -0
  27. package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -0
  28. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -0
  29. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -0
  30. package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -0
  31. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js +10 -0
  32. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js.nft.json +1 -0
  33. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -0
  34. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js +1 -0
  35. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js.nft.json +1 -0
  36. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -0
  37. package/.next/server/app/(dashboard)/dashboard/page.js +1 -0
  38. package/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -0
  39. package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -0
  40. package/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -0
  41. package/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -0
  42. package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -0
  43. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +21 -0
  44. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -0
  45. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -0
  46. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -0
  47. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -0
  48. package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -0
  49. package/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -0
  50. package/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -0
  51. package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -0
  52. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +4 -0
  53. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -0
  54. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -0
  55. package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -0
  56. package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -0
  57. package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -0
  58. package/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -0
  59. package/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -0
  60. package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -0
  61. package/.next/server/app/(dashboard)/dashboard/token-saver/page.js +1 -0
  62. package/.next/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -0
  63. package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -0
  64. package/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -0
  65. package/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -0
  66. package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -0
  67. package/.next/server/app/_global-error/page.js +31 -0
  68. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  69. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  70. package/.next/server/app/_global-error.html +1 -0
  71. package/.next/server/app/_global-error.meta +27 -0
  72. package/.next/server/app/_global-error.rsc +14 -0
  73. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  74. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
  75. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  76. package/.next/server/app/_not-found/page.js +1 -0
  77. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  78. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  79. package/.next/server/app/_not-found.html +1 -0
  80. package/.next/server/app/_not-found.meta +27 -0
  81. package/.next/server/app/_not-found.rsc +24 -0
  82. package/.next/server/app/_not-found.segments/_full.segment.rsc +24 -0
  83. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +27 -0
  84. package/.next/server/app/_not-found.segments/_tree.segment.rsc +6 -0
  85. package/.next/server/app/api/auth/login/route.js +3 -0
  86. package/.next/server/app/api/auth/login/route.js.nft.json +1 -0
  87. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
  88. package/.next/server/app/api/auth/logout/route.js +1 -0
  89. package/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
  90. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -0
  91. package/.next/server/app/api/auth/oidc/callback/route.js +1 -0
  92. package/.next/server/app/api/auth/oidc/callback/route.js.nft.json +1 -0
  93. package/.next/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -0
  94. package/.next/server/app/api/auth/oidc/start/route.js +1 -0
  95. package/.next/server/app/api/auth/oidc/start/route.js.nft.json +1 -0
  96. package/.next/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -0
  97. package/.next/server/app/api/auth/oidc/test/route.js +1 -0
  98. package/.next/server/app/api/auth/oidc/test/route.js.nft.json +1 -0
  99. package/.next/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -0
  100. package/.next/server/app/api/auth/reset-password/route.js +1 -0
  101. package/.next/server/app/api/auth/reset-password/route.js.nft.json +1 -0
  102. package/.next/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -0
  103. package/.next/server/app/api/auth/saml/acs/route.js +3 -0
  104. package/.next/server/app/api/auth/saml/acs/route.js.nft.json +1 -0
  105. package/.next/server/app/api/auth/saml/acs/route_client-reference-manifest.js +1 -0
  106. package/.next/server/app/api/auth/saml/metadata/route.js +3 -0
  107. package/.next/server/app/api/auth/saml/metadata/route.js.nft.json +1 -0
  108. package/.next/server/app/api/auth/saml/metadata/route_client-reference-manifest.js +1 -0
  109. package/.next/server/app/api/auth/saml/start/route.js +3 -0
  110. package/.next/server/app/api/auth/saml/start/route.js.nft.json +1 -0
  111. package/.next/server/app/api/auth/saml/start/route_client-reference-manifest.js +1 -0
  112. package/.next/server/app/api/auth/saml/test/route.js +3 -0
  113. package/.next/server/app/api/auth/saml/test/route.js.nft.json +1 -0
  114. package/.next/server/app/api/auth/saml/test/route_client-reference-manifest.js +1 -0
  115. package/.next/server/app/api/auth/status/route.js +3 -0
  116. package/.next/server/app/api/auth/status/route.js.nft.json +1 -0
  117. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
  118. package/.next/server/app/api/changelog/route.js +1 -0
  119. package/.next/server/app/api/changelog/route.js.nft.json +1 -0
  120. package/.next/server/app/api/changelog/route_client-reference-manifest.js +1 -0
  121. package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -0
  122. package/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -0
  123. package/.next/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -0
  124. package/.next/server/app/api/cli-tools/claude-settings/route.js +2 -0
  125. package/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -0
  126. package/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -0
  127. package/.next/server/app/api/cli-tools/codex-settings/route.js +2 -0
  128. package/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -0
  129. package/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -0
  130. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -0
  131. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -0
  132. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -0
  133. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -0
  134. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -0
  135. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/cli-tools/cowork-settings/route.js +2 -0
  137. package/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -0
  138. package/.next/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -0
  139. package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -0
  140. package/.next/server/app/api/cli-tools/dsh-settings/route.js.nft.json +1 -0
  141. package/.next/server/app/api/cli-tools/dsh-settings/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -0
  143. package/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -0
  144. package/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -0
  145. package/.next/server/app/api/combos/[id]/route.js +1 -0
  146. package/.next/server/app/api/combos/[id]/route.js.nft.json +1 -0
  147. package/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/combos/route.js +1 -0
  149. package/.next/server/app/api/combos/route.js.nft.json +1 -0
  150. package/.next/server/app/api/combos/route_client-reference-manifest.js +1 -0
  151. package/.next/server/app/api/headroom/extras/route.js +1 -0
  152. package/.next/server/app/api/headroom/extras/route.js.nft.json +1 -0
  153. package/.next/server/app/api/headroom/extras/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/headroom/proxy/[...path]/route.js +1 -0
  155. package/.next/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -0
  156. package/.next/server/app/api/headroom/proxy/[...path]/route_client-reference-manifest.js +1 -0
  157. package/.next/server/app/api/headroom/restart/route.js +1 -0
  158. package/.next/server/app/api/headroom/restart/route.js.nft.json +1 -0
  159. package/.next/server/app/api/headroom/restart/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/headroom/start/route.js +1 -0
  161. package/.next/server/app/api/headroom/start/route.js.nft.json +1 -0
  162. package/.next/server/app/api/headroom/start/route_client-reference-manifest.js +1 -0
  163. package/.next/server/app/api/headroom/status/route.js +1 -0
  164. package/.next/server/app/api/headroom/status/route.js.nft.json +1 -0
  165. package/.next/server/app/api/headroom/status/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/headroom/stop/route.js +1 -0
  167. package/.next/server/app/api/headroom/stop/route.js.nft.json +1 -0
  168. package/.next/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -0
  169. package/.next/server/app/api/health/route.js +1 -0
  170. package/.next/server/app/api/health/route.js.nft.json +1 -0
  171. package/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/init/route.js +1 -0
  173. package/.next/server/app/api/init/route.js.nft.json +1 -0
  174. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/api/keys/[id]/route.js +1 -0
  176. package/.next/server/app/api/keys/[id]/route.js.nft.json +1 -0
  177. package/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -0
  178. package/.next/server/app/api/keys/route.js +1 -0
  179. package/.next/server/app/api/keys/route.js.nft.json +1 -0
  180. package/.next/server/app/api/keys/route_client-reference-manifest.js +1 -0
  181. package/.next/server/app/api/locale/route.js +1 -0
  182. package/.next/server/app/api/locale/route.js.nft.json +1 -0
  183. package/.next/server/app/api/locale/route_client-reference-manifest.js +1 -0
  184. package/.next/server/app/api/mcp/[plugin]/message/route.js +7 -0
  185. package/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -0
  186. package/.next/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -0
  187. package/.next/server/app/api/mcp/[plugin]/sse/route.js +10 -0
  188. package/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -0
  189. package/.next/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -0
  190. package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -0
  191. package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -0
  192. package/.next/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -0
  193. package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -0
  194. package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -0
  195. package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -0
  196. package/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -0
  197. package/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -0
  198. package/.next/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -0
  199. package/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -0
  200. package/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -0
  201. package/.next/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -0
  202. package/.next/server/app/api/media-providers/tts/voices/route.js +1 -0
  203. package/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -0
  204. package/.next/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -0
  205. package/.next/server/app/api/models/alias/route.js +1 -0
  206. package/.next/server/app/api/models/alias/route.js.nft.json +1 -0
  207. package/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -0
  208. package/.next/server/app/api/models/availability/route.js +1 -0
  209. package/.next/server/app/api/models/availability/route.js.nft.json +1 -0
  210. package/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -0
  211. package/.next/server/app/api/models/catalog-sync/route.js +1 -0
  212. package/.next/server/app/api/models/catalog-sync/route.js.nft.json +1 -0
  213. package/.next/server/app/api/models/catalog-sync/route_client-reference-manifest.js +1 -0
  214. package/.next/server/app/api/models/custom/route.js +1 -0
  215. package/.next/server/app/api/models/custom/route.js.nft.json +1 -0
  216. package/.next/server/app/api/models/custom/route_client-reference-manifest.js +1 -0
  217. package/.next/server/app/api/models/disabled/route.js +1 -0
  218. package/.next/server/app/api/models/disabled/route.js.nft.json +1 -0
  219. package/.next/server/app/api/models/disabled/route_client-reference-manifest.js +1 -0
  220. package/.next/server/app/api/models/route.js +1 -0
  221. package/.next/server/app/api/models/route.js.nft.json +1 -0
  222. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  223. package/.next/server/app/api/models/test/route.js +1 -0
  224. package/.next/server/app/api/models/test/route.js.nft.json +1 -0
  225. package/.next/server/app/api/models/test/route_client-reference-manifest.js +1 -0
  226. package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -0
  227. package/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -0
  228. package/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -0
  229. package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -0
  230. package/.next/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -0
  231. package/.next/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -0
  232. package/.next/server/app/api/oauth/codex/import-token/route.js +1 -0
  233. package/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -0
  234. package/.next/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -0
  235. package/.next/server/app/api/oauth/cursor/auto-import/route.js +4 -0
  236. package/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -0
  237. package/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -0
  238. package/.next/server/app/api/oauth/cursor/import/route.js +1 -0
  239. package/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -0
  240. package/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -0
  241. package/.next/server/app/api/oauth/gitlab/pat/route.js +1 -0
  242. package/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -0
  243. package/.next/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -0
  244. package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -0
  245. package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -0
  246. package/.next/server/app/api/oauth/grok-cli/bulk-import/route_client-reference-manifest.js +1 -0
  247. package/.next/server/app/api/oauth/iflow/cookie/route.js +1 -0
  248. package/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -0
  249. package/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -0
  250. package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -0
  251. package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -0
  252. package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route_client-reference-manifest.js +1 -0
  253. package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +4 -0
  254. package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -0
  255. package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route_client-reference-manifest.js +1 -0
  256. package/.next/server/app/api/pricing/route.js +1 -0
  257. package/.next/server/app/api/pricing/route.js.nft.json +1 -0
  258. package/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -0
  259. package/.next/server/app/api/provider-nodes/[id]/route.js +1 -0
  260. package/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -0
  261. package/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -0
  262. package/.next/server/app/api/provider-nodes/route.js +1 -0
  263. package/.next/server/app/api/provider-nodes/route.js.nft.json +1 -0
  264. package/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -0
  265. package/.next/server/app/api/provider-nodes/validate/route.js +1 -0
  266. package/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -0
  267. package/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -0
  268. package/.next/server/app/api/providers/[id]/models/route.js +1 -0
  269. package/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -0
  270. package/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -0
  271. package/.next/server/app/api/providers/[id]/route.js +1 -0
  272. package/.next/server/app/api/providers/[id]/route.js.nft.json +1 -0
  273. package/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -0
  274. package/.next/server/app/api/providers/[id]/test/route.js +1 -0
  275. package/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -0
  276. package/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -0
  277. package/.next/server/app/api/providers/[id]/test-models/route.js +1 -0
  278. package/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -0
  279. package/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -0
  280. package/.next/server/app/api/providers/client/route.js +1 -0
  281. package/.next/server/app/api/providers/client/route.js.nft.json +1 -0
  282. package/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -0
  283. package/.next/server/app/api/providers/kilo/free-models/route.js +1 -0
  284. package/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -0
  285. package/.next/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -0
  286. package/.next/server/app/api/providers/route.js +1 -0
  287. package/.next/server/app/api/providers/route.js.nft.json +1 -0
  288. package/.next/server/app/api/providers/route_client-reference-manifest.js +1 -0
  289. package/.next/server/app/api/providers/suggested-models/route.js +1 -0
  290. package/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -0
  291. package/.next/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -0
  292. package/.next/server/app/api/providers/test-batch/route.js +1 -0
  293. package/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -0
  294. package/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -0
  295. package/.next/server/app/api/providers/validate/route.js +1 -0
  296. package/.next/server/app/api/providers/validate/route.js.nft.json +1 -0
  297. package/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -0
  298. package/.next/server/app/api/proxy-pools/[id]/route.js +1 -0
  299. package/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -0
  300. package/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -0
  301. package/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -0
  302. package/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -0
  303. package/.next/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -0
  304. package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +43 -0
  305. package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -0
  306. package/.next/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -0
  307. package/.next/server/app/api/proxy-pools/deno-deploy/route.js +40 -0
  308. package/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -0
  309. package/.next/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -0
  310. package/.next/server/app/api/proxy-pools/route.js +1 -0
  311. package/.next/server/app/api/proxy-pools/route.js.nft.json +1 -0
  312. package/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -0
  313. package/.next/server/app/api/proxy-pools/vercel-deploy/route.js +33 -0
  314. package/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -0
  315. package/.next/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -0
  316. package/.next/server/app/api/pxpipe/health/route.js +3 -0
  317. package/.next/server/app/api/pxpipe/health/route.js.nft.json +1 -0
  318. package/.next/server/app/api/pxpipe/health/route_client-reference-manifest.js +1 -0
  319. package/.next/server/app/api/pxpipe/install/route.js +3 -0
  320. package/.next/server/app/api/pxpipe/install/route.js.nft.json +1 -0
  321. package/.next/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -0
  322. package/.next/server/app/api/pxpipe/logs/route.js +3 -0
  323. package/.next/server/app/api/pxpipe/logs/route.js.nft.json +1 -0
  324. package/.next/server/app/api/pxpipe/logs/route_client-reference-manifest.js +1 -0
  325. package/.next/server/app/api/pxpipe/restart/route.js +3 -0
  326. package/.next/server/app/api/pxpipe/restart/route.js.nft.json +1 -0
  327. package/.next/server/app/api/pxpipe/restart/route_client-reference-manifest.js +1 -0
  328. package/.next/server/app/api/pxpipe/start/route.js +3 -0
  329. package/.next/server/app/api/pxpipe/start/route.js.nft.json +1 -0
  330. package/.next/server/app/api/pxpipe/start/route_client-reference-manifest.js +1 -0
  331. package/.next/server/app/api/pxpipe/stats/route.js +3 -0
  332. package/.next/server/app/api/pxpipe/stats/route.js.nft.json +1 -0
  333. package/.next/server/app/api/pxpipe/stats/route_client-reference-manifest.js +1 -0
  334. package/.next/server/app/api/pxpipe/status/route.js +3 -0
  335. package/.next/server/app/api/pxpipe/status/route.js.nft.json +1 -0
  336. package/.next/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -0
  337. package/.next/server/app/api/pxpipe/stop/route.js +3 -0
  338. package/.next/server/app/api/pxpipe/stop/route.js.nft.json +1 -0
  339. package/.next/server/app/api/pxpipe/stop/route_client-reference-manifest.js +1 -0
  340. package/.next/server/app/api/settings/database/route.js +1 -0
  341. package/.next/server/app/api/settings/database/route.js.nft.json +1 -0
  342. package/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -0
  343. package/.next/server/app/api/settings/proxy-test/route.js +1 -0
  344. package/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -0
  345. package/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -0
  346. package/.next/server/app/api/settings/require-login/route.js +1 -0
  347. package/.next/server/app/api/settings/require-login/route.js.nft.json +1 -0
  348. package/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -0
  349. package/.next/server/app/api/settings/route.js +1 -0
  350. package/.next/server/app/api/settings/route.js.nft.json +1 -0
  351. package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -0
  352. package/.next/server/app/api/shutdown/route.js +1 -0
  353. package/.next/server/app/api/shutdown/route.js.nft.json +1 -0
  354. package/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -0
  355. package/.next/server/app/api/tags/route.js +1 -0
  356. package/.next/server/app/api/tags/route.js.nft.json +1 -0
  357. package/.next/server/app/api/tags/route_client-reference-manifest.js +1 -0
  358. package/.next/server/app/api/translator/console-logs/route.js +1 -0
  359. package/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -0
  360. package/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -0
  361. package/.next/server/app/api/translator/console-logs/stream/route.js +9 -0
  362. package/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -0
  363. package/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -0
  364. package/.next/server/app/api/translator/load/route.js +1 -0
  365. package/.next/server/app/api/translator/load/route.js.nft.json +1 -0
  366. package/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -0
  367. package/.next/server/app/api/translator/save/route.js +1 -0
  368. package/.next/server/app/api/translator/save/route.js.nft.json +1 -0
  369. package/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -0
  370. package/.next/server/app/api/translator/send/route.js +1 -0
  371. package/.next/server/app/api/translator/send/route.js.nft.json +1 -0
  372. package/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -0
  373. package/.next/server/app/api/translator/translate/route.js +1 -0
  374. package/.next/server/app/api/translator/translate/route.js.nft.json +1 -0
  375. package/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -0
  376. package/.next/server/app/api/tunnel/disable/route.js +1 -0
  377. package/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -0
  378. package/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -0
  379. package/.next/server/app/api/tunnel/enable/route.js +1 -0
  380. package/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -0
  381. package/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -0
  382. package/.next/server/app/api/tunnel/status/route.js +1 -0
  383. package/.next/server/app/api/tunnel/status/route.js.nft.json +1 -0
  384. package/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -0
  385. package/.next/server/app/api/tunnel/tailscale-check/route.js +1 -0
  386. package/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -0
  387. package/.next/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -0
  388. package/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -0
  389. package/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -0
  390. package/.next/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -0
  391. package/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -0
  392. package/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -0
  393. package/.next/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -0
  394. package/.next/server/app/api/tunnel/tailscale-install/route.js +5 -0
  395. package/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -0
  396. package/.next/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -0
  397. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -0
  398. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -0
  399. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -0
  400. package/.next/server/app/api/usage/[connectionId]/route.js +1 -0
  401. package/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -0
  402. package/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -0
  403. package/.next/server/app/api/usage/chart/route.js +1 -0
  404. package/.next/server/app/api/usage/chart/route.js.nft.json +1 -0
  405. package/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -0
  406. package/.next/server/app/api/usage/history/route.js +1 -0
  407. package/.next/server/app/api/usage/history/route.js.nft.json +1 -0
  408. package/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -0
  409. package/.next/server/app/api/usage/logs/route.js +1 -0
  410. package/.next/server/app/api/usage/logs/route.js.nft.json +1 -0
  411. package/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -0
  412. package/.next/server/app/api/usage/providers/route.js +1 -0
  413. package/.next/server/app/api/usage/providers/route.js.nft.json +1 -0
  414. package/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -0
  415. package/.next/server/app/api/usage/request-details/route.js +1 -0
  416. package/.next/server/app/api/usage/request-details/route.js.nft.json +1 -0
  417. package/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -0
  418. package/.next/server/app/api/usage/request-logs/route.js +1 -0
  419. package/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -0
  420. package/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -0
  421. package/.next/server/app/api/usage/stats/route.js +1 -0
  422. package/.next/server/app/api/usage/stats/route.js.nft.json +1 -0
  423. package/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -0
  424. package/.next/server/app/api/usage/stream/route.js +7 -0
  425. package/.next/server/app/api/usage/stream/route.js.nft.json +1 -0
  426. package/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -0
  427. package/.next/server/app/api/v1/api/chat/route.js +1 -0
  428. package/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -0
  429. package/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -0
  430. package/.next/server/app/api/v1/audio/speech/route.js +1 -0
  431. package/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -0
  432. package/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -0
  433. package/.next/server/app/api/v1/audio/transcriptions/route.js +1 -0
  434. package/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -0
  435. package/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -0
  436. package/.next/server/app/api/v1/audio/voices/route.js +1 -0
  437. package/.next/server/app/api/v1/audio/voices/route.js.nft.json +1 -0
  438. package/.next/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -0
  439. package/.next/server/app/api/v1/chat/completions/route.js +1 -0
  440. package/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -0
  441. package/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -0
  442. package/.next/server/app/api/v1/embeddings/route.js +1 -0
  443. package/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -0
  444. package/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -0
  445. package/.next/server/app/api/v1/images/generations/route.js +4 -0
  446. package/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -0
  447. package/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -0
  448. package/.next/server/app/api/v1/messages/count_tokens/route.js +1 -0
  449. package/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -0
  450. package/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -0
  451. package/.next/server/app/api/v1/messages/route.js +1 -0
  452. package/.next/server/app/api/v1/messages/route.js.nft.json +1 -0
  453. package/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -0
  454. package/.next/server/app/api/v1/models/[...model]/route.js +1 -0
  455. package/.next/server/app/api/v1/models/[...model]/route.js.nft.json +1 -0
  456. package/.next/server/app/api/v1/models/[...model]/route_client-reference-manifest.js +1 -0
  457. package/.next/server/app/api/v1/models/info/route.js +1 -0
  458. package/.next/server/app/api/v1/models/info/route.js.nft.json +1 -0
  459. package/.next/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -0
  460. package/.next/server/app/api/v1/models/route.js +1 -0
  461. package/.next/server/app/api/v1/models/route.js.nft.json +1 -0
  462. package/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -0
  463. package/.next/server/app/api/v1/responses/compact/route.js +1 -0
  464. package/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -0
  465. package/.next/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -0
  466. package/.next/server/app/api/v1/responses/route.js +1 -0
  467. package/.next/server/app/api/v1/responses/route.js.nft.json +1 -0
  468. package/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -0
  469. package/.next/server/app/api/v1/route.js +1 -0
  470. package/.next/server/app/api/v1/route.js.nft.json +1 -0
  471. package/.next/server/app/api/v1/route_client-reference-manifest.js +1 -0
  472. package/.next/server/app/api/v1/search/route.js +1 -0
  473. package/.next/server/app/api/v1/search/route.js.nft.json +1 -0
  474. package/.next/server/app/api/v1/search/route_client-reference-manifest.js +1 -0
  475. package/.next/server/app/api/v1/systemone/route.js +1 -0
  476. package/.next/server/app/api/v1/systemone/route.js.nft.json +1 -0
  477. package/.next/server/app/api/v1/systemone/route_client-reference-manifest.js +1 -0
  478. package/.next/server/app/api/v1/videos/[id]/route.js +1 -0
  479. package/.next/server/app/api/v1/videos/[id]/route.js.nft.json +1 -0
  480. package/.next/server/app/api/v1/videos/[id]/route_client-reference-manifest.js +1 -0
  481. package/.next/server/app/api/v1/videos/edits/route.js +1 -0
  482. package/.next/server/app/api/v1/videos/edits/route.js.nft.json +1 -0
  483. package/.next/server/app/api/v1/videos/edits/route_client-reference-manifest.js +1 -0
  484. package/.next/server/app/api/v1/videos/extensions/route.js +1 -0
  485. package/.next/server/app/api/v1/videos/extensions/route.js.nft.json +1 -0
  486. package/.next/server/app/api/v1/videos/extensions/route_client-reference-manifest.js +1 -0
  487. package/.next/server/app/api/v1/videos/generations/route.js +1 -0
  488. package/.next/server/app/api/v1/videos/generations/route.js.nft.json +1 -0
  489. package/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -0
  490. package/.next/server/app/api/v1/web/fetch/route.js +1 -0
  491. package/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -0
  492. package/.next/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -0
  493. package/.next/server/app/api/v1beta/models/[...path]/route.js +1 -0
  494. package/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -0
  495. package/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -0
  496. package/.next/server/app/api/v1beta/models/route.js +1 -0
  497. package/.next/server/app/api/v1beta/models/route.js.nft.json +1 -0
  498. package/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -0
  499. package/.next/server/app/api/version/route.js +1 -0
  500. package/.next/server/app/api/version/route.js.nft.json +1 -0
  501. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -0
  502. package/.next/server/app/api/version/shutdown/route.js +1 -0
  503. package/.next/server/app/api/version/shutdown/route.js.nft.json +1 -0
  504. package/.next/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -0
  505. package/.next/server/app/api/version/update/route.js +1 -0
  506. package/.next/server/app/api/version/update/route.js.nft.json +1 -0
  507. package/.next/server/app/api/version/update/route_client-reference-manifest.js +1 -0
  508. package/.next/server/app/callback/page.js +1 -0
  509. package/.next/server/app/callback/page.js.nft.json +1 -0
  510. package/.next/server/app/callback/page_client-reference-manifest.js +1 -0
  511. package/.next/server/app/callback.html +1 -0
  512. package/.next/server/app/callback.meta +26 -0
  513. package/.next/server/app/callback.rsc +28 -0
  514. package/.next/server/app/callback.segments/_full.segment.rsc +28 -0
  515. package/.next/server/app/callback.segments/_tree.segment.rsc +6 -0
  516. package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +31 -0
  517. package/.next/server/app/dashboard/basic-chat.html +1 -0
  518. package/.next/server/app/dashboard/basic-chat.meta +36 -0
  519. package/.next/server/app/dashboard/basic-chat.rsc +26 -0
  520. package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +31 -0
  521. package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +26 -0
  522. package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +6 -0
  523. package/.next/server/app/dashboard/cli-tools.html +1 -0
  524. package/.next/server/app/dashboard/cli-tools.meta +36 -0
  525. package/.next/server/app/dashboard/cli-tools.rsc +27 -0
  526. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +31 -0
  527. package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +27 -0
  528. package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +6 -0
  529. package/.next/server/app/dashboard/combos.html +1 -0
  530. package/.next/server/app/dashboard/combos.meta +36 -0
  531. package/.next/server/app/dashboard/combos.rsc +29 -0
  532. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +34 -0
  533. package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +29 -0
  534. package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +6 -0
  535. package/.next/server/app/dashboard/endpoint.html +1 -0
  536. package/.next/server/app/dashboard/endpoint.meta +36 -0
  537. package/.next/server/app/dashboard/endpoint.rsc +27 -0
  538. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +31 -0
  539. package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +27 -0
  540. package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +6 -0
  541. package/.next/server/app/dashboard/media-providers/systemone.html +1 -0
  542. package/.next/server/app/dashboard/media-providers/systemone.meta +41 -0
  543. package/.next/server/app/dashboard/media-providers/systemone.rsc +29 -0
  544. package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +35 -0
  545. package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +29 -0
  546. package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +6 -0
  547. package/.next/server/app/dashboard/profile.html +1 -0
  548. package/.next/server/app/dashboard/profile.meta +36 -0
  549. package/.next/server/app/dashboard/profile.rsc +29 -0
  550. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +34 -0
  551. package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +29 -0
  552. package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +6 -0
  553. package/.next/server/app/dashboard/providers/new.html +1 -0
  554. package/.next/server/app/dashboard/providers/new.meta +41 -0
  555. package/.next/server/app/dashboard/providers/new.rsc +29 -0
  556. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +35 -0
  557. package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +29 -0
  558. package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +6 -0
  559. package/.next/server/app/dashboard/providers.html +1 -0
  560. package/.next/server/app/dashboard/providers.meta +36 -0
  561. package/.next/server/app/dashboard/providers.rsc +29 -0
  562. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +34 -0
  563. package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +29 -0
  564. package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +6 -0
  565. package/.next/server/app/dashboard/proxy-pools.html +1 -0
  566. package/.next/server/app/dashboard/proxy-pools.meta +36 -0
  567. package/.next/server/app/dashboard/proxy-pools.rsc +29 -0
  568. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +34 -0
  569. package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +29 -0
  570. package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +6 -0
  571. package/.next/server/app/dashboard/pxpipe.html +1 -0
  572. package/.next/server/app/dashboard/pxpipe.meta +36 -0
  573. package/.next/server/app/dashboard/pxpipe.rsc +26 -0
  574. package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +31 -0
  575. package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +26 -0
  576. package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +6 -0
  577. package/.next/server/app/dashboard/quota.html +2 -0
  578. package/.next/server/app/dashboard/quota.meta +36 -0
  579. package/.next/server/app/dashboard/quota.rsc +27 -0
  580. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +32 -0
  581. package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +27 -0
  582. package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +6 -0
  583. package/.next/server/app/dashboard/settings/pricing/page.js +1 -0
  584. package/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -0
  585. package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
  586. package/.next/server/app/dashboard/settings/pricing.html +1 -0
  587. package/.next/server/app/dashboard/settings/pricing.meta +36 -0
  588. package/.next/server/app/dashboard/settings/pricing.rsc +28 -0
  589. package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +28 -0
  590. package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +6 -0
  591. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +33 -0
  592. package/.next/server/app/dashboard/token-saver.html +1 -0
  593. package/.next/server/app/dashboard/token-saver.meta +36 -0
  594. package/.next/server/app/dashboard/token-saver.rsc +26 -0
  595. package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +31 -0
  596. package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +26 -0
  597. package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +6 -0
  598. package/.next/server/app/dashboard/usage.html +2 -0
  599. package/.next/server/app/dashboard/usage.meta +36 -0
  600. package/.next/server/app/dashboard/usage.rsc +29 -0
  601. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +34 -0
  602. package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +29 -0
  603. package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +6 -0
  604. package/.next/server/app/dashboard.html +1 -0
  605. package/.next/server/app/dashboard.meta +31 -0
  606. package/.next/server/app/dashboard.rsc +27 -0
  607. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +30 -0
  608. package/.next/server/app/dashboard.segments/_full.segment.rsc +27 -0
  609. package/.next/server/app/dashboard.segments/_tree.segment.rsc +6 -0
  610. package/.next/server/app/index.html +1 -0
  611. package/.next/server/app/index.meta +23 -0
  612. package/.next/server/app/index.rsc +23 -0
  613. package/.next/server/app/index.segments/__PAGE__.segment.rsc +25 -0
  614. package/.next/server/app/index.segments/_full.segment.rsc +23 -0
  615. package/.next/server/app/index.segments/_tree.segment.rsc +6 -0
  616. package/.next/server/app/landing/page.js +1 -0
  617. package/.next/server/app/landing/page.js.nft.json +1 -0
  618. package/.next/server/app/landing/page_client-reference-manifest.js +1 -0
  619. package/.next/server/app/landing.html +1 -0
  620. package/.next/server/app/landing.meta +26 -0
  621. package/.next/server/app/landing.rsc +28 -0
  622. package/.next/server/app/landing.segments/_full.segment.rsc +28 -0
  623. package/.next/server/app/landing.segments/_tree.segment.rsc +6 -0
  624. package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +31 -0
  625. package/.next/server/app/login/page.js +1 -0
  626. package/.next/server/app/login/page.js.nft.json +1 -0
  627. package/.next/server/app/login/page_client-reference-manifest.js +1 -0
  628. package/.next/server/app/login.html +1 -0
  629. package/.next/server/app/login.meta +26 -0
  630. package/.next/server/app/login.rsc +28 -0
  631. package/.next/server/app/login.segments/_full.segment.rsc +28 -0
  632. package/.next/server/app/login.segments/_tree.segment.rsc +6 -0
  633. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +31 -0
  634. package/.next/server/app/manifest.webmanifest/route.js +17 -0
  635. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  636. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  637. package/.next/server/app/manifest.webmanifest.body +1 -0
  638. package/.next/server/app/manifest.webmanifest.meta +1 -0
  639. package/.next/server/app/page.js +1 -0
  640. package/.next/server/app/page.js.nft.json +1 -0
  641. package/.next/server/app/page_client-reference-manifest.js +1 -0
  642. package/.next/server/app-paths-manifest.json +169 -0
  643. package/.next/server/chunks/1003.js +1 -0
  644. package/.next/server/chunks/1011.js +1 -0
  645. package/.next/server/chunks/1126.js +1 -0
  646. package/.next/server/chunks/1157.js +1 -0
  647. package/.next/server/chunks/1194.js +1 -0
  648. package/.next/server/chunks/1238.js +1 -0
  649. package/.next/server/chunks/1273.js +1 -0
  650. package/.next/server/chunks/1316.js +165 -0
  651. package/.next/server/chunks/1336.js +1 -0
  652. package/.next/server/chunks/1412.js +1 -0
  653. package/.next/server/chunks/1470.js +1 -0
  654. package/.next/server/chunks/1564.js +1 -0
  655. package/.next/server/chunks/1612.js +33 -0
  656. package/.next/server/chunks/1633.js +1 -0
  657. package/.next/server/chunks/1985.js +1 -0
  658. package/.next/server/chunks/2076.js +1 -0
  659. package/.next/server/chunks/2143.js +1 -0
  660. package/.next/server/chunks/2151.js +1 -0
  661. package/.next/server/chunks/2225.js +9 -0
  662. package/.next/server/chunks/224.js +1 -0
  663. package/.next/server/chunks/2282.js +150 -0
  664. package/.next/server/chunks/2310.js +2 -0
  665. package/.next/server/chunks/2339.js +1 -0
  666. package/.next/server/chunks/2426.js +1 -0
  667. package/.next/server/chunks/257.js +67 -0
  668. package/.next/server/chunks/2638.js +1 -0
  669. package/.next/server/chunks/2706.js +1 -0
  670. package/.next/server/chunks/3023.js +9 -0
  671. package/.next/server/chunks/3034.js +9 -0
  672. package/.next/server/chunks/3179.js +1 -0
  673. package/.next/server/chunks/3250.js +9 -0
  674. package/.next/server/chunks/3336.js +1 -0
  675. package/.next/server/chunks/3425.js +1 -0
  676. package/.next/server/chunks/3481.js +9 -0
  677. package/.next/server/chunks/3512.js +29 -0
  678. package/.next/server/chunks/3533.js +1 -0
  679. package/.next/server/chunks/3544.js +1 -0
  680. package/.next/server/chunks/4129.js +1 -0
  681. package/.next/server/chunks/4139.js +9 -0
  682. package/.next/server/chunks/4301.js +7 -0
  683. package/.next/server/chunks/4364.js +1 -0
  684. package/.next/server/chunks/4464.js +1 -0
  685. package/.next/server/chunks/460.js +1 -0
  686. package/.next/server/chunks/4793.js +1 -0
  687. package/.next/server/chunks/4915.js +62 -0
  688. package/.next/server/chunks/4961.js +7 -0
  689. package/.next/server/chunks/537.js +9 -0
  690. package/.next/server/chunks/5412.js +9 -0
  691. package/.next/server/chunks/5496.js +1 -0
  692. package/.next/server/chunks/5761.js +1 -0
  693. package/.next/server/chunks/5939.js +9 -0
  694. package/.next/server/chunks/6009.js +1 -0
  695. package/.next/server/chunks/6056.js +1 -0
  696. package/.next/server/chunks/613.js +1 -0
  697. package/.next/server/chunks/6343.js +72 -0
  698. package/.next/server/chunks/6461.js +5 -0
  699. package/.next/server/chunks/6823.js +1 -0
  700. package/.next/server/chunks/7002.js +9 -0
  701. package/.next/server/chunks/7019.js +3 -0
  702. package/.next/server/chunks/7156.js +1 -0
  703. package/.next/server/chunks/7257.js +1 -0
  704. package/.next/server/chunks/7268.js +1 -0
  705. package/.next/server/chunks/7459.js +120 -0
  706. package/.next/server/chunks/7504.js +1 -0
  707. package/.next/server/chunks/7535.js +21 -0
  708. package/.next/server/chunks/7816.js +1 -0
  709. package/.next/server/chunks/7963.js +193 -0
  710. package/.next/server/chunks/8066.js +31 -0
  711. package/.next/server/chunks/8567.js +1 -0
  712. package/.next/server/chunks/8569.js +11 -0
  713. package/.next/server/chunks/8784.js +1 -0
  714. package/.next/server/chunks/881.js +10 -0
  715. package/.next/server/chunks/8857.js +1 -0
  716. package/.next/server/chunks/8923.js +1 -0
  717. package/.next/server/chunks/8940.js +1 -0
  718. package/.next/server/chunks/9018.js +1 -0
  719. package/.next/server/chunks/9250.js +7 -0
  720. package/.next/server/chunks/9287.js +1 -0
  721. package/.next/server/chunks/9429.js +2 -0
  722. package/.next/server/chunks/9603.js +1 -0
  723. package/.next/server/chunks/9614.js +1 -0
  724. package/.next/server/chunks/9646.js +1 -0
  725. package/.next/server/chunks/9792.js +9 -0
  726. package/.next/server/functions-config-manifest.json +25 -0
  727. package/.next/server/instrumentation.js +1 -0
  728. package/.next/server/instrumentation.js.nft.json +1 -0
  729. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  730. package/.next/server/middleware-build-manifest.js +1 -0
  731. package/.next/server/middleware-manifest.json +6 -0
  732. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  733. package/.next/server/middleware.js +171 -0
  734. package/.next/server/middleware.js.nft.json +1 -0
  735. package/.next/server/next-font-manifest.js +1 -0
  736. package/.next/server/next-font-manifest.json +1 -0
  737. package/.next/server/pages/404.html +1 -0
  738. package/.next/server/pages/500.html +1 -0
  739. package/.next/server/pages-manifest.json +4 -0
  740. package/.next/server/prefetch-hints.json +446 -0
  741. package/.next/server/server-reference-manifest.js +1 -0
  742. package/.next/server/server-reference-manifest.json +1 -0
  743. package/.next/server/webpack-runtime.js +1 -0
  744. package/.next/static/AiSMDHTT8m1mHG-uAmkFq/_buildManifest.js +1 -0
  745. package/.next/static/AiSMDHTT8m1mHG-uAmkFq/_ssgManifest.js +1 -0
  746. package/.next/static/chunks/1078-965aa38f6ae4f5b7.js +1 -0
  747. package/.next/static/chunks/1278-d7d5375869132de1.js +1 -0
  748. package/.next/static/chunks/1471-10f225f62f7469cc.js +1 -0
  749. package/.next/static/chunks/159-17737a7c99ff1a65.js +1 -0
  750. package/.next/static/chunks/1722-bb40b4311197204b.js +1 -0
  751. package/.next/static/chunks/1830-901fe48c3c62604f.js +1 -0
  752. package/.next/static/chunks/208-fcb6c54f9db5664f.js +1 -0
  753. package/.next/static/chunks/3153-fde052e626cc6d40.js +67 -0
  754. package/.next/static/chunks/3577-cd98d40e3099e1b0.js +1 -0
  755. package/.next/static/chunks/4484-893f9cfcbe1499df.js +1 -0
  756. package/.next/static/chunks/4489-0f3ff0134169e717.js +1 -0
  757. package/.next/static/chunks/4899.0d4260af2a463837.js +1 -0
  758. package/.next/static/chunks/5113-5c4f5181388aab72.js +1 -0
  759. package/.next/static/chunks/5166-cadbdbf7d6854cf9.js +1 -0
  760. package/.next/static/chunks/5778-9d97ce04f2ac118c.js +1 -0
  761. package/.next/static/chunks/5862-f98c2f3d480b80d2.js +1 -0
  762. package/.next/static/chunks/6817-449f7a2452845c74.js +1 -0
  763. package/.next/static/chunks/6920-e2b533c1eafa9521.js +1 -0
  764. package/.next/static/chunks/7276-16ef14f7b2cd478d.js +1 -0
  765. package/.next/static/chunks/7287-b8e377303d1c5ae8.js +11 -0
  766. package/.next/static/chunks/7552-11960bc118e4e0f7.js +1 -0
  767. package/.next/static/chunks/7822.01a4d5bdd39fa0b7.js +1 -0
  768. package/.next/static/chunks/7835-c1ef8f5cdaaad483.js +1 -0
  769. package/.next/static/chunks/80d4b624.42a8767f1c8767a3.js +1 -0
  770. package/.next/static/chunks/9369-b8c9520bc2536ff2.js +1 -0
  771. package/.next/static/chunks/9590-0d0b3dd0530b2b7b.js +1 -0
  772. package/.next/static/chunks/9966-7232c138a59bdc2f.js +52 -0
  773. package/.next/static/chunks/9980-971a38c4ad288d6c.js +1 -0
  774. package/.next/static/chunks/9ce8c186-3c7d7dbc5d428052.js +1 -0
  775. package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-c074ab1b76a6c8ba.js +1 -0
  776. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-2ff675120416e925.js +40 -0
  777. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-654e770c4dca90e8.js +1 -0
  778. package/.next/static/chunks/app/(dashboard)/dashboard/combos/page-55bc39e30923938a.js +1 -0
  779. package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-aac9a9397d3f7f17.js +1 -0
  780. package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-d60651b77028b014.js +1 -0
  781. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/page-3d78f5834ef97b82.js +10 -0
  782. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/page-e41bf53886195393.js +1 -0
  783. package/.next/static/chunks/app/(dashboard)/dashboard/page-670583d9f9c104af.js +1 -0
  784. package/.next/static/chunks/app/(dashboard)/dashboard/profile/page-53158d30b5643b05.js +1 -0
  785. package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-fd2615fea8932fd5.js +21 -0
  786. package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-7c9e30c4985582a6.js +1 -0
  787. package/.next/static/chunks/app/(dashboard)/dashboard/providers/page-7cc2c66e63fce4ab.js +1 -0
  788. package/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-5e1fb41bd7b555a6.js +4 -0
  789. package/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-1ec35dafa18e5d24.js +1 -0
  790. package/.next/static/chunks/app/(dashboard)/dashboard/quota/page-11d5ca23d18d596e.js +1 -0
  791. package/.next/static/chunks/app/(dashboard)/dashboard/token-saver/page-388b616d8c2aa3fc.js +1 -0
  792. package/.next/static/chunks/app/(dashboard)/dashboard/usage/page-466f7a8f7319ad85.js +1 -0
  793. package/.next/static/chunks/app/(dashboard)/layout-e1e5bead272b5c82.js +1 -0
  794. package/.next/static/chunks/app/_global-error/page-fe947d4ab19df968.js +1 -0
  795. package/.next/static/chunks/app/_not-found/page-d66f1e17185e98d1.js +1 -0
  796. package/.next/static/chunks/app/api/auth/login/route-fe947d4ab19df968.js +1 -0
  797. package/.next/static/chunks/app/api/auth/logout/route-fe947d4ab19df968.js +1 -0
  798. package/.next/static/chunks/app/api/auth/oidc/callback/route-fe947d4ab19df968.js +1 -0
  799. package/.next/static/chunks/app/api/auth/oidc/start/route-fe947d4ab19df968.js +1 -0
  800. package/.next/static/chunks/app/api/auth/oidc/test/route-fe947d4ab19df968.js +1 -0
  801. package/.next/static/chunks/app/api/auth/reset-password/route-fe947d4ab19df968.js +1 -0
  802. package/.next/static/chunks/app/api/auth/saml/acs/route-fe947d4ab19df968.js +1 -0
  803. package/.next/static/chunks/app/api/auth/saml/metadata/route-fe947d4ab19df968.js +1 -0
  804. package/.next/static/chunks/app/api/auth/saml/start/route-fe947d4ab19df968.js +1 -0
  805. package/.next/static/chunks/app/api/auth/saml/test/route-fe947d4ab19df968.js +1 -0
  806. package/.next/static/chunks/app/api/auth/status/route-fe947d4ab19df968.js +1 -0
  807. package/.next/static/chunks/app/api/changelog/route-fe947d4ab19df968.js +1 -0
  808. package/.next/static/chunks/app/api/cli-tools/all-statuses/route-fe947d4ab19df968.js +1 -0
  809. package/.next/static/chunks/app/api/cli-tools/claude-settings/route-fe947d4ab19df968.js +1 -0
  810. package/.next/static/chunks/app/api/cli-tools/codex-settings/route-fe947d4ab19df968.js +1 -0
  811. package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-fe947d4ab19df968.js +1 -0
  812. package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-fe947d4ab19df968.js +1 -0
  813. package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-fe947d4ab19df968.js +1 -0
  814. package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-fe947d4ab19df968.js +1 -0
  815. package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-fe947d4ab19df968.js +1 -0
  816. package/.next/static/chunks/app/api/combos/[id]/route-fe947d4ab19df968.js +1 -0
  817. package/.next/static/chunks/app/api/combos/route-fe947d4ab19df968.js +1 -0
  818. package/.next/static/chunks/app/api/headroom/extras/route-fe947d4ab19df968.js +1 -0
  819. package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-fe947d4ab19df968.js +1 -0
  820. package/.next/static/chunks/app/api/headroom/restart/route-fe947d4ab19df968.js +1 -0
  821. package/.next/static/chunks/app/api/headroom/start/route-fe947d4ab19df968.js +1 -0
  822. package/.next/static/chunks/app/api/headroom/status/route-fe947d4ab19df968.js +1 -0
  823. package/.next/static/chunks/app/api/headroom/stop/route-fe947d4ab19df968.js +1 -0
  824. package/.next/static/chunks/app/api/health/route-fe947d4ab19df968.js +1 -0
  825. package/.next/static/chunks/app/api/init/route-fe947d4ab19df968.js +1 -0
  826. package/.next/static/chunks/app/api/keys/[id]/route-fe947d4ab19df968.js +1 -0
  827. package/.next/static/chunks/app/api/keys/route-fe947d4ab19df968.js +1 -0
  828. package/.next/static/chunks/app/api/locale/route-fe947d4ab19df968.js +1 -0
  829. package/.next/static/chunks/app/api/mcp/[plugin]/message/route-fe947d4ab19df968.js +1 -0
  830. package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-fe947d4ab19df968.js +1 -0
  831. package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-fe947d4ab19df968.js +1 -0
  832. package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-fe947d4ab19df968.js +1 -0
  833. package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-fe947d4ab19df968.js +1 -0
  834. package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-fe947d4ab19df968.js +1 -0
  835. package/.next/static/chunks/app/api/media-providers/tts/voices/route-fe947d4ab19df968.js +1 -0
  836. package/.next/static/chunks/app/api/models/alias/route-fe947d4ab19df968.js +1 -0
  837. package/.next/static/chunks/app/api/models/availability/route-fe947d4ab19df968.js +1 -0
  838. package/.next/static/chunks/app/api/models/catalog-sync/route-fe947d4ab19df968.js +1 -0
  839. package/.next/static/chunks/app/api/models/custom/route-fe947d4ab19df968.js +1 -0
  840. package/.next/static/chunks/app/api/models/disabled/route-fe947d4ab19df968.js +1 -0
  841. package/.next/static/chunks/app/api/models/route-fe947d4ab19df968.js +1 -0
  842. package/.next/static/chunks/app/api/models/test/route-fe947d4ab19df968.js +1 -0
  843. package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-fe947d4ab19df968.js +1 -0
  844. package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-fe947d4ab19df968.js +1 -0
  845. package/.next/static/chunks/app/api/oauth/codex/import-token/route-fe947d4ab19df968.js +1 -0
  846. package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-fe947d4ab19df968.js +1 -0
  847. package/.next/static/chunks/app/api/oauth/cursor/import/route-fe947d4ab19df968.js +1 -0
  848. package/.next/static/chunks/app/api/oauth/gitlab/pat/route-fe947d4ab19df968.js +1 -0
  849. package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-fe947d4ab19df968.js +1 -0
  850. package/.next/static/chunks/app/api/oauth/iflow/cookie/route-fe947d4ab19df968.js +1 -0
  851. package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-fe947d4ab19df968.js +1 -0
  852. package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-fe947d4ab19df968.js +1 -0
  853. package/.next/static/chunks/app/api/pricing/route-fe947d4ab19df968.js +1 -0
  854. package/.next/static/chunks/app/api/provider-nodes/[id]/route-fe947d4ab19df968.js +1 -0
  855. package/.next/static/chunks/app/api/provider-nodes/route-fe947d4ab19df968.js +1 -0
  856. package/.next/static/chunks/app/api/provider-nodes/validate/route-fe947d4ab19df968.js +1 -0
  857. package/.next/static/chunks/app/api/providers/[id]/models/route-fe947d4ab19df968.js +1 -0
  858. package/.next/static/chunks/app/api/providers/[id]/route-fe947d4ab19df968.js +1 -0
  859. package/.next/static/chunks/app/api/providers/[id]/test/route-fe947d4ab19df968.js +1 -0
  860. package/.next/static/chunks/app/api/providers/[id]/test-models/route-fe947d4ab19df968.js +1 -0
  861. package/.next/static/chunks/app/api/providers/client/route-fe947d4ab19df968.js +1 -0
  862. package/.next/static/chunks/app/api/providers/kilo/free-models/route-fe947d4ab19df968.js +1 -0
  863. package/.next/static/chunks/app/api/providers/route-fe947d4ab19df968.js +1 -0
  864. package/.next/static/chunks/app/api/providers/suggested-models/route-fe947d4ab19df968.js +1 -0
  865. package/.next/static/chunks/app/api/providers/test-batch/route-fe947d4ab19df968.js +1 -0
  866. package/.next/static/chunks/app/api/providers/validate/route-fe947d4ab19df968.js +1 -0
  867. package/.next/static/chunks/app/api/proxy-pools/[id]/route-fe947d4ab19df968.js +1 -0
  868. package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-fe947d4ab19df968.js +1 -0
  869. package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-fe947d4ab19df968.js +1 -0
  870. package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-fe947d4ab19df968.js +1 -0
  871. package/.next/static/chunks/app/api/proxy-pools/route-fe947d4ab19df968.js +1 -0
  872. package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-fe947d4ab19df968.js +1 -0
  873. package/.next/static/chunks/app/api/pxpipe/health/route-fe947d4ab19df968.js +1 -0
  874. package/.next/static/chunks/app/api/pxpipe/install/route-fe947d4ab19df968.js +1 -0
  875. package/.next/static/chunks/app/api/pxpipe/logs/route-fe947d4ab19df968.js +1 -0
  876. package/.next/static/chunks/app/api/pxpipe/restart/route-fe947d4ab19df968.js +1 -0
  877. package/.next/static/chunks/app/api/pxpipe/start/route-fe947d4ab19df968.js +1 -0
  878. package/.next/static/chunks/app/api/pxpipe/stats/route-fe947d4ab19df968.js +1 -0
  879. package/.next/static/chunks/app/api/pxpipe/status/route-fe947d4ab19df968.js +1 -0
  880. package/.next/static/chunks/app/api/pxpipe/stop/route-fe947d4ab19df968.js +1 -0
  881. package/.next/static/chunks/app/api/settings/database/route-fe947d4ab19df968.js +1 -0
  882. package/.next/static/chunks/app/api/settings/proxy-test/route-fe947d4ab19df968.js +1 -0
  883. package/.next/static/chunks/app/api/settings/require-login/route-fe947d4ab19df968.js +1 -0
  884. package/.next/static/chunks/app/api/settings/route-fe947d4ab19df968.js +1 -0
  885. package/.next/static/chunks/app/api/shutdown/route-fe947d4ab19df968.js +1 -0
  886. package/.next/static/chunks/app/api/tags/route-fe947d4ab19df968.js +1 -0
  887. package/.next/static/chunks/app/api/translator/console-logs/route-fe947d4ab19df968.js +1 -0
  888. package/.next/static/chunks/app/api/translator/console-logs/stream/route-fe947d4ab19df968.js +1 -0
  889. package/.next/static/chunks/app/api/translator/load/route-fe947d4ab19df968.js +1 -0
  890. package/.next/static/chunks/app/api/translator/save/route-fe947d4ab19df968.js +1 -0
  891. package/.next/static/chunks/app/api/translator/send/route-fe947d4ab19df968.js +1 -0
  892. package/.next/static/chunks/app/api/translator/translate/route-fe947d4ab19df968.js +1 -0
  893. package/.next/static/chunks/app/api/tunnel/disable/route-fe947d4ab19df968.js +1 -0
  894. package/.next/static/chunks/app/api/tunnel/enable/route-fe947d4ab19df968.js +1 -0
  895. package/.next/static/chunks/app/api/tunnel/status/route-fe947d4ab19df968.js +1 -0
  896. package/.next/static/chunks/app/api/tunnel/tailscale-check/route-fe947d4ab19df968.js +1 -0
  897. package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-fe947d4ab19df968.js +1 -0
  898. package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-fe947d4ab19df968.js +1 -0
  899. package/.next/static/chunks/app/api/tunnel/tailscale-install/route-fe947d4ab19df968.js +1 -0
  900. package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-fe947d4ab19df968.js +1 -0
  901. package/.next/static/chunks/app/api/usage/[connectionId]/route-fe947d4ab19df968.js +1 -0
  902. package/.next/static/chunks/app/api/usage/chart/route-fe947d4ab19df968.js +1 -0
  903. package/.next/static/chunks/app/api/usage/history/route-fe947d4ab19df968.js +1 -0
  904. package/.next/static/chunks/app/api/usage/logs/route-fe947d4ab19df968.js +1 -0
  905. package/.next/static/chunks/app/api/usage/providers/route-fe947d4ab19df968.js +1 -0
  906. package/.next/static/chunks/app/api/usage/request-details/route-fe947d4ab19df968.js +1 -0
  907. package/.next/static/chunks/app/api/usage/request-logs/route-fe947d4ab19df968.js +1 -0
  908. package/.next/static/chunks/app/api/usage/stats/route-fe947d4ab19df968.js +1 -0
  909. package/.next/static/chunks/app/api/usage/stream/route-fe947d4ab19df968.js +1 -0
  910. package/.next/static/chunks/app/api/v1/api/chat/route-fe947d4ab19df968.js +1 -0
  911. package/.next/static/chunks/app/api/v1/audio/speech/route-fe947d4ab19df968.js +1 -0
  912. package/.next/static/chunks/app/api/v1/audio/transcriptions/route-fe947d4ab19df968.js +1 -0
  913. package/.next/static/chunks/app/api/v1/audio/voices/route-fe947d4ab19df968.js +1 -0
  914. package/.next/static/chunks/app/api/v1/chat/completions/route-fe947d4ab19df968.js +1 -0
  915. package/.next/static/chunks/app/api/v1/embeddings/route-fe947d4ab19df968.js +1 -0
  916. package/.next/static/chunks/app/api/v1/images/generations/route-fe947d4ab19df968.js +1 -0
  917. package/.next/static/chunks/app/api/v1/messages/count_tokens/route-fe947d4ab19df968.js +1 -0
  918. package/.next/static/chunks/app/api/v1/messages/route-fe947d4ab19df968.js +1 -0
  919. package/.next/static/chunks/app/api/v1/models/[...model]/route-fe947d4ab19df968.js +1 -0
  920. package/.next/static/chunks/app/api/v1/models/info/route-fe947d4ab19df968.js +1 -0
  921. package/.next/static/chunks/app/api/v1/models/route-fe947d4ab19df968.js +1 -0
  922. package/.next/static/chunks/app/api/v1/responses/compact/route-fe947d4ab19df968.js +1 -0
  923. package/.next/static/chunks/app/api/v1/responses/route-fe947d4ab19df968.js +1 -0
  924. package/.next/static/chunks/app/api/v1/route-fe947d4ab19df968.js +1 -0
  925. package/.next/static/chunks/app/api/v1/search/route-fe947d4ab19df968.js +1 -0
  926. package/.next/static/chunks/app/api/v1/systemone/route-fe947d4ab19df968.js +1 -0
  927. package/.next/static/chunks/app/api/v1/videos/[id]/route-fe947d4ab19df968.js +1 -0
  928. package/.next/static/chunks/app/api/v1/videos/edits/route-fe947d4ab19df968.js +1 -0
  929. package/.next/static/chunks/app/api/v1/videos/extensions/route-fe947d4ab19df968.js +1 -0
  930. package/.next/static/chunks/app/api/v1/videos/generations/route-fe947d4ab19df968.js +1 -0
  931. package/.next/static/chunks/app/api/v1/web/fetch/route-fe947d4ab19df968.js +1 -0
  932. package/.next/static/chunks/app/api/v1beta/models/[...path]/route-fe947d4ab19df968.js +1 -0
  933. package/.next/static/chunks/app/api/v1beta/models/route-fe947d4ab19df968.js +1 -0
  934. package/.next/static/chunks/app/api/version/route-fe947d4ab19df968.js +1 -0
  935. package/.next/static/chunks/app/api/version/shutdown/route-fe947d4ab19df968.js +1 -0
  936. package/.next/static/chunks/app/api/version/update/route-fe947d4ab19df968.js +1 -0
  937. package/.next/static/chunks/app/callback/page-f4019bfc06b9a21c.js +1 -0
  938. package/.next/static/chunks/app/dashboard/settings/pricing/page-b9ee16bd322c018e.js +1 -0
  939. package/.next/static/chunks/app/landing/page-a088604744d51552.js +1 -0
  940. package/.next/static/chunks/app/layout-56cb8d3773a70c00.js +1 -0
  941. package/.next/static/chunks/app/login/page-dd11fb741ed7fda4.js +1 -0
  942. package/.next/static/chunks/app/manifest.webmanifest/route-fe947d4ab19df968.js +1 -0
  943. package/.next/static/chunks/app/page-fe947d4ab19df968.js +1 -0
  944. package/.next/static/chunks/e138dfde-a5c7fa92857215f2.js +1 -0
  945. package/.next/static/chunks/framework-c33600f6d7c90335.js +1 -0
  946. package/.next/static/chunks/main-536afed42e49674c.js +5 -0
  947. package/.next/static/chunks/main-app-17abdf14ff64ab69.js +1 -0
  948. package/.next/static/chunks/next/dist/client/components/builtin/app-error-fe947d4ab19df968.js +1 -0
  949. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-fe947d4ab19df968.js +1 -0
  950. package/.next/static/chunks/next/dist/client/components/builtin/global-error-21486667022bd4cf.js +1 -0
  951. package/.next/static/chunks/next/dist/client/components/builtin/not-found-fe947d4ab19df968.js +1 -0
  952. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-fe947d4ab19df968.js +1 -0
  953. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  954. package/.next/static/chunks/webpack-452a2f4aec1a53ee.js +1 -0
  955. package/.next/static/css/8fbebca0759ae504.css +1 -0
  956. package/.next/static/css/e07f2bf4fa519943.css +31 -0
  957. package/.next/static/css/e9178fa7e53ec623.css +1 -0
  958. package/.next/static/media/17cf9497af825577-s.woff2 +0 -0
  959. package/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  960. package/.next/static/media/1abbc144918f74fd-s.p.woff2 +0 -0
  961. package/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  962. package/.next/static/media/8c96cc4bd2a39381-s.p.woff2 +0 -0
  963. package/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  964. package/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  965. package/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  966. package/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  967. package/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  968. package/LICENSE.md +21 -0
  969. package/README.md +67 -0
  970. package/bin/10router.mjs +301 -0
  971. package/custom-server.js +147 -0
  972. package/next.config.mjs +110 -0
  973. package/open-sse/AGENTS.md +39 -0
  974. package/open-sse/config/appConstants.js +221 -0
  975. package/open-sse/config/codexInstructions.js +119 -0
  976. package/open-sse/config/defaultThinkingSignature.js +14 -0
  977. package/open-sse/config/errorConfig.js +94 -0
  978. package/open-sse/config/googleTtsLanguages.js +62 -0
  979. package/open-sse/config/grokCli.js +10 -0
  980. package/open-sse/config/mediaConfig.js +27 -0
  981. package/open-sse/config/models.js +13 -0
  982. package/open-sse/config/ollamaModels.js +28 -0
  983. package/open-sse/config/providerModels.js +138 -0
  984. package/open-sse/config/providers.js +21 -0
  985. package/open-sse/config/runtimeConfig.js +101 -0
  986. package/open-sse/config/ttsModels.js +199 -0
  987. package/open-sse/executors/antigravity.js +706 -0
  988. package/open-sse/executors/base.js +231 -0
  989. package/open-sse/executors/codex.js +606 -0
  990. package/open-sse/executors/cursor.js +1251 -0
  991. package/open-sse/executors/default.js +352 -0
  992. package/open-sse/executors/index.js +50 -0
  993. package/open-sse/executors/opencode-go.js +216 -0
  994. package/open-sse/executors/opencode-zen.js +343 -0
  995. package/open-sse/executors/opencode.js +618 -0
  996. package/open-sse/executors/qoder.js +860 -0
  997. package/open-sse/executors/xiaomi-mimo.js +107 -0
  998. package/open-sse/executors/xiaomi-tokenplan.js +20 -0
  999. package/open-sse/executors/zed.js +330 -0
  1000. package/open-sse/handlers/chatCore/nonStreamingHandler.js +490 -0
  1001. package/open-sse/handlers/chatCore/requestDetail.js +169 -0
  1002. package/open-sse/handlers/chatCore/sseToJsonHandler.js +503 -0
  1003. package/open-sse/handlers/chatCore/streamingHandler.js +310 -0
  1004. package/open-sse/handlers/chatCore.js +740 -0
  1005. package/open-sse/handlers/embeddingProviders/_base.js +4 -0
  1006. package/open-sse/handlers/embeddingProviders/gemini.js +55 -0
  1007. package/open-sse/handlers/embeddingProviders/index.js +41 -0
  1008. package/open-sse/handlers/embeddingProviders/openai.js +31 -0
  1009. package/open-sse/handlers/embeddingProviders/openaiCompatNode.js +13 -0
  1010. package/open-sse/handlers/embeddingProviders/selfhostedEmbedding.js +49 -0
  1011. package/open-sse/handlers/embeddingsCore.js +144 -0
  1012. package/open-sse/handlers/fetch/index.js +415 -0
  1013. package/open-sse/handlers/imageGenerationCore.js +261 -0
  1014. package/open-sse/handlers/imageProviders/_base.js +31 -0
  1015. package/open-sse/handlers/imageProviders/antigravity.js +88 -0
  1016. package/open-sse/handlers/imageProviders/blackForestLabs.js +47 -0
  1017. package/open-sse/handlers/imageProviders/codex.js +235 -0
  1018. package/open-sse/handlers/imageProviders/comfyui.js +12 -0
  1019. package/open-sse/handlers/imageProviders/falAi.js +44 -0
  1020. package/open-sse/handlers/imageProviders/gemini.js +28 -0
  1021. package/open-sse/handlers/imageProviders/huggingface.js +23 -0
  1022. package/open-sse/handlers/imageProviders/index.js +41 -0
  1023. package/open-sse/handlers/imageProviders/nanobanana.js +61 -0
  1024. package/open-sse/handlers/imageProviders/openai.js +33 -0
  1025. package/open-sse/handlers/imageProviders/runwayml.js +60 -0
  1026. package/open-sse/handlers/imageProviders/sdwebui.js +22 -0
  1027. package/open-sse/handlers/imageProviders/stabilityAi.js +35 -0
  1028. package/open-sse/handlers/responsesHandler.js +107 -0
  1029. package/open-sse/handlers/search/callers.js +469 -0
  1030. package/open-sse/handlers/search/chatSearch.js +502 -0
  1031. package/open-sse/handlers/search/index.js +246 -0
  1032. package/open-sse/handlers/search/normalizers.js +414 -0
  1033. package/open-sse/handlers/sttCore.js +262 -0
  1034. package/open-sse/handlers/systemoneCore.js +89 -0
  1035. package/open-sse/handlers/ttsCore.js +88 -0
  1036. package/open-sse/handlers/ttsProviders/_base.js +51 -0
  1037. package/open-sse/handlers/ttsProviders/edgeTts.js +89 -0
  1038. package/open-sse/handlers/ttsProviders/elevenlabs.js +48 -0
  1039. package/open-sse/handlers/ttsProviders/gemini.js +136 -0
  1040. package/open-sse/handlers/ttsProviders/genericFormats.js +191 -0
  1041. package/open-sse/handlers/ttsProviders/googleTts.js +64 -0
  1042. package/open-sse/handlers/ttsProviders/index.js +56 -0
  1043. package/open-sse/handlers/ttsProviders/localDevice.js +98 -0
  1044. package/open-sse/handlers/ttsProviders/minimax.js +63 -0
  1045. package/open-sse/handlers/ttsProviders/openai.js +36 -0
  1046. package/open-sse/handlers/ttsProviders/openrouter.js +73 -0
  1047. package/open-sse/handlers/ttsProviders/selfhostedTts.js +70 -0
  1048. package/open-sse/handlers/ttsProviders/xiaomi-mimo.js +71 -0
  1049. package/open-sse/handlers/videoCore.js +242 -0
  1050. package/open-sse/handlers/videoProviders/index.js +12 -0
  1051. package/open-sse/handlers/videoProviders/openrouter.js +43 -0
  1052. package/open-sse/index.js +84 -0
  1053. package/open-sse/providers/REGISTRY_TEMPLATE.js +98 -0
  1054. package/open-sse/providers/capabilities.js +1543 -0
  1055. package/open-sse/providers/catalogOverride.js +82 -0
  1056. package/open-sse/providers/index.js +63 -0
  1057. package/open-sse/providers/models/helpers.js +27 -0
  1058. package/open-sse/providers/models/namePatterns.js +33 -0
  1059. package/open-sse/providers/models/schema.js +48 -0
  1060. package/open-sse/providers/pricing.js +1204 -0
  1061. package/open-sse/providers/registry/antigravity.js +147 -0
  1062. package/open-sse/providers/registry/claude.js +81 -0
  1063. package/open-sse/providers/registry/codex.js +210 -0
  1064. package/open-sse/providers/registry/cursor.js +58 -0
  1065. package/open-sse/providers/registry/deepseek.js +74 -0
  1066. package/open-sse/providers/registry/fish-audio.js +31 -0
  1067. package/open-sse/providers/registry/gemini.js +126 -0
  1068. package/open-sse/providers/registry/glm-cn.js +39 -0
  1069. package/open-sse/providers/registry/glm.js +75 -0
  1070. package/open-sse/providers/registry/groq.js +62 -0
  1071. package/open-sse/providers/registry/huggingface.js +40 -0
  1072. package/open-sse/providers/registry/iflow.js +52 -0
  1073. package/open-sse/providers/registry/index.js +59 -0
  1074. package/open-sse/providers/registry/mimo-free.js +25 -0
  1075. package/open-sse/providers/registry/minimax-cn.js +82 -0
  1076. package/open-sse/providers/registry/minimax.js +94 -0
  1077. package/open-sse/providers/registry/openai.js +122 -0
  1078. package/open-sse/providers/registry/opencode-go.js +115 -0
  1079. package/open-sse/providers/registry/opencode-zen.js +297 -0
  1080. package/open-sse/providers/registry/opencode.js +54 -0
  1081. package/open-sse/providers/registry/openrouter.js +128 -0
  1082. package/open-sse/providers/registry/qoder.js +61 -0
  1083. package/open-sse/providers/registry/siliconflow.js +39 -0
  1084. package/open-sse/providers/registry/vercel-ai-gateway.js +42 -0
  1085. package/open-sse/providers/registry/xai.js +59 -0
  1086. package/open-sse/providers/registry/xiaomi-mimo.js +90 -0
  1087. package/open-sse/providers/registry/xiaomi-tokenplan.js +66 -0
  1088. package/open-sse/providers/registry/xquik.js +31 -0
  1089. package/open-sse/providers/registry/zed.js +70 -0
  1090. package/open-sse/providers/schema.js +76 -0
  1091. package/open-sse/providers/shared.js +114 -0
  1092. package/open-sse/providers/thinkingLevels.js +74 -0
  1093. package/open-sse/providers/visionPatterns.js +58 -0
  1094. package/open-sse/rtk/applyFilter.js +17 -0
  1095. package/open-sse/rtk/autodetect.js +124 -0
  1096. package/open-sse/rtk/caveman.js +9 -0
  1097. package/open-sse/rtk/cavemanPrompts.js +118 -0
  1098. package/open-sse/rtk/constants.js +78 -0
  1099. package/open-sse/rtk/filters/buildOutput.js +133 -0
  1100. package/open-sse/rtk/filters/dedupLog.js +44 -0
  1101. package/open-sse/rtk/filters/find.js +50 -0
  1102. package/open-sse/rtk/filters/gitDiff.js +92 -0
  1103. package/open-sse/rtk/filters/gitLog.js +102 -0
  1104. package/open-sse/rtk/filters/gitStatus.js +129 -0
  1105. package/open-sse/rtk/filters/grep.js +48 -0
  1106. package/open-sse/rtk/filters/ls.js +83 -0
  1107. package/open-sse/rtk/filters/readNumbered.js +27 -0
  1108. package/open-sse/rtk/filters/searchList.js +52 -0
  1109. package/open-sse/rtk/filters/smartTruncate.js +19 -0
  1110. package/open-sse/rtk/filters/tree.js +32 -0
  1111. package/open-sse/rtk/headroom.js +296 -0
  1112. package/open-sse/rtk/index.js +122 -0
  1113. package/open-sse/rtk/ponytail.js +9 -0
  1114. package/open-sse/rtk/ponytailPrompt.js +58 -0
  1115. package/open-sse/rtk/pxpipe.js +113 -0
  1116. package/open-sse/rtk/registry.js +40 -0
  1117. package/open-sse/rtk/systemInject.js +301 -0
  1118. package/open-sse/services/accountFallback.js +244 -0
  1119. package/open-sse/services/capacityAdapter.js +182 -0
  1120. package/open-sse/services/combo.js +715 -0
  1121. package/open-sse/services/compact.js +70 -0
  1122. package/open-sse/services/copilotModels.js +163 -0
  1123. package/open-sse/services/cursorModels.js +209 -0
  1124. package/open-sse/services/grokCliModels.js +128 -0
  1125. package/open-sse/services/kimchiModels.js +191 -0
  1126. package/open-sse/services/model.js +141 -0
  1127. package/open-sse/services/oauthCredentialManager.js +165 -0
  1128. package/open-sse/services/projectId.js +343 -0
  1129. package/open-sse/services/provider.js +181 -0
  1130. package/open-sse/services/qoderModels.js +410 -0
  1131. package/open-sse/services/thoughtSignatureStore.js +210 -0
  1132. package/open-sse/services/tokenRefresh/dedup.js +31 -0
  1133. package/open-sse/services/tokenRefresh/providers.js +564 -0
  1134. package/open-sse/services/tokenRefresh.js +201 -0
  1135. package/open-sse/services/usage/antigravity-weekly.js +155 -0
  1136. package/open-sse/services/usage/claude.js +211 -0
  1137. package/open-sse/services/usage/codebuddy-cn.js +172 -0
  1138. package/open-sse/services/usage/codex.js +283 -0
  1139. package/open-sse/services/usage/commandcode.js +153 -0
  1140. package/open-sse/services/usage/deepseek.js +103 -0
  1141. package/open-sse/services/usage/github.js +107 -0
  1142. package/open-sse/services/usage/glm.js +88 -0
  1143. package/open-sse/services/usage/google.js +223 -0
  1144. package/open-sse/services/usage/grok-cli.js +414 -0
  1145. package/open-sse/services/usage/grokCliQuotaFrame.js +194 -0
  1146. package/open-sse/services/usage/groq.js +133 -0
  1147. package/open-sse/services/usage/minimax.js +297 -0
  1148. package/open-sse/services/usage/misc.js +275 -0
  1149. package/open-sse/services/usage/opencode-go.js +106 -0
  1150. package/open-sse/services/usage/shared.js +70 -0
  1151. package/open-sse/services/usage/xiaomi-mimo.js +129 -0
  1152. package/open-sse/services/usage/zed.js +220 -0
  1153. package/open-sse/services/usage.js +88 -0
  1154. package/open-sse/shared/machineId.js +23 -0
  1155. package/open-sse/shared/mimoAccount.js +306 -0
  1156. package/open-sse/shared/qoder/attachments.js +436 -0
  1157. package/open-sse/shared/qoder/constants.js +182 -0
  1158. package/open-sse/shared/qoder/contextTier.js +180 -0
  1159. package/open-sse/shared/qoder/cosy.js +175 -0
  1160. package/open-sse/shared/qoder/encoding.js +55 -0
  1161. package/open-sse/shared/qoder/sse.js +209 -0
  1162. package/open-sse/shared/zedAuth.js +431 -0
  1163. package/open-sse/transformer/responsesTransformer.js +438 -0
  1164. package/open-sse/transformer/streamToJsonConverter.js +113 -0
  1165. package/open-sse/translator/concerns/chunk.js +11 -0
  1166. package/open-sse/translator/concerns/finishReason.js +87 -0
  1167. package/open-sse/translator/concerns/image.js +158 -0
  1168. package/open-sse/translator/concerns/json.js +9 -0
  1169. package/open-sse/translator/concerns/message.js +8 -0
  1170. package/open-sse/translator/concerns/modality.js +182 -0
  1171. package/open-sse/translator/concerns/paramSupport.js +80 -0
  1172. package/open-sse/translator/concerns/prefetch.js +111 -0
  1173. package/open-sse/translator/concerns/reasoning.js +23 -0
  1174. package/open-sse/translator/concerns/thinking.js +53 -0
  1175. package/open-sse/translator/concerns/thinkingUnified.js +438 -0
  1176. package/open-sse/translator/concerns/toolCall.js +185 -0
  1177. package/open-sse/translator/concerns/usage.js +98 -0
  1178. package/open-sse/translator/formats/claude.js +705 -0
  1179. package/open-sse/translator/formats/gemini.js +498 -0
  1180. package/open-sse/translator/formats/maxTokens.js +33 -0
  1181. package/open-sse/translator/formats/openai.js +150 -0
  1182. package/open-sse/translator/formats/responsesApi.js +210 -0
  1183. package/open-sse/translator/formats.js +32 -0
  1184. package/open-sse/translator/index.js +297 -0
  1185. package/open-sse/translator/request/antigravity-to-openai.js +250 -0
  1186. package/open-sse/translator/request/claude-to-openai.js +297 -0
  1187. package/open-sse/translator/request/gemini-to-openai.js +152 -0
  1188. package/open-sse/translator/request/openai-responses.js +502 -0
  1189. package/open-sse/translator/request/openai-to-claude.js +413 -0
  1190. package/open-sse/translator/request/openai-to-cursor.js +185 -0
  1191. package/open-sse/translator/request/openai-to-gemini.js +477 -0
  1192. package/open-sse/translator/response/claude-to-openai.js +227 -0
  1193. package/open-sse/translator/response/cursor-to-openai.js +30 -0
  1194. package/open-sse/translator/response/gemini-to-openai.js +172 -0
  1195. package/open-sse/translator/response/openai-responses.js +652 -0
  1196. package/open-sse/translator/response/openai-to-antigravity.js +127 -0
  1197. package/open-sse/translator/response/openai-to-claude.js +276 -0
  1198. package/open-sse/translator/schema/blocks.js +57 -0
  1199. package/open-sse/translator/schema/defaults.js +7 -0
  1200. package/open-sse/translator/schema/finishReasons.js +28 -0
  1201. package/open-sse/translator/schema/index.js +11 -0
  1202. package/open-sse/translator/schema/roles.js +16 -0
  1203. package/open-sse/utils/bypassHandler.js +327 -0
  1204. package/open-sse/utils/claudeCloaking.js +274 -0
  1205. package/open-sse/utils/claudeSignature.js +41 -0
  1206. package/open-sse/utils/claudeToolTypeSelfCheck.mjs +121 -0
  1207. package/open-sse/utils/clientDetector.js +70 -0
  1208. package/open-sse/utils/codexToolSchema.js +80 -0
  1209. package/open-sse/utils/cursorChecksum.js +151 -0
  1210. package/open-sse/utils/cursorProtobuf.js +999 -0
  1211. package/open-sse/utils/debugLog.js +19 -0
  1212. package/open-sse/utils/error.js +159 -0
  1213. package/open-sse/utils/modelMarkers.js +23 -0
  1214. package/open-sse/utils/ollamaTransform.js +102 -0
  1215. package/open-sse/utils/opencodeFreeUsage.js +115 -0
  1216. package/open-sse/utils/proxyFetch.js +258 -0
  1217. package/open-sse/utils/reasoningContentInjector.js +77 -0
  1218. package/open-sse/utils/requestLogger.js +271 -0
  1219. package/open-sse/utils/responsesStreamHelpers.js +53 -0
  1220. package/open-sse/utils/sessionManager.js +286 -0
  1221. package/open-sse/utils/sse.js +14 -0
  1222. package/open-sse/utils/sseConstants.js +23 -0
  1223. package/open-sse/utils/stream.js +612 -0
  1224. package/open-sse/utils/streamHandler.js +329 -0
  1225. package/open-sse/utils/streamHelpers.js +155 -0
  1226. package/open-sse/utils/toolDeduper.js +49 -0
  1227. package/open-sse/utils/usageTracking.js +473 -0
  1228. package/package.json +118 -0
  1229. package/public/favicon.svg +72 -0
  1230. package/public/i18n/literals/fa.json +1380 -0
  1231. package/public/icons/icon-192.svg +22 -0
  1232. package/public/icons/icon-512.svg +22 -0
  1233. package/public/icons/icon.svg +72 -0
  1234. package/public/providers/agentrouter.png +0 -0
  1235. package/public/providers/alicode-intl.png +0 -0
  1236. package/public/providers/alicode.png +0 -0
  1237. package/public/providers/alims-intl.png +0 -0
  1238. package/public/providers/alitp-intl.png +0 -0
  1239. package/public/providers/amp.png +0 -0
  1240. package/public/providers/anthropic.png +0 -0
  1241. package/public/providers/api-airforce.png +0 -0
  1242. package/public/providers/assemblyai.png +0 -0
  1243. package/public/providers/aws-polly.png +0 -0
  1244. package/public/providers/azure.png +0 -0
  1245. package/public/providers/baidu.png +0 -0
  1246. package/public/providers/bazaarlink.png +0 -0
  1247. package/public/providers/black-forest-labs.png +0 -0
  1248. package/public/providers/blackbox.png +0 -0
  1249. package/public/providers/bluesminds.png +0 -0
  1250. package/public/providers/brave-search.png +0 -0
  1251. package/public/providers/byteplus.png +0 -0
  1252. package/public/providers/cartesia.png +0 -0
  1253. package/public/providers/cerebras.png +0 -0
  1254. package/public/providers/chutes.png +0 -0
  1255. package/public/providers/claude.png +0 -0
  1256. package/public/providers/clinepass.png +0 -0
  1257. package/public/providers/codebuddy-cn.png +0 -0
  1258. package/public/providers/codebuddy-intl.png +0 -0
  1259. package/public/providers/codex.png +0 -0
  1260. package/public/providers/cohere.png +0 -0
  1261. package/public/providers/comfyui.png +0 -0
  1262. package/public/providers/commandcode.png +0 -0
  1263. package/public/providers/continue.png +0 -0
  1264. package/public/providers/coqui.png +0 -0
  1265. package/public/providers/cursor.png +0 -0
  1266. package/public/providers/deepgram.png +0 -0
  1267. package/public/providers/deepseek-tui.png +0 -0
  1268. package/public/providers/deepseek.png +0 -0
  1269. package/public/providers/devin-cli.png +0 -0
  1270. package/public/providers/droid.png +0 -0
  1271. package/public/providers/edge-tts.png +0 -0
  1272. package/public/providers/elevenlabs.png +0 -0
  1273. package/public/providers/exa.png +0 -0
  1274. package/public/providers/fal-ai.png +0 -0
  1275. package/public/providers/featherless.png +0 -0
  1276. package/public/providers/firecrawl.png +0 -0
  1277. package/public/providers/fireworks.png +0 -0
  1278. package/public/providers/fish-audio.png +0 -0
  1279. package/public/providers/gemini.png +0 -0
  1280. package/public/providers/github.png +0 -0
  1281. package/public/providers/gitlab.png +0 -0
  1282. package/public/providers/glm-cn.png +0 -0
  1283. package/public/providers/glm.png +0 -0
  1284. package/public/providers/google-pse.png +0 -0
  1285. package/public/providers/google-tts.png +0 -0
  1286. package/public/providers/grok-cli.png +0 -0
  1287. package/public/providers/grok-web.png +0 -0
  1288. package/public/providers/groq.png +0 -0
  1289. package/public/providers/hermes.png +0 -0
  1290. package/public/providers/huggingface.png +0 -0
  1291. package/public/providers/hyperbolic.png +0 -0
  1292. package/public/providers/iflow.png +0 -0
  1293. package/public/providers/inworld.png +0 -0
  1294. package/public/providers/jcode.png +0 -0
  1295. package/public/providers/jina-ai.png +0 -0
  1296. package/public/providers/jina-reader.png +0 -0
  1297. package/public/providers/kilo-gateway.png +0 -0
  1298. package/public/providers/kilocode.png +0 -0
  1299. package/public/providers/kimchi.png +0 -0
  1300. package/public/providers/kimchi.svg +4 -0
  1301. package/public/providers/linkup.png +0 -0
  1302. package/public/providers/llm7.png +0 -0
  1303. package/public/providers/local-device.png +0 -0
  1304. package/public/providers/longcat.png +0 -0
  1305. package/public/providers/mimo-free.png +0 -0
  1306. package/public/providers/minimax-cn.png +0 -0
  1307. package/public/providers/minimax.png +0 -0
  1308. package/public/providers/mistral.png +0 -0
  1309. package/public/providers/mmf.png +0 -0
  1310. package/public/providers/morph.png +0 -0
  1311. package/public/providers/nanobanana.png +0 -0
  1312. package/public/providers/nebius.png +0 -0
  1313. package/public/providers/novita.png +0 -0
  1314. package/public/providers/nvidia.png +0 -0
  1315. package/public/providers/ollama-local.png +0 -0
  1316. package/public/providers/ollama.png +0 -0
  1317. package/public/providers/openai.png +0 -0
  1318. package/public/providers/openclaw.png +0 -0
  1319. package/public/providers/opencode-go.png +0 -0
  1320. package/public/providers/opencode.png +0 -0
  1321. package/public/providers/opendesign.png +0 -0
  1322. package/public/providers/openrouter.png +0 -0
  1323. package/public/providers/perplexity-agent.png +0 -0
  1324. package/public/providers/perplexity-web.png +0 -0
  1325. package/public/providers/perplexity.png +0 -0
  1326. package/public/providers/playht.png +0 -0
  1327. package/public/providers/poolside.png +0 -0
  1328. package/public/providers/qoder.png +0 -0
  1329. package/public/providers/qwen.png +0 -0
  1330. package/public/providers/recraft.png +0 -0
  1331. package/public/providers/reka.png +0 -0
  1332. package/public/providers/roo.png +0 -0
  1333. package/public/providers/runwayml.png +0 -0
  1334. package/public/providers/sambanova.png +0 -0
  1335. package/public/providers/sdwebui.png +0 -0
  1336. package/public/providers/searchapi.png +0 -0
  1337. package/public/providers/searxng.png +0 -0
  1338. package/public/providers/selfhosted-embedding.png +0 -0
  1339. package/public/providers/selfhosted-stt.png +0 -0
  1340. package/public/providers/selfhosted-tts.png +0 -0
  1341. package/public/providers/serper.png +0 -0
  1342. package/public/providers/siliconflow.png +0 -0
  1343. package/public/providers/stability-ai.png +0 -0
  1344. package/public/providers/tavily.png +0 -0
  1345. package/public/providers/tencent.png +0 -0
  1346. package/public/providers/together.png +0 -0
  1347. package/public/providers/tokenrouter.png +0 -0
  1348. package/public/providers/topaz.png +0 -0
  1349. package/public/providers/tortoise.png +0 -0
  1350. package/public/providers/trae.png +0 -0
  1351. package/public/providers/venice.png +0 -0
  1352. package/public/providers/vercel-ai-gateway.png +0 -0
  1353. package/public/providers/vercel.png +0 -0
  1354. package/public/providers/volcengine-ark.png +0 -0
  1355. package/public/providers/voyage-ai.png +0 -0
  1356. package/public/providers/windsurf.png +0 -0
  1357. package/public/providers/workbuddy.png +0 -0
  1358. package/public/providers/xai.png +0 -0
  1359. package/public/providers/xiaomi-mimo.png +0 -0
  1360. package/public/providers/xiaomi-tokenplan.png +0 -0
  1361. package/public/providers/xquik.png +0 -0
  1362. package/public/providers/youcom.png +0 -0
  1363. package/public/providers/zed.png +0 -0
  1364. package/public/sw.js +22 -0
  1365. package/scripts/dev-local.mjs +67 -0
  1366. package/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx +1140 -0
  1367. package/src/app/(dashboard)/dashboard/basic-chat/page.tsx +5 -0
  1368. package/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.tsx +69 -0
  1369. package/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.tsx +279 -0
  1370. package/src/app/(dashboard)/dashboard/cli-tools/[toolId]/page.tsx +11 -0
  1371. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/ClaudeToolCard.tsx +705 -0
  1372. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/CodexToolCard.tsx +596 -0
  1373. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/CoworkToolCard.tsx +835 -0
  1374. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/DefaultToolCard.tsx +318 -0
  1375. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/DshToolCard.tsx +537 -0
  1376. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/OpenCodeToolCard.tsx +661 -0
  1377. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/ToolSummaryCard.tsx +49 -0
  1378. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/index.ts +7 -0
  1379. package/src/app/(dashboard)/dashboard/cli-tools/components/index.ts +11 -0
  1380. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/ApiKeySelect.tsx +155 -0
  1381. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/BaseUrlSelect.tsx +241 -0
  1382. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/cliEndpointMatch.ts +13 -0
  1383. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/cliEndpointPresets.ts +106 -0
  1384. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/index.ts +4 -0
  1385. package/src/app/(dashboard)/dashboard/cli-tools/page.tsx +7 -0
  1386. package/src/app/(dashboard)/dashboard/combos/page.tsx +901 -0
  1387. package/src/app/(dashboard)/dashboard/console-log/ConsoleLogClient.tsx +414 -0
  1388. package/src/app/(dashboard)/dashboard/console-log/page.tsx +8 -0
  1389. package/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx +434 -0
  1390. package/src/app/(dashboard)/dashboard/endpoint/components/EndpointRow.tsx +35 -0
  1391. package/src/app/(dashboard)/dashboard/endpoint/components/SecurityWarning.tsx +30 -0
  1392. package/src/app/(dashboard)/dashboard/endpoint/components/StatusAlert.tsx +33 -0
  1393. package/src/app/(dashboard)/dashboard/endpoint/endpointConstants.ts +37 -0
  1394. package/src/app/(dashboard)/dashboard/endpoint/endpointPing.ts +33 -0
  1395. package/src/app/(dashboard)/dashboard/endpoint/page.tsx +7 -0
  1396. package/src/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.tsx +350 -0
  1397. package/src/app/(dashboard)/dashboard/media-providers/systemone/page.tsx +124 -0
  1398. package/src/app/(dashboard)/dashboard/page.tsx +7 -0
  1399. package/src/app/(dashboard)/dashboard/profile/page.tsx +905 -0
  1400. package/src/app/(dashboard)/dashboard/providers/[id]/AddApiKeyModal.tsx +380 -0
  1401. package/src/app/(dashboard)/dashboard/providers/[id]/AddCustomModelModal.tsx +171 -0
  1402. package/src/app/(dashboard)/dashboard/providers/[id]/BulkImportCodexModal.tsx +147 -0
  1403. package/src/app/(dashboard)/dashboard/providers/[id]/BulkImportGrokCliModal.tsx +289 -0
  1404. package/src/app/(dashboard)/dashboard/providers/[id]/CompatibleModelsSection.tsx +259 -0
  1405. package/src/app/(dashboard)/dashboard/providers/[id]/ConnectionRow.tsx +362 -0
  1406. package/src/app/(dashboard)/dashboard/providers/[id]/CooldownTimer.tsx +32 -0
  1407. package/src/app/(dashboard)/dashboard/providers/[id]/EditCompatibleNodeModal.tsx +163 -0
  1408. package/src/app/(dashboard)/dashboard/providers/[id]/ModelRow.tsx +116 -0
  1409. package/src/app/(dashboard)/dashboard/providers/[id]/PassthroughModelsSection.tsx +183 -0
  1410. package/src/app/(dashboard)/dashboard/providers/[id]/page.tsx +1918 -0
  1411. package/src/app/(dashboard)/dashboard/providers/[id]/useOneByOneTest.ts +102 -0
  1412. package/src/app/(dashboard)/dashboard/providers/components/AddCompatibleModal.tsx +185 -0
  1413. package/src/app/(dashboard)/dashboard/providers/components/ConnectionsCard.tsx +476 -0
  1414. package/src/app/(dashboard)/dashboard/providers/components/ModelAvailabilityBadge.tsx +192 -0
  1415. package/src/app/(dashboard)/dashboard/providers/components/ModelsCard.tsx +344 -0
  1416. package/src/app/(dashboard)/dashboard/providers/new/page.tsx +275 -0
  1417. package/src/app/(dashboard)/dashboard/providers/page.tsx +614 -0
  1418. package/src/app/(dashboard)/dashboard/providers/utils.ts +19 -0
  1419. package/src/app/(dashboard)/dashboard/proxy-pools/page.tsx +1305 -0
  1420. package/src/app/(dashboard)/dashboard/pxpipe/PxpipeClient.tsx +404 -0
  1421. package/src/app/(dashboard)/dashboard/pxpipe/page.tsx +5 -0
  1422. package/src/app/(dashboard)/dashboard/quota/page.tsx +11 -0
  1423. package/src/app/(dashboard)/dashboard/token-saver/TokenSaverClient.tsx +1096 -0
  1424. package/src/app/(dashboard)/dashboard/token-saver/page.tsx +5 -0
  1425. package/src/app/(dashboard)/dashboard/usage/components/OverviewCards.tsx +53 -0
  1426. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/ProviderLimitCard.tsx +175 -0
  1427. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaProgressBar.tsx +131 -0
  1428. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaTable.tsx +314 -0
  1429. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.tsx +1507 -0
  1430. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.ts +698 -0
  1431. package/src/app/(dashboard)/dashboard/usage/components/ProviderTopology.tsx +550 -0
  1432. package/src/app/(dashboard)/dashboard/usage/components/UsageChart.tsx +152 -0
  1433. package/src/app/(dashboard)/dashboard/usage/components/UsageTable.tsx +249 -0
  1434. package/src/app/(dashboard)/dashboard/usage/page.tsx +70 -0
  1435. package/src/app/(dashboard)/layout.tsx +5 -0
  1436. package/src/app/api/auth/login/route.js +146 -0
  1437. package/src/app/api/auth/logout/route.js +12 -0
  1438. package/src/app/api/auth/oidc/callback/route.js +100 -0
  1439. package/src/app/api/auth/oidc/start/route.js +59 -0
  1440. package/src/app/api/auth/oidc/test/route.js +86 -0
  1441. package/src/app/api/auth/reset-password/route.js +13 -0
  1442. package/src/app/api/auth/saml/acs/route.js +74 -0
  1443. package/src/app/api/auth/saml/metadata/route.js +28 -0
  1444. package/src/app/api/auth/saml/start/route.js +32 -0
  1445. package/src/app/api/auth/saml/test/route.js +84 -0
  1446. package/src/app/api/auth/status/route.js +72 -0
  1447. package/src/app/api/changelog/route.js +28 -0
  1448. package/src/app/api/cli-tools/all-statuses/route.js +32 -0
  1449. package/src/app/api/cli-tools/claude-settings/route.js +266 -0
  1450. package/src/app/api/cli-tools/codex-settings/profiles.js +109 -0
  1451. package/src/app/api/cli-tools/codex-settings/route.js +411 -0
  1452. package/src/app/api/cli-tools/cowork-mcp-registry/route.js +77 -0
  1453. package/src/app/api/cli-tools/cowork-mcp-tools/route.js +116 -0
  1454. package/src/app/api/cli-tools/cowork-settings/route.js +487 -0
  1455. package/src/app/api/cli-tools/dsh-settings/route.ts +254 -0
  1456. package/src/app/api/cli-tools/opencode-settings/route.js +334 -0
  1457. package/src/app/api/combos/[id]/route.js +84 -0
  1458. package/src/app/api/combos/route.js +51 -0
  1459. package/src/app/api/headroom/extras/route.js +54 -0
  1460. package/src/app/api/headroom/proxy/[...path]/route.js +104 -0
  1461. package/src/app/api/headroom/restart/route.js +43 -0
  1462. package/src/app/api/headroom/start/route.js +43 -0
  1463. package/src/app/api/headroom/status/route.js +18 -0
  1464. package/src/app/api/headroom/stop/route.js +14 -0
  1465. package/src/app/api/health/route.js +15 -0
  1466. package/src/app/api/init/route.js +4 -0
  1467. package/src/app/api/keys/[id]/route.js +58 -0
  1468. package/src/app/api/keys/route.js +45 -0
  1469. package/src/app/api/locale/route.js +24 -0
  1470. package/src/app/api/mcp/[plugin]/message/route.js +19 -0
  1471. package/src/app/api/mcp/[plugin]/sse/route.js +35 -0
  1472. package/src/app/api/media-providers/tts/deepgram/voices/route.js +76 -0
  1473. package/src/app/api/media-providers/tts/elevenlabs/voices/route.js +77 -0
  1474. package/src/app/api/media-providers/tts/inworld/voices/route.js +71 -0
  1475. package/src/app/api/media-providers/tts/minimax/voices/route.js +126 -0
  1476. package/src/app/api/media-providers/tts/voices/route.js +110 -0
  1477. package/src/app/api/models/alias/route.js +53 -0
  1478. package/src/app/api/models/availability/route.js +94 -0
  1479. package/src/app/api/models/catalog-sync/route.js +34 -0
  1480. package/src/app/api/models/custom/route.js +66 -0
  1481. package/src/app/api/models/disabled/route.js +50 -0
  1482. package/src/app/api/models/route.js +101 -0
  1483. package/src/app/api/models/test/ping.js +318 -0
  1484. package/src/app/api/models/test/route.js +14 -0
  1485. package/src/app/api/oauth/[provider]/[action]/route.js +604 -0
  1486. package/src/app/api/oauth/codex/bulk-import/route.js +115 -0
  1487. package/src/app/api/oauth/codex/import-token/route.js +93 -0
  1488. package/src/app/api/oauth/cursor/auto-import/route.js +238 -0
  1489. package/src/app/api/oauth/cursor/import/route.js +91 -0
  1490. package/src/app/api/oauth/gitlab/pat/route.js +65 -0
  1491. package/src/app/api/oauth/grok-cli/bulk-import/route.js +107 -0
  1492. package/src/app/api/oauth/iflow/cookie/route.js +139 -0
  1493. package/src/app/api/oauth/xiaomi-mimo/api-key/route.js +129 -0
  1494. package/src/app/api/oauth/xiaomi-mimo/auto-import/route.js +135 -0
  1495. package/src/app/api/pricing/route.js +121 -0
  1496. package/src/app/api/provider-nodes/[id]/route.js +113 -0
  1497. package/src/app/api/provider-nodes/route.js +112 -0
  1498. package/src/app/api/provider-nodes/validate/route.js +222 -0
  1499. package/src/app/api/providers/[id]/models/route.js +579 -0
  1500. package/src/app/api/providers/[id]/route.js +189 -0
  1501. package/src/app/api/providers/[id]/test/route.js +23 -0
  1502. package/src/app/api/providers/[id]/test/testUtils.js +1107 -0
  1503. package/src/app/api/providers/[id]/test-models/route.js +79 -0
  1504. package/src/app/api/providers/client/route.js +163 -0
  1505. package/src/app/api/providers/kilo/free-models/route.js +55 -0
  1506. package/src/app/api/providers/route.js +218 -0
  1507. package/src/app/api/providers/suggested-models/filters.js +42 -0
  1508. package/src/app/api/providers/suggested-models/route.js +32 -0
  1509. package/src/app/api/providers/test-batch/route.js +133 -0
  1510. package/src/app/api/providers/validate/route.js +700 -0
  1511. package/src/app/api/proxy-pools/[id]/route.js +152 -0
  1512. package/src/app/api/proxy-pools/[id]/test/route.js +72 -0
  1513. package/src/app/api/proxy-pools/cloudflare-deploy/route.js +167 -0
  1514. package/src/app/api/proxy-pools/deno-deploy/route.js +172 -0
  1515. package/src/app/api/proxy-pools/route.js +93 -0
  1516. package/src/app/api/proxy-pools/vercel-deploy/route.js +142 -0
  1517. package/src/app/api/pxpipe/health/route.js +16 -0
  1518. package/src/app/api/pxpipe/install/route.js +20 -0
  1519. package/src/app/api/pxpipe/logs/route.js +18 -0
  1520. package/src/app/api/pxpipe/restart/route.js +16 -0
  1521. package/src/app/api/pxpipe/start/route.js +29 -0
  1522. package/src/app/api/pxpipe/stats/route.js +14 -0
  1523. package/src/app/api/pxpipe/status/route.js +21 -0
  1524. package/src/app/api/pxpipe/stop/route.js +16 -0
  1525. package/src/app/api/settings/database/route.js +54 -0
  1526. package/src/app/api/settings/proxy-test/route.js +27 -0
  1527. package/src/app/api/settings/require-login/route.js +15 -0
  1528. package/src/app/api/settings/route.js +149 -0
  1529. package/src/app/api/shutdown/route.js +26 -0
  1530. package/src/app/api/tags/route.js +17 -0
  1531. package/src/app/api/translator/console-logs/route.js +24 -0
  1532. package/src/app/api/translator/console-logs/stream/route.js +98 -0
  1533. package/src/app/api/translator/load/route.js +48 -0
  1534. package/src/app/api/translator/save/route.js +47 -0
  1535. package/src/app/api/translator/send/route.js +105 -0
  1536. package/src/app/api/translator/translate/route.js +118 -0
  1537. package/src/app/api/tunnel/disable/route.js +17 -0
  1538. package/src/app/api/tunnel/enable/route.js +21 -0
  1539. package/src/app/api/tunnel/status/route.js +25 -0
  1540. package/src/app/api/tunnel/tailscale-check/route.js +77 -0
  1541. package/src/app/api/tunnel/tailscale-disable/route.js +17 -0
  1542. package/src/app/api/tunnel/tailscale-enable/route.js +17 -0
  1543. package/src/app/api/tunnel/tailscale-install/route.js +98 -0
  1544. package/src/app/api/usage/[connectionId]/codex-reset-credits/route.js +196 -0
  1545. package/src/app/api/usage/[connectionId]/route.js +192 -0
  1546. package/src/app/api/usage/chart/route.js +21 -0
  1547. package/src/app/api/usage/history/route.js +12 -0
  1548. package/src/app/api/usage/logs/route.js +12 -0
  1549. package/src/app/api/usage/providers/route.js +38 -0
  1550. package/src/app/api/usage/request-details/route.js +65 -0
  1551. package/src/app/api/usage/request-logs/route.js +13 -0
  1552. package/src/app/api/usage/stats/route.js +23 -0
  1553. package/src/app/api/usage/stream/route.js +93 -0
  1554. package/src/app/api/v1/api/chat/route.js +36 -0
  1555. package/src/app/api/v1/audio/speech/route.js +16 -0
  1556. package/src/app/api/v1/audio/transcriptions/route.js +19 -0
  1557. package/src/app/api/v1/audio/voices/route.js +78 -0
  1558. package/src/app/api/v1/chat/completions/route.js +34 -0
  1559. package/src/app/api/v1/embeddings/route.js +21 -0
  1560. package/src/app/api/v1/images/generations/route.js +16 -0
  1561. package/src/app/api/v1/messages/count_tokens/route.js +96 -0
  1562. package/src/app/api/v1/messages/route.js +35 -0
  1563. package/src/app/api/v1/models/[...model]/route.js +75 -0
  1564. package/src/app/api/v1/models/info/route.js +131 -0
  1565. package/src/app/api/v1/models/route.js +586 -0
  1566. package/src/app/api/v1/responses/compact/route.js +37 -0
  1567. package/src/app/api/v1/responses/route.js +30 -0
  1568. package/src/app/api/v1/route.js +1 -0
  1569. package/src/app/api/v1/search/route.js +21 -0
  1570. package/src/app/api/v1/systemone/route.js +21 -0
  1571. package/src/app/api/v1/videos/[id]/route.js +17 -0
  1572. package/src/app/api/v1/videos/edits/route.js +16 -0
  1573. package/src/app/api/v1/videos/extensions/route.js +16 -0
  1574. package/src/app/api/v1/videos/generations/route.js +16 -0
  1575. package/src/app/api/v1/web/fetch/route.js +21 -0
  1576. package/src/app/api/v1beta/models/[...path]/route.js +599 -0
  1577. package/src/app/api/v1beta/models/route.js +62 -0
  1578. package/src/app/api/version/route.js +15 -0
  1579. package/src/app/api/version/shutdown/route.js +38 -0
  1580. package/src/app/api/version/update/route.js +11 -0
  1581. package/src/app/callback/page.tsx +162 -0
  1582. package/src/app/dashboard/settings/pricing/page.tsx +192 -0
  1583. package/src/app/globals.css +356 -0
  1584. package/src/app/landing/components/AnimatedBackground.tsx +58 -0
  1585. package/src/app/landing/components/Features.tsx +137 -0
  1586. package/src/app/landing/components/FlowAnimation.tsx +168 -0
  1587. package/src/app/landing/components/Footer.tsx +110 -0
  1588. package/src/app/landing/components/GetStarted.tsx +105 -0
  1589. package/src/app/landing/components/HeroSection.tsx +48 -0
  1590. package/src/app/landing/components/HowItWorks.tsx +69 -0
  1591. package/src/app/landing/components/Navigation.tsx +120 -0
  1592. package/src/app/landing/page.tsx +131 -0
  1593. package/src/app/layout.tsx +60 -0
  1594. package/src/app/login/page.tsx +277 -0
  1595. package/src/app/manifest.ts +33 -0
  1596. package/src/app/page.tsx +5 -0
  1597. package/src/components/app-sidebar.tsx +140 -0
  1598. package/src/components/ui/alert.tsx +72 -0
  1599. package/src/components/ui/avatar.tsx +93 -0
  1600. package/src/components/ui/badge.tsx +44 -0
  1601. package/src/components/ui/breadcrumb.tsx +103 -0
  1602. package/src/components/ui/button.tsx +66 -0
  1603. package/src/components/ui/card.tsx +91 -0
  1604. package/src/components/ui/chart.tsx +338 -0
  1605. package/src/components/ui/checkbox.tsx +26 -0
  1606. package/src/components/ui/dialog.tsx +152 -0
  1607. package/src/components/ui/dropdown-menu.tsx +249 -0
  1608. package/src/components/ui/input.tsx +18 -0
  1609. package/src/components/ui/label.tsx +18 -0
  1610. package/src/components/ui/pagination.tsx +112 -0
  1611. package/src/components/ui/select.tsx +184 -0
  1612. package/src/components/ui/separator.tsx +25 -0
  1613. package/src/components/ui/sheet.tsx +128 -0
  1614. package/src/components/ui/sidebar.tsx +671 -0
  1615. package/src/components/ui/skeleton.tsx +13 -0
  1616. package/src/components/ui/switch.tsx +32 -0
  1617. package/src/components/ui/table.tsx +86 -0
  1618. package/src/components/ui/tabs.tsx +79 -0
  1619. package/src/components/ui/tooltip.tsx +50 -0
  1620. package/src/dashboardGuard.ts +298 -0
  1621. package/src/hooks/use-mobile.ts +19 -0
  1622. package/src/i18n/RuntimeI18nProvider.tsx +28 -0
  1623. package/src/i18n/config.ts +19 -0
  1624. package/src/i18n/runtime.ts +177 -0
  1625. package/src/instrumentation.ts +14 -0
  1626. package/src/lib/auth/dashboardSession.js +112 -0
  1627. package/src/lib/auth/loginLimiter.js +70 -0
  1628. package/src/lib/auth/oidc.js +242 -0
  1629. package/src/lib/auth/saml.js +273 -0
  1630. package/src/lib/auth/trustedPeer.js +7 -0
  1631. package/src/lib/consoleLogBuffer.js +114 -0
  1632. package/src/lib/dataDir.js +78 -0
  1633. package/src/lib/db/adapters/betterSqliteAdapter.js +83 -0
  1634. package/src/lib/db/adapters/bunSqliteAdapter.js +83 -0
  1635. package/src/lib/db/adapters/nodeSqliteAdapter.js +111 -0
  1636. package/src/lib/db/adapters/sqljsAdapter.js +128 -0
  1637. package/src/lib/db/backup.js +88 -0
  1638. package/src/lib/db/driver.js +94 -0
  1639. package/src/lib/db/helpers/jsonCol.js +13 -0
  1640. package/src/lib/db/helpers/kvStore.js +45 -0
  1641. package/src/lib/db/helpers/metaStore.js +28 -0
  1642. package/src/lib/db/index.js +312 -0
  1643. package/src/lib/db/migrate.js +427 -0
  1644. package/src/lib/db/migrations/001-initial.js +14 -0
  1645. package/src/lib/db/migrations/index.js +10 -0
  1646. package/src/lib/db/paths.js +18 -0
  1647. package/src/lib/db/repos/aliasRepo.js +63 -0
  1648. package/src/lib/db/repos/apiKeysRepo.js +78 -0
  1649. package/src/lib/db/repos/combosRepo.js +83 -0
  1650. package/src/lib/db/repos/connectionsRepo.js +347 -0
  1651. package/src/lib/db/repos/disabledModelsRepo.js +56 -0
  1652. package/src/lib/db/repos/nodesRepo.js +98 -0
  1653. package/src/lib/db/repos/pricingRepo.js +108 -0
  1654. package/src/lib/db/repos/proxyPoolsRepo.js +109 -0
  1655. package/src/lib/db/repos/requestDetailsRepo.js +287 -0
  1656. package/src/lib/db/repos/settingsRepo.js +123 -0
  1657. package/src/lib/db/repos/usageRepo.js +1043 -0
  1658. package/src/lib/db/schema.js +161 -0
  1659. package/src/lib/db/version.js +21 -0
  1660. package/src/lib/grokBuildConfig.js +228 -0
  1661. package/src/lib/headroom/detect.js +212 -0
  1662. package/src/lib/headroom/process.js +307 -0
  1663. package/src/lib/isContainer.js +62 -0
  1664. package/src/lib/localDb.js +51 -0
  1665. package/src/lib/logLine.js +204 -0
  1666. package/src/lib/mcp/stdioSseBridge.js +223 -0
  1667. package/src/lib/modelCatalog/sync.js +292 -0
  1668. package/src/lib/network/connectionProxy.js +172 -0
  1669. package/src/lib/network/initOutboundProxy.js +25 -0
  1670. package/src/lib/network/outboundProxy.js +87 -0
  1671. package/src/lib/network/proxyTest.js +88 -0
  1672. package/src/lib/network/resolveOutboundProxy.js +45 -0
  1673. package/src/lib/oauth/constants/oauth.js +213 -0
  1674. package/src/lib/oauth/constants/xai.js +62 -0
  1675. package/src/lib/oauth/providerHelpers.js +74 -0
  1676. package/src/lib/oauth/providers/_shared.js +17 -0
  1677. package/src/lib/oauth/providers/antigravity.js +119 -0
  1678. package/src/lib/oauth/providers/claude.js +60 -0
  1679. package/src/lib/oauth/providers/codebuddy-cn.js +80 -0
  1680. package/src/lib/oauth/providers/codebuddy-intl.js +75 -0
  1681. package/src/lib/oauth/providers/codex.js +69 -0
  1682. package/src/lib/oauth/providers/cursor.js +19 -0
  1683. package/src/lib/oauth/providers/github.js +98 -0
  1684. package/src/lib/oauth/providers/gitlab.js +64 -0
  1685. package/src/lib/oauth/providers/grok-cli.js +123 -0
  1686. package/src/lib/oauth/providers/iflow.js +89 -0
  1687. package/src/lib/oauth/providers/index.js +243 -0
  1688. package/src/lib/oauth/providers/kilocode.js +75 -0
  1689. package/src/lib/oauth/providers/kimchi.js +76 -0
  1690. package/src/lib/oauth/providers/qoder.js +111 -0
  1691. package/src/lib/oauth/providers/trae.js +337 -0
  1692. package/src/lib/oauth/providers/windsurf.js +172 -0
  1693. package/src/lib/oauth/providers/xai.js +101 -0
  1694. package/src/lib/oauth/providers/xiaomi-mimo.js +120 -0
  1695. package/src/lib/oauth/providers/zed.js +68 -0
  1696. package/src/lib/oauth/providers.js +1 -0
  1697. package/src/lib/oauth/services/antigravity.js +322 -0
  1698. package/src/lib/oauth/services/claude.js +135 -0
  1699. package/src/lib/oauth/services/codex.js +149 -0
  1700. package/src/lib/oauth/services/cursor.js +179 -0
  1701. package/src/lib/oauth/services/github.js +227 -0
  1702. package/src/lib/oauth/services/iflow.js +201 -0
  1703. package/src/lib/oauth/services/index.js +13 -0
  1704. package/src/lib/oauth/services/kimchi.js +139 -0
  1705. package/src/lib/oauth/services/oauth.js +161 -0
  1706. package/src/lib/oauth/services/openai.js +122 -0
  1707. package/src/lib/oauth/services/qoder.js +237 -0
  1708. package/src/lib/oauth/services/xai.js +241 -0
  1709. package/src/lib/oauth/utils/banner.js +62 -0
  1710. package/src/lib/oauth/utils/ideDetect.js +64 -0
  1711. package/src/lib/oauth/utils/pkce.js +39 -0
  1712. package/src/lib/oauth/utils/server.js +1056 -0
  1713. package/src/lib/oauth/utils/ui.js +47 -0
  1714. package/src/lib/providerNormalization.js +49 -0
  1715. package/src/lib/pxpipe/events.js +146 -0
  1716. package/src/lib/pxpipe/install.js +143 -0
  1717. package/src/lib/pxpipe/loader.js +76 -0
  1718. package/src/lib/pxpipe/service.js +69 -0
  1719. package/src/lib/qoder/constants.js +2 -0
  1720. package/src/lib/qoder/cosy.js +2 -0
  1721. package/src/lib/qoder/encoding.js +2 -0
  1722. package/src/lib/tunnel/cloudflare/cloudflared.js +513 -0
  1723. package/src/lib/tunnel/cloudflare/config.js +9 -0
  1724. package/src/lib/tunnel/cloudflare/healthCheck.js +33 -0
  1725. package/src/lib/tunnel/cloudflare/manager.js +174 -0
  1726. package/src/lib/tunnel/cloudflare/pid.js +31 -0
  1727. package/src/lib/tunnel/index.js +53 -0
  1728. package/src/lib/tunnel/shared/dnsResolver.js +20 -0
  1729. package/src/lib/tunnel/shared/internetCheck.js +33 -0
  1730. package/src/lib/tunnel/shared/state.js +45 -0
  1731. package/src/lib/tunnel/shared/watchdogConfig.js +9 -0
  1732. package/src/lib/tunnel/sudoExec.js +49 -0
  1733. package/src/lib/tunnel/sudoPassword.js +90 -0
  1734. package/src/lib/tunnel/tailscale/config.js +7 -0
  1735. package/src/lib/tunnel/tailscale/healthCheck.js +33 -0
  1736. package/src/lib/tunnel/tailscale/manager.js +151 -0
  1737. package/src/lib/tunnel/tailscale/tailscale.js +1013 -0
  1738. package/src/lib/usageDb.js +15 -0
  1739. package/src/lib/versionCheck.js +67 -0
  1740. package/src/models/index.ts +38 -0
  1741. package/src/proxy.ts +10 -0
  1742. package/src/shared/components/AddCustomEmbeddingModal.tsx +220 -0
  1743. package/src/shared/components/CapacityBadges.tsx +47 -0
  1744. package/src/shared/components/ChangelogModal.tsx +82 -0
  1745. package/src/shared/components/ComboFormModal.tsx +321 -0
  1746. package/src/shared/components/CursorAuthModal.tsx +213 -0
  1747. package/src/shared/components/EditConnectionModal.tsx +369 -0
  1748. package/src/shared/components/EntityCard.tsx +106 -0
  1749. package/src/shared/components/EntityCardSkeleton.tsx +69 -0
  1750. package/src/shared/components/Footer.tsx +133 -0
  1751. package/src/shared/components/GitLabAuthModal.tsx +294 -0
  1752. package/src/shared/components/Header.tsx +370 -0
  1753. package/src/shared/components/HeaderLanguage.tsx +53 -0
  1754. package/src/shared/components/HeaderMenu.tsx +75 -0
  1755. package/src/shared/components/IFlowCookieModal.tsx +140 -0
  1756. package/src/shared/components/Icon.tsx +237 -0
  1757. package/src/shared/components/LanguageSwitcher.tsx +139 -0
  1758. package/src/shared/components/Loading.tsx +102 -0
  1759. package/src/shared/components/ManualConfigModal.tsx +55 -0
  1760. package/src/shared/components/McpMarketplaceModal.tsx +320 -0
  1761. package/src/shared/components/Modal.tsx +130 -0
  1762. package/src/shared/components/ModelSelectModal.tsx +755 -0
  1763. package/src/shared/components/NineRemoteButton.tsx +28 -0
  1764. package/src/shared/components/NineRemotePromoModal.tsx +91 -0
  1765. package/src/shared/components/NoAuthProxyCard.tsx +178 -0
  1766. package/src/shared/components/OAuthModal.tsx +1055 -0
  1767. package/src/shared/components/PricingModal.tsx +202 -0
  1768. package/src/shared/components/ProviderIcon.tsx +80 -0
  1769. package/src/shared/components/ProviderInfoCard.tsx +98 -0
  1770. package/src/shared/components/RequestLogger.tsx +149 -0
  1771. package/src/shared/components/SegmentedControl.tsx +45 -0
  1772. package/src/shared/components/ShutdownModal.tsx +65 -0
  1773. package/src/shared/components/ThemeProvider.tsx +15 -0
  1774. package/src/shared/components/ThemeToggle.tsx +52 -0
  1775. package/src/shared/components/UpdateDialog.tsx +248 -0
  1776. package/src/shared/components/UsageStats.tsx +714 -0
  1777. package/src/shared/components/VersionLabel.tsx +122 -0
  1778. package/src/shared/components/XiaomiMimoAuthModal.tsx +277 -0
  1779. package/src/shared/components/index.ts +32 -0
  1780. package/src/shared/components/layouts/AuthLayout.tsx +22 -0
  1781. package/src/shared/components/layouts/DashboardLayout.tsx +105 -0
  1782. package/src/shared/components/layouts/Page.tsx +158 -0
  1783. package/src/shared/components/layouts/index.ts +4 -0
  1784. package/src/shared/constants/cliTools.js +123 -0
  1785. package/src/shared/constants/colors.ts +92 -0
  1786. package/src/shared/constants/config.ts +100 -0
  1787. package/src/shared/constants/coworkPlugins.ts +113 -0
  1788. package/src/shared/constants/index.ts +3 -0
  1789. package/src/shared/constants/locales.ts +5 -0
  1790. package/src/shared/constants/models.ts +65 -0
  1791. package/src/shared/constants/providers.js +236 -0
  1792. package/src/shared/constants/providersDisplay.ts +15 -0
  1793. package/src/shared/constants/ttsProviders.ts +166 -0
  1794. package/src/shared/hooks/index.js +3 -0
  1795. package/src/shared/hooks/useCopyToClipboard.js +45 -0
  1796. package/src/shared/hooks/useModelCaps.js +91 -0
  1797. package/src/shared/hooks/useShutdown.ts +68 -0
  1798. package/src/shared/hooks/useTheme.js +59 -0
  1799. package/src/shared/services/bootstrap.ts +13 -0
  1800. package/src/shared/services/initializeApp.ts +323 -0
  1801. package/src/shared/services/quotaAutoPing.ts +400 -0
  1802. package/src/shared/utils/api.ts +100 -0
  1803. package/src/shared/utils/apiKey.ts +92 -0
  1804. package/src/shared/utils/bulkAdd.ts +87 -0
  1805. package/src/shared/utils/cn.ts +7 -0
  1806. package/src/shared/utils/connectionStatus.ts +14 -0
  1807. package/src/shared/utils/index.ts +40 -0
  1808. package/src/shared/utils/machine.ts +6 -0
  1809. package/src/shared/utils/machineId.ts +70 -0
  1810. package/src/shared/utils/providerCustomModels.ts +80 -0
  1811. package/src/shared/utils/providerIcon.ts +248 -0
  1812. package/src/shared/utils/providerModelsFetcher.ts +33 -0
  1813. package/src/shared/utils/ssrfGuard.ts +223 -0
  1814. package/src/shared/utils/utils.js +1 -0
  1815. package/src/sse/handlers/chat.js +430 -0
  1816. package/src/sse/handlers/embeddings.js +192 -0
  1817. package/src/sse/handlers/fetch.js +255 -0
  1818. package/src/sse/handlers/imageGeneration.js +175 -0
  1819. package/src/sse/handlers/search.js +260 -0
  1820. package/src/sse/handlers/stt.js +120 -0
  1821. package/src/sse/handlers/systemone.js +173 -0
  1822. package/src/sse/handlers/tts.js +157 -0
  1823. package/src/sse/handlers/videoGeneration.js +274 -0
  1824. package/src/sse/services/antigravityQuota.ts +220 -0
  1825. package/src/sse/services/auth.ts +485 -0
  1826. package/src/sse/services/backgroundTokenRefresh.ts +190 -0
  1827. package/src/sse/services/model.ts +102 -0
  1828. package/src/sse/services/tokenRefresh.ts +328 -0
  1829. package/src/sse/services/zedQuota.ts +233 -0
  1830. package/src/sse/utils/logger.ts +140 -0
  1831. package/src/store/headerSearchStore.ts +27 -0
  1832. package/src/store/index.ts +5 -0
  1833. package/src/store/notificationStore.ts +75 -0
  1834. package/src/store/providerStore.ts +75 -0
  1835. package/src/store/settingsStore.ts +63 -0
  1836. package/src/store/themeStore.ts +48 -0
  1837. package/src/store/userStore.ts +35 -0
@@ -0,0 +1,150 @@
1
+ "use strict";exports.id=2282,exports.ids=[2282],exports.modules={2366:(a,b,c)=>{c.d(b,{Sk:()=>k,el:()=>l});let d=(0,c(79558).U)("gemini_thought_signatures"),e=new Map,f=0;function g(a){let b="string"==typeof a?a.toLowerCase():"";return b?b.includes("claude")?"claude":b.includes("gemini")?"gemini":b:null}function h(a,b){return!a.family||!b||a.family===b}function i(){let a=Date.now();for(let[b,c]of e.entries())c.expiresAt<=a&&e.delete(b);for(;e.size>2e3;){let a=e.keys().next().value;if(!a)break;e.delete(a)}}async function j(){if(++f%100==0)try{let a=await d.getAll(),b=Object.keys(a),c=Date.now(),e=[],f=[];for(let d of b){let b=a[d];!b||"string"!=typeof b.signature||b.expiresAt&&b.expiresAt<=c?e.push(d):f.push({key:d,createdAt:b.createdAt||0})}for(let a of e)await d.remove(a).catch(()=>{});if(f.length>1e4)for(let a of(f.sort((a,b)=>b.createdAt-a.createdAt),f.slice(1e4)))await d.remove(a.key).catch(()=>{})}catch{}}function k(a,b,c=null,f=null){if("string"!=typeof a||!a||"string"!=typeof b||!b)return;let h=Date.now(),l=g(f);i();let m=[];for(let f of(c&&"string"==typeof c&&m.push(`${c}:${a}`),m.push(a),m))e.set(f,{signature:b,family:l,expiresAt:h+36e5}),d.set(f,{signature:b,family:l,createdAt:h,expiresAt:h+6048e5}).catch(()=>{});j().catch(()=>{})}function l(a,b=null,c=null){if("string"!=typeof a||!a)return null;let d=g(c);if(i(),b&&"string"==typeof b){let c=`${b}:${a}`,f=e.get(c);if(f&&f.expiresAt>Date.now()&&h(f,d))return f.signature}let f=e.get(a);return f&&f.expiresAt>Date.now()&&h(f,d)?f.signature:null}},3815:(a,b,c)=>{c.d(b,{$U:()=>d,RK:()=>f,pb:()=>e});let d="data: [DONE]\n\n",e={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"},f={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}},9546:(a,b,c)=>{c.d(b,{Ws:()=>G,Ai:()=>H,nZ:()=>F,kz:()=>C,GH:()=>D,Y8:()=>E});var d,e,f=c(74258),g=c(55458),h=c(22040),i=c(45276),j=c(32973),k=c(68151),l=c(24928),m=c(52238);c(33800);var n=c(87156);c(82655),c(55219);var o=c(65205),p=c(40415),q=c(91793);C(f.h.GEMINI,f.h.OPENAI,function(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,o.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:j.z7.SYSTEM,content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b=a.role===j.RV.USER?j.z7.USER:j.z7.ASSISTANT;if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:j.x4.TEXT,text:b.text}),b.inlineData&&c.push({type:j.x4.IMAGE_URL,image_url:{url:(0,p.$q)(b.inlineData.mimeType,b.inlineData.data)}}),b.functionCall&&d.push({id:b.functionCall.id||`call_${b.functionCall.name}`,type:j.x4.FUNCTION,function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:j.z7.TOOL,tool_call_id:b.functionResponse.id||`call_${b.functionResponse.name}`,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:j.z7.ASSISTANT};return c.length>0&&(a.content=1===c.length?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:(0,q.z)(c)}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:j.x4.FUNCTION,function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d},null),c(67494);var r=c(20996);C(f.h.ANTIGRAVITY,f.h.OPENAI,function(a,b,c){let d=b.request||b,e={model:a,messages:[],stream:c};if(d.generationConfig){let a=d.generationConfig;if(a.maxOutputTokens){let b={max_tokens:a.maxOutputTokens,tools:d.tools};e.max_tokens=(0,o.M)(b)}if(void 0!==a.temperature&&(e.temperature=a.temperature),void 0!==a.topP&&(e.top_p=a.topP),void 0!==a.topK&&(e.top_k=a.topK),a.thinkingConfig){let b=(0,r.Vp)(a.thinkingConfig.thinkingBudget||0);b&&(e.reasoning_effort=b)}}if(d.systemInstruction){var f;let a="string"==typeof(f=d.systemInstruction)?f:f.parts&&Array.isArray(f.parts)?f.parts.map(a=>a.text||"").join(""):"";a&&e.messages.push({role:j.z7.SYSTEM,content:a})}if(d.contents&&Array.isArray(d.contents))for(let a of d.contents){let b=function(a){let b=a.role===j.RV.MODEL?j.z7.ASSISTANT:a.role===j.RV.USER?j.z7.USER:a.role;if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[],e=[],f="";for(let b of a.parts){if(!0===b.thought&&b.text){f+=b.text;continue}if(b.thoughtSignature&&void 0!==b.text){b.text&&c.push({type:j.x4.TEXT,text:b.text});continue}void 0!==b.text&&""!==b.text&&c.push({type:j.x4.TEXT,text:b.text}),b.inlineData&&c.push({type:j.x4.IMAGE_URL,image_url:{url:(0,p.$q)(b.inlineData.mimeType,b.inlineData.data)}}),b.functionCall&&d.push({id:b.functionCall.id||`call_${b.functionCall.name}`,type:j.x4.FUNCTION,function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse&&e.push({role:j.z7.TOOL,tool_call_id:b.functionResponse.id||`call_${b.functionResponse.name}`,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})})}if(e.length>0){if(d.length>0||c.length>0||f){let a={role:j.z7.ASSISTANT};return c.length>0&&(a.content=(0,q.z)(c)),f&&(a.reasoning_content=f),d.length>0&&(a.tool_calls=d),[...e,a]}return e}if(d.length>0){let a={role:j.z7.ASSISTANT};return c.length>0&&(a.content=(0,q.z)(c)),f&&(a.reasoning_content=f),a.tool_calls=d,a}if(c.length>0||f){let a={role:b};return c.length>0&&(a.content=(0,q.z)(c)),f&&(a.reasoning_content=f),a}return null}(a);b&&(Array.isArray(b)?e.messages.push(...b):e.messages.push(b))}if(d.tools&&Array.isArray(d.tools)){for(let a of(e.tools=[],d.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)e.tools.push({type:j.x4.FUNCTION,function:{name:b.name,description:b.description||"",parameters:function a(b){if(!b||"object"!=typeof b)return b;let c=Array.isArray(b)?[...b]:{...b};if("string"==typeof c.type&&(c.type=c.type.toLowerCase()),delete c.enumDescriptions,c.properties){let b={};for(let[d,e]of Object.entries(c.properties))b[d]=a(e);c.properties=b}return c.items&&(c.items=a(c.items)),c}(b.parameters)||{type:"object",properties:{}}}})}return e},null),c(15673);var s=c(97508);function t(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>!!a&&"object"==typeof a&&a.type===j.x4.TEXT&&"string"==typeof a.text).map(a=>a.text||"").join(""):""}function u(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function v(a,b,c){let d=(c||"").replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,"");return`<tool_result>
2
+ <tool_name>${u(a||"tool")}</tool_name>
3
+ <tool_call_id>${u(b||"")}</tool_call_id>
4
+ <result>${u(d)}</result>
5
+ </tool_result>`}function w(a){return"string"==typeof a?a.split("\n")[0]:""}C(f.h.OPENAI,f.h.CURSOR,function(a,b,c,d){let e=function(a){let b=[],c=new Map,d=(a,b)=>{if(!a)return;let d=b||"tool";c.set(a,{name:d});let e=w(a);e&&e!==a&&c.set(e,{name:d})};for(let b of a){if(b.role===j.z7.ASSISTANT&&b.tool_calls)for(let a of b.tool_calls)d(a.id||"",a.function?.name||"tool");if(b.role===j.z7.ASSISTANT&&Array.isArray(b.content))for(let a of b.content)a?.type===j.R4.TOOL_USE&&d(a.id||"",a.name||"tool")}for(let d=0;d<a.length;d++){let e=a[d];if(e.role===j.z7.SYSTEM){b.push({role:j.z7.USER,content:`[System Instructions]
6
+ ${t(e.content)}`});continue}if(e.role===j.z7.TOOL){let a=t(e.content),d=e.tool_call_id||"",f=c.get(d)||{},g=e.name||f.name||"tool";b.push({role:j.z7.USER,content:v(g,d,a)});continue}if(e.role===j.z7.USER||e.role===j.z7.ASSISTANT){if(e.role===j.z7.USER&&Array.isArray(e.content)){let a=[];for(let b of e.content)if(b&&"object"==typeof b){if(b.type===j.R4.TEXT){"string"==typeof b.text&&a.push(b.text||"");continue}if(b.type===j.R4.TOOL_RESULT){let d=b.tool_use_id||"",e=c.get(d)||c.get(w(d)),f=e?.name||"tool",g=t(b.content);a.push(v(f,d,g))}}let d=a.filter(Boolean).join("\n");d&&b.push({role:j.z7.USER,content:d});continue}let a=t(e.content);if(e.role===j.z7.ASSISTANT&&e.tool_calls&&e.tool_calls.length>0){let c={role:j.z7.ASSISTANT,content:a||""};c.tool_calls=e.tool_calls.map(a=>{let{index:b,...c}=a||{};return c}),b.push(c)}else if(e.role===j.z7.ASSISTANT&&Array.isArray(e.content)){let c=e.content.filter(a=>a?.type===j.R4.TOOL_USE).map(a=>({id:a.id||"",type:j.x4.FUNCTION,function:{name:a.name||"tool",arguments:JSON.stringify(a.input||{})}})).filter(a=>a.id);c.length>0?b.push({role:j.z7.ASSISTANT,content:a||"",tool_calls:c}):a&&b.push({role:j.z7.ASSISTANT,content:a})}else a&&b.push({role:e.role,content:a})}}return b}(b.messages||[]),{user:f,metadata:g,tool_choice:h,stream_options:i,system:k,...l}=b;return{...l,messages:e,max_tokens:s.eo}},null),c(51395);var x=c(47831),y=c(26466);let z="proxy_";function A(a,b){a.thinkingBlockStarted&&(b.push({type:"content_block_stop",index:a.thinkingBlockIndex}),a.thinkingBlockStarted=!1)}function B(a,b){a.textBlockStarted&&!a.textBlockClosed&&(a.textBlockClosed=!0,b.push({type:"content_block_stop",index:a.textBlockIndex}),a.textBlockStarted=!1)}function C(a,b,c,f){d??=new Map,e??=new Map;let g=`${a}:${b}`;c&&d.set(g,c),f&&e.set(g,f)}C(f.h.OPENAI,f.h.CLAUDE,null,function(a,b){if(!a||!a.choices?.[0])return null;let c=[],d=a.choices[0],e=d.delta;if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.prompt_tokens?a.usage.prompt_tokens:0,d="number"==typeof a.usage.completion_tokens?a.usage.completion_tokens:0,e=a.usage.prompt_tokens_details?.cached_tokens,f=a.usage.prompt_tokens_details?.cache_creation_tokens,g="number"==typeof e?e:0,h="number"==typeof f?f:0;b.usage={input_tokens:c-g-h,output_tokens:d},g>0&&(b.usage.cache_read_input_tokens=g),h>0&&(b.usage.cache_creation_input_tokens=h)}b.messageStartSent||(b.messageStartSent=!0,b.messageId=a.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!b.messageId||"chat"===b.messageId||b.messageId.length<8)&&(b.messageId=a.extend_fields?.requestId||a.extend_fields?.traceId||`msg_${Date.now()}`),b.model=a.model||j.rP,b.nextBlockIndex=0,c.push({type:"message_start",message:{id:b.messageId,type:"message",role:j.z7.ASSISTANT,model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let f=(0,y.V)(e);if(f&&(B(b,c),b.thinkingBlockStarted||(b.thinkingBlockIndex=b.nextBlockIndex++,b.thinkingBlockStarted=!0,c.push({type:"content_block_start",index:b.thinkingBlockIndex,content_block:{type:j.R4.THINKING,thinking:""}})),c.push({type:"content_block_delta",index:b.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:f}})),e?.content&&(A(b,c),b.textBlockStarted||(b.textBlockIndex=b.nextBlockIndex++,b.textBlockStarted=!0,b.textBlockClosed=!1,c.push({type:"content_block_start",index:b.textBlockIndex,content_block:{type:j.R4.TEXT,text:""}})),c.push({type:"content_block_delta",index:b.textBlockIndex,delta:{type:"text_delta",text:e.content}})),e?.tool_calls)for(let a of e.tool_calls){let d=a.index??0;if(a.id&&!b.toolCalls.has(d)){A(b,c),B(b,c);let e=b.nextBlockIndex++;b.toolCalls.set(d,{id:a.id,name:a.function?.name||"",blockIndex:e});let f=a.function?.name||"";f.startsWith(z)&&(f=f.slice(z.length)),c.push({type:"content_block_start",index:e,content_block:{type:j.R4.TOOL_USE,id:a.id,name:f,input:{}}})}a.function?.arguments&&b.toolCalls.get(d)&&(b.toolArgBuffers||(b.toolArgBuffers=new Map),b.toolArgBuffers.set(d,(b.toolArgBuffers.get(d)||"")+a.function.arguments))}if(d.finish_reason){let a;for(let[a,d]of(A(b,c),B(b,c),b.toolCalls)){let e=b.toolArgBuffers?.get(a);if(e){let a=function(a,b){try{let c=JSON.parse(b),d=a.startsWith(z)?a.slice(z.length):a;return"Read"===d&&function(a){var b,c;"string"==typeof a.limit&&/^\d+$/.test(a.limit)&&(a.limit=Number(a.limit)),"string"==typeof a.offset&&/^-?\d+$/.test(a.offset)&&(a.offset=Number(a.offset)),"number"==typeof a.limit&&(a.limit>2e3&&(a.limit=2e3),a.limit<1&&delete a.limit),"number"==typeof a.offset&&a.offset<0&&(a.offset=0),"pages"in a&&(b=a.file_path,c=a.pages,!("string"==typeof b&&b.toLowerCase().endsWith(".pdf")&&"string"==typeof c&&/^\d+(?:-\d+)?$/.test(c)))&&delete a.pages}(c),JSON.stringify(c)}catch{return b}}(d.name,e);c.push({type:"content_block_delta",index:d.blockIndex,delta:{type:"input_json_delta",partial_json:a}})}c.push({type:"content_block_stop",index:d.blockIndex})}b.finishReason=d.finish_reason;let e=b.usage||{input_tokens:0,output_tokens:0};c.push({type:"message_delta",delta:{stop_reason:(a=d.finish_reason,(0,x.Q)(a,"claude"))},usage:e}),c.push({type:"message_stop"})}return c.length>0?c:null}),c(31146),C(f.h.OPENAI,f.h.ANTIGRAVITY,null,function(a,b){if(!a)return null;let c=a.choices?.[0];if(!c)return a.usage&&(b._usage=a.usage),null;let d=c.delta||{},e=c.finish_reason;b._toolCallAccum||(b._toolCallAccum={}),b._responseId||(b._responseId=a.id||`resp_${Date.now()}`),b._modelVersion||(b._modelVersion=a.model||"");let f=[];if(d.reasoning_content&&f.push({thought:!0,text:d.reasoning_content}),d.content&&f.push({text:d.content}),d.tool_calls){for(let a of d.tool_calls){let c=a.index??0;b._toolCallAccum[c]||(b._toolCallAccum[c]={id:"",name:"",arguments:""});let d=b._toolCallAccum[c];a.id&&(d.id=a.id),a.function?.name&&(d.name+=a.function.name),a.function?.arguments&&(d.arguments+=a.function.arguments)}if(0===f.length&&!e)return null}if(e)for(let a of Object.keys(b._toolCallAccum)){let c=b._toolCallAccum[a],d={};try{d=JSON.parse(c.arguments)}catch{}let e=b.toolNameMap?.get(c.name)||c.name;f.push({functionCall:{name:e,args:d}})}if(0===f.length&&!e)return null;0===f.length&&e&&f.push({text:""});let g={content:{role:j.RV.MODEL,parts:f}};e&&(g.finishReason=({[j.bC.STOP]:j.a_.STOP,[j.bC.LENGTH]:j.a_.MAX_TOKENS,[j.bC.TOOL_CALLS]:j.a_.STOP,[j.bC.CONTENT_FILTER]:j.a_.SAFETY})[e]||j.a_.STOP);let h={candidates:[g],modelVersion:b._modelVersion,responseId:b._responseId},i=a.usage||b._usage;return i&&(h.usageMetadata={promptTokenCount:i.prompt_tokens||0,candidatesTokenCount:i.completion_tokens||0,totalTokenCount:i.total_tokens||0},i.completion_tokens_details?.reasoning_tokens&&(h.usageMetadata.thoughtsTokenCount=i.completion_tokens_details.reasoning_tokens),i.prompt_tokens_details?.cached_tokens&&(h.usageMetadata.cachedContentTokenCount=i.prompt_tokens_details.cached_tokens)),{response:h}}),c(67349);function D(a,b,c,e,o=!0,p=null,q=null,r=null,s=[],t=null,u=null){let v=e;!function(a,b=[]){if(!b.length||!a.messages||!Array.isArray(a.messages))return;let c=new Set(["image_url","image"]),d=new Set(["audio_url","input_audio"]),e=a=>c.has(a)?b.includes("image"):!!d.has(a)&&b.includes("audio");for(let b of a.messages)Array.isArray(b.content)&&(b.content=b.content.filter(a=>!e(a.type)),0===b.content.length&&(b.content=""))}(v,s),(0,k.SZ)(v),(0,g.fH)(v),(0,g.SF)(v);let w=(0,l.NU)(v),x=(0,m.YC)(v,p,t,b);if(p&&(p._clientSessionId=x),a!==b){let e=d.get(`${a}:${b}`);if(e)v=e(c,v,o,p);else{if(a!==f.h.OPENAI){let b=d.get(`${a}:${f.h.OPENAI}`);b&&(v=b(c,v,o,p),r?.logOpenAIRequest?.(v))}if(b!==f.h.OPENAI){let a=d.get(`${f.h.OPENAI}:${b}`);a&&(v=a(c,v,o,p))}}}if((0,l.z)(b,c,v,q,w),b===f.h.OPENAI&&(v=function(a,b={}){if(!a.messages||!Array.isArray(a.messages))return a;let c=!!b.preserveCacheControl;function d(a){let{signature:b,cache_control:d,...e}=a;return c&&d?{...e,cache_control:d}:e}if(a.messages=a.messages.map(a=>{if(a.role===j.z7.DEVELOPER&&(a={...a,role:j.z7.SYSTEM}),a.role===j.z7.TOOL||a.role===j.z7.ASSISTANT&&a.tool_calls||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=[];for(let c of a.content)if(c.type!==j.R4.THINKING&&c.type!==j.R4.REDACTED_THINKING)if(j.m8.includes(c.type))b.push(d(c));else{if(c.type===j.R4.TOOL_USE)continue;c.type===j.R4.TOOL_RESULT&&b.push(d(c))}return(0===b.length&&b.push({type:j.x4.TEXT,text:""}),!(c&&b.some(a=>a.cache_control))&&b.every(a=>a.type===j.x4.TEXT))?{...a,content:b.map(a=>a.text??"").join("\n")}:{...a,content:b}}return a}),a.messages=a.messages.filter(a=>a.role===j.z7.TOOL||a.role===j.z7.ASSISTANT&&!!a.tool_calls||("string"==typeof a.content?""!==a.content.trim():!Array.isArray(a.content)||a.content.some(a=>a.type===j.x4.TEXT&&a.text?.trim()||a.type!==j.x4.TEXT))),a.tools&&Array.isArray(a.tools)&&0===a.tools.length&&delete a.tools,a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&(a.tools=a.tools.map(a=>a.type===j.x4.FUNCTION&&a.function?a:a.name&&(a.input_schema||a.description)?{type:j.x4.FUNCTION,function:{name:a.name,description:String(a.description||""),parameters:a.input_schema||{type:"object",properties:{}}}}:a.functionDeclarations&&Array.isArray(a.functionDeclarations)?a.functionDeclarations.map(a=>({type:j.x4.FUNCTION,function:{name:a.name,description:String(a.description||""),parameters:a.parameters||{type:"object",properties:{}}}})):a).flat()),a.tool_choice&&"object"==typeof a.tool_choice){let b=a.tool_choice;"auto"===b.type?a.tool_choice="auto":"any"===b.type?a.tool_choice="required":"tool"===b.type&&b.name&&(a.tool_choice={type:j.x4.FUNCTION,function:{name:b.name}})}return a}(v,{preserveCacheControl:!!n.xq[q]?.quirks?.preserveCacheControl})),b===f.h.CLAUDE){let a=p?.accessToken||p?.apiKey||null;v=(0,h.Bz)(v,q,a,t,p?.rawHeaders,x)}if(n.xq[q]?.quirks?.cloakToolsOnOAuth){let a=p?.accessToken||p?.apiKey||null;if(a?.includes("sk-ant-oat")){let{body:a,toolNameMap:b}=(0,i.Az)(v);v=a,b?.size>0&&(v._toolNameMap=b)}}return v}function E(a,b,c,d){if(b===a)return[(0,i.F5)(c,d?.toolNameMap)];let g=[c],h=null,j=e.get(`${a}:${b}`);if(j){let a=j(c,d);return a?Array.isArray(a)?a:[a]:[]}if(a!==f.h.OPENAI){let b=e.get(`${a}:${f.h.OPENAI}`);if(b){g=[];let a=b(c,d);a&&(h=g=Array.isArray(a)?a:[a])}}if(b!==f.h.OPENAI){let a=e.get(`${f.h.OPENAI}:${b}`);if(a){let b=[];for(let c of g){let e=a(c,d);e&&b.push(...Array.isArray(e)?e:[e])}g=b}}return h&&b!==f.h.OPENAI&&a!==f.h.OPENAI&&(g._openaiIntermediate=h),g}function F(a,b){return a!==b}function G(a){let b={messageId:null,model:null,textBlockStarted:!1,thinkingBlockStarted:!1,inThinkingBlock:!1,currentBlockIndex:null,toolCalls:new Map,finishReason:null,finishReasonSent:!1,usage:null,contentBlockIndex:-1};return a===f.h.OPENAI_RESPONSES?{...b,seq:0,responseId:`resp_${Date.now()}`,created:Math.floor(Date.now()/1e3),started:!1,msgTextBuf:{},msgItemAdded:{},msgContentAdded:{},msgItemDone:{},reasoningId:"",reasoningIndex:-1,reasoningBuf:"",reasoningPartAdded:!1,reasoningDone:!1,inThinking:!1,funcArgsBuf:{},funcNames:{},funcCallIds:{},funcItemAdded:{},funcArgsDone:{},funcItemDone:{},customToolNames:new Set,completedSent:!1}:b}function H(){}C(f.h.CURSOR,f.h.OPENAI,null,function(a,b){return a?("chat.completion.chunk"===a.object&&a.choices||"chat.completion"===a.object&&a.choices,a):null})},11190:(a,b,c)=>{c.d(b,{F:()=>f});var d=c(65895),e=c(83336);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`}}},14423:(a,b,c)=>{c.d(b,{k:()=>l});var d=c(12151),e=c(7504);let f=["none","low","medium","high"],g=["none","thinking"],h=["none","low","medium","high","max"],i={openai:["none","minimal","low","medium","high","xhigh"],"claude-adaptive":h,"claude-budget":["none","low","medium","high","xhigh","max"],"gemini-level":["minimal","low","medium","high"],"gemini-budget":f,zai:g,qwen:f,kimi:h,deepseek:["none","high","max"],commandcode:["none","low","medium","high","xhigh","max"],minimax:g,hunyuan:f,step:f},j=["none","minimal","low","medium","high","xhigh","max"],k=[{provider:"codex",pattern:"*gpt-6*",levels:j},{provider:"codex",pattern:"*gpt-5.6-sol*",levels:[...j,"ultra"]},{provider:"codex",pattern:"*gpt-5.6-terra*",levels:[...j,"ultra"]},{provider:"codex",pattern:"*gpt-5.6-luna*",levels:j},{pattern:"*codex*",levels:["low","medium","high","xhigh"]},{pattern:"*deepseek-v4.*",levels:["none","low","medium","high","xhigh","max"]},{provider:"codebuddy-cn",pattern:"glm-5.3*",levels:["low","high","max"]},{provider:"codebuddy-cn",pattern:"glm-5.2",levels:["high","xhigh"]},{provider:"codebuddy-cn",pattern:"deepseek-v4*",levels:["low","high","xhigh"]},{provider:"codebuddy-cn",pattern:"hy3*",levels:["low","high"]},{provider:"codebuddy-cn",pattern:"hy4*",levels:["high"]},{provider:"codebuddy-intl",pattern:"deepseek-v4*",levels:["low","high","xhigh"]}];function l(a,b){let c=(0,d.getCapabilitiesForModel)(a,b);if(!c.reasoning)return null;let g=k.find(c=>(!c.provider||c.provider===a)&&(0,e.gH)(c.pattern,b)),h=g?.levels||i[c.thinkingFormat]||f;return!1===c.thinkingCanDisable&&(h=h.filter(a=>"none"!==a)),h}},15673:(a,b,c)=>{c.d(b,{Z:()=>h,h:()=>j});var d=c(9546),e=c(74258),f=c(20453),g=c(32973);function h(a,b,c,d){if(!b.input)return b;let e={...b};e.messages=[],b.instructions&&e.messages.push({role:g.z7.SYSTEM,content:b.instructions});let h=null,j=[],k="",l="",m=[],n=new Set,o=(0,f.me)(b.input);if(!o)return b;let p=a=>{if(Array.isArray(a.summary)){let b=a.summary.map(a=>a?.text||"").filter(Boolean).join("\n");if(b)return b}if(Array.isArray(a.content)){let b=a.content.map(a=>a?.text||"").filter(Boolean).join("\n");if(b)return b}return""},q=a=>{k&&(a.reasoning_content=k),l&&(a.encrypted_content=l),k="",l=""};for(let a of o){let b=a.type||(a.role?g.Du.MESSAGE:null);if(b===g.Du.MESSAGE){if(h&&(e.messages.push(h),h=null),j.length>0){for(let a of j)e.messages.push(a);j=[]}let b=Array.isArray(a.content)?a.content.map(a=>{if(a.type===g.Du.INPUT_TEXT||a.type===g.Du.OUTPUT_TEXT)return{type:g.x4.TEXT,text:a.text};if(a.type===g.Du.INPUT_IMAGE){let b=a.image_url||a.file_id||"";return{type:g.x4.IMAGE_URL,image_url:{url:b,detail:a.detail||"auto"}}}return a}):a.content,c={role:a.role,content:b};a.role===g.z7.ASSISTANT?q(c):(k="",l=""),e.messages.push(c)}else if(b===g.Du.FUNCTION_CALL||b===g.Du.CUSTOM_TOOL_CALL){if(h||q(h={role:g.z7.ASSISTANT,content:null,tool_calls:[]}),!a.name||"string"!=typeof a.name||""===a.name.trim())continue;b===g.Du.CUSTOM_TOOL_CALL&&n.add(a.name);let c=b===g.Du.CUSTOM_TOOL_CALL?{input:"string"==typeof a.input?a.input:JSON.stringify(a.input??"")}:a.arguments;h.tool_calls.push({id:a.call_id,type:g.x4.FUNCTION,function:{name:a.name,arguments:"string"==typeof c?c:JSON.stringify(c??{})}})}else if(b===g.Du.FUNCTION_CALL_OUTPUT||b===g.Du.CUSTOM_TOOL_CALL_OUTPUT){if(h&&(e.messages.push(h),h=null),j.length>0){for(let a of j)e.messages.push(a);j=[]}e.messages.push({role:g.z7.TOOL,tool_call_id:a.call_id,content:"string"==typeof a.output?a.output:JSON.stringify(a.output)})}else if(b===g.Du.ADDITIONAL_TOOLS)Array.isArray(a.tools)&&m.push(...a.tools);else if(b===g.Du.REASONING){let b=p(a);b&&(k=k?`${k}
7
+ ${b}`:b),"string"==typeof a.encrypted_content&&a.encrypted_content&&(l=a.encrypted_content);continue}}if(h&&e.messages.push(h),j.length>0)for(let a of j)e.messages.push(a);let r=[...Array.isArray(b.tools)?b.tools:[],...m];return r.length>0&&(e.tools=r.map(a=>{if(a.function)return a;let b=a.name;if(!b||"string"!=typeof b||""===b.trim())return null;if("custom"===a.type){n.add(b);let c=[a.format?.syntax,a.format?.definition].filter(Boolean).join("\n");return{type:g.x4.FUNCTION,function:{name:b,description:[String(a.description||""),c].filter(Boolean).join("\n\n"),parameters:{type:"object",properties:{input:{type:"string",description:"Raw freeform input for this custom tool"}},required:["input"],additionalProperties:!1}}}}return{type:g.x4.FUNCTION,function:{name:b,description:String(a.description||""),parameters:i(a.parameters),strict:a.strict}}}).filter(Boolean)),n.size>0&&(e._customToolNames=[...n]),void 0!==e.max_output_tokens&&(void 0===e.max_tokens&&(e.max_tokens=e.max_output_tokens),delete e.max_output_tokens),delete e.input,delete e.instructions,delete e.include,delete e.prompt_cache_key,delete e.store,"string"==typeof e.reasoning?.effort&&(e.reasoning_effort=e.reasoning.effort),delete e.reasoning,delete e.client_metadata,e}function i(a){return a?"object"!==a.type||a.properties?a:{...a,properties:{}}:{type:"object",properties:{}}}function j(a,b,c,d){if(b.input){let c={...b,model:a,stream:!0};return void 0===c.max_output_tokens&&(void 0!==c.max_completion_tokens?c.max_output_tokens=c.max_completion_tokens:void 0!==c.max_tokens&&(c.max_output_tokens=c.max_tokens)),delete c.max_tokens,delete c.max_completion_tokens,c}let e={model:a,input:[],stream:!0,store:!1},h=!1;for(let a of b.messages||[]){if(a.role===g.z7.SYSTEM||a.role===g.z7.DEVELOPER){if(!h){var j;e.instructions="string"==typeof(j=a.content)?j:Array.isArray(j)?j.map(a=>"string"==typeof a?.text?a.text:"string"==typeof a?.content?a.content:"").filter(Boolean).join("\n"):"",h=!0}continue}if(a.role===g.z7.USER||a.role===g.z7.ASSISTANT){if(a.role===g.z7.ASSISTANT){let b=function(a){if(!a||"object"!=typeof a)return null;let b="string"==typeof a.encrypted_content&&a.encrypted_content||"string"==typeof a.reasoning_encrypted_content&&a.reasoning_encrypted_content||"string"==typeof a.reasoning?.encrypted_content&&a.reasoning.encrypted_content||"",c="";if("string"==typeof a.reasoning_content&&a.reasoning_content.trim()?c=a.reasoning_content:"string"==typeof a.reasoning&&a.reasoning.trim()?c=a.reasoning:Array.isArray(a.reasoning_details)&&(c=a.reasoning_details.map(a=>"string"==typeof a?.text?a.text:"string"==typeof a?.content?a.content:"").filter(Boolean).join("\n")),!b&&!c)return null;let d={type:g.Du.REASONING};return c&&(d.summary=[{type:g.Du.SUMMARY_TEXT,text:c}]),b&&(d.encrypted_content=b),d}(a);b&&e.input.push(b)}let b=a.role===g.z7.USER?g.Du.INPUT_TEXT:g.Du.OUTPUT_TEXT,c="string"==typeof a.content?[{type:b,text:a.content}]:Array.isArray(a.content)?a.content.map(a=>{if(a.type===g.x4.TEXT)return{type:b,text:a.text};if(a.type===g.x4.IMAGE_URL){let b="string"==typeof a.image_url?a.image_url:a.image_url?.url;return{type:g.Du.INPUT_IMAGE,image_url:b,detail:a.image_url?.detail||"auto"}}if(a.type===g.Du.INPUT_IMAGE)return a;let c=a.text||a.content||JSON.stringify(a);return{type:b,text:"string"==typeof c?c:JSON.stringify(c)}}):[];c.length>0&&e.input.push({type:g.Du.MESSAGE,role:a.role,content:c})}if(a.role===g.z7.ASSISTANT&&a.tool_calls)for(let b of a.tool_calls){let a="string"==typeof b.function?.name?b.function.name.trim():"";a&&e.input.push({type:g.Du.FUNCTION_CALL,call_id:(0,f.N8)(b.id),name:a.slice(0,128),arguments:(0,f.We)(b.function?.arguments)})}a.role===g.z7.TOOL&&e.input.push({type:g.Du.FUNCTION_CALL_OUTPUT,call_id:(0,f.N8)(a.tool_call_id),output:(0,f.DP)(a.content)})}return h||(e.instructions=""),b.tools&&Array.isArray(b.tools)&&(e.tools=b.tools.map(a=>{if(a.type===g.x4.FUNCTION){let b="string"==typeof a.function?.name?a.function.name.trim():"";return b?{type:g.x4.FUNCTION,name:b.slice(0,128),description:String(a.function.description||""),parameters:i(a.function.parameters),strict:a.function.strict}:null}return a}).filter(Boolean)),void 0!==b.temperature&&(e.temperature=b.temperature),void 0!==b.max_output_tokens?e.max_output_tokens=b.max_output_tokens:void 0!==b.max_completion_tokens?e.max_output_tokens=b.max_completion_tokens:void 0!==b.max_tokens&&(e.max_output_tokens=b.max_tokens),void 0!==b.top_p&&(e.top_p=b.top_p),void 0!==b.reasoning&&(e.reasoning=b.reasoning),void 0!==b.reasoning_effort&&(e.reasoning={effort:b.reasoning_effort,summary:"auto"}),void 0!==b.service_tier&&(e.service_tier=b.service_tier),void 0!==b.prompt_cache_key&&(e.prompt_cache_key=b.prompt_cache_key),e}(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,h,null),(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,j,null)},20996:(a,b,c)=>{c.d(b,{Dl:()=>d,Vp:()=>h,nE:()=>e,vz:()=>g,wd:()=>f});let d={none:0,minimal:512,low:1024,medium:8192,high:24576,xhigh:32768,max:128e3};function e(a){if(a)return d[String(a).toLowerCase()]}function f(a){let b=String(a).toLowerCase().trim();return"none"===b||"off"===b?"minimal":"xhigh"===b||"max"===b?"high":b}function g(a){let b=Number(a);return!b||b<=0?null:b<=768?"minimal":b<=4096?"low":b<=16384?"medium":b<=28672?"high":"xhigh"}function h(a){return!a||a<=0?null:a<=2048?"low":a<=16384?"medium":"high"}},22040:(a,b,c)=>{c.d(b,{_W:()=>u,ui:()=>s,Bz:()=>v});var d=c(64081),e=c(32973);c(65205);var f=c(45276),g=c(52238);function h(a){let b=function(a){let b=(a||"").trim();if(!b)return"";let c=b.indexOf("#");return c>=0?b.slice(c+1).trim():b}(a);if(!b||b.length>0x2000000)return!1;try{if("E"===b[0]){let a=Buffer.from(b,"base64");return a.length>0&&18===a[0]}if("R"===b[0]){let a=Buffer.from(b,"base64");if(!a.length||69!==a[0])return!1;let c=Buffer.from(a.toString(),"base64");return c.length>0&&18===c[0]}return!1}catch{return!1}}var i=c(87156),j=c(12151),k=c(97508);let l={type:"ephemeral"},m={type:"ephemeral",ttl:"1h"};function n(a){if(!Array.isArray(a))return -1;for(let b=a.length-1;b>=0;b--)if(a[b]?.defer_loading!==!0)return b;return -1}function o(a){let b=a?.content;return b&&"object"==typeof b&&!Array.isArray(b)&&(delete b.cache_control,a.content=[b]),a}let p=/haiku/i;function q(a){let b={type:e.R4.THINKING,thinking:"."};return"deepseek"!==a&&(b.signature=d.xr),b}let r=/^srvtoolu_[a-zA-Z0-9_]+$/;function s(a,b=""){if(!a||"object"!=typeof a)return a;if(a.thinking?.type==="adaptive"&&p.test(b)&&(a.thinking={type:"enabled",budget_tokens:1e4}),p.test(b)&&a.output_config?.effort!=null&&(delete a.output_config.effort,0===Object.keys(a.output_config).length&&delete a.output_config),Array.isArray(a.messages))for(let b of a.messages)o(b);if(Array.isArray(a.messages)){let b=[];for(let c of a.messages){if(c.role!==e.z7.SYSTEM){b.push(c);continue}let a="string"==typeof c.content?c.content:Array.isArray(c.content)?c.content.map(a=>"string"==typeof a?a:a?.text||"").join("\n"):"";if(!a.trim())continue;let d={type:e.R4.TEXT,text:a},f=b[b.length-1];if(f?.role===e.z7.USER){let a="string"==typeof f.content?[{type:e.R4.TEXT,text:f.content}]:Array.isArray(f.content)?[...f.content]:[];b[b.length-1]={...f,content:[...a,d]};continue}b.push({role:e.z7.USER,content:[d]})}a.messages=b}let c=a.thinking?.type==="enabled",d=new Set;if(Array.isArray(a.messages))for(let b of a.messages){if(b.role!==e.z7.ASSISTANT||!Array.isArray(b.content))continue;let a=!1,f=!1,g=[];for(let c of b.content){if(c.type===e.R4.THINKING||c.type===e.R4.REDACTED_THINKING){h(c.signature)&&(f=!0,g.push(c));continue}if(c?.type===e.R4.SERVER_TOOL_USE&&!r.test(String(c.id??""))){null!=c.id&&d.add(String(c.id));continue}c.type===e.R4.TOOL_USE&&(a=!0),g.push(c)}b.content=g,c&&!f&&a&&b.content.unshift(q("claude"))}if(d.size>0&&Array.isArray(a.messages))for(let b of a.messages){if(!Array.isArray(b.content))continue;let a=b.content.filter(a=>!((a?.type===e.R4.TOOL_RESULT||a?.type===e.R4.WEB_SEARCH_TOOL_RESULT)&&d.has(String(a.tool_use_id??""))));a.length!==b.content.length&&(b.content=a)}return Array.isArray(a.messages)&&(a.messages=a.messages.filter(a=>"string"==typeof a.content?a.content.trim().length>0:!Array.isArray(a.content)||(a.content=a.content.filter(a=>!(a?.type===e.R4.TEXT&&!String(a.text??"").trim())),a.content.length>0))),a}function t(a){if(!Array.isArray(a?.content))return!1;for(let b=a.content.length-1;b>=0;b--){let c=a.content[b];if("object"==typeof c&&null!==c&&c.type!==e.R4.THINKING&&c.type!==e.R4.REDACTED_THINKING)return c.cache_control={...l},!0}return!1}function u(a){if(!a||"object"!=typeof a)return a;if(Array.isArray(a.messages))for(let b of a.messages)o(b);if(Array.isArray(a.tools))for(let b of a.tools)b?.defer_loading===!0&&delete b.cache_control;if(Array.isArray(a.system)){let b=a.system.length-1;a.system.forEach((a,c)=>{"object"==typeof a&&null!==a&&(c===b?a.cache_control={...m}:delete a.cache_control)})}if(Array.isArray(a.tools)){let b=n(a.tools);a.tools.forEach((a,c)=>{c===b?a.cache_control={...m}:delete a.cache_control})}if(function(a){let b=0;if(Array.isArray(a?.system))for(let c of a.system)c?.cache_control&&b++;if(Array.isArray(a?.tools))for(let c of a.tools)c?.cache_control&&b++;if(Array.isArray(a?.messages))for(let c of a.messages)if(Array.isArray(c?.content))for(let a of c.content)a?.cache_control&&b++;else c?.content&&"object"==typeof c.content&&c.content.cache_control&&b++;return b}(a)>=4)return!function(a){let b=b=>{let c=Array.isArray(a?.system)?a.system:[];if(c.length&&c[c.length-1]===b)return!0;let d=Array.isArray(a?.tools)?a.tools:[],e=n(d);return e>=0&&d[e]===b},c=[];if(Array.isArray(a?.system))for(let b of a.system)b?.cache_control&&c.push(b);if(Array.isArray(a?.tools))for(let b of a.tools)b?.cache_control&&c.push(b);if(Array.isArray(a?.messages)){for(let b of a.messages)if(Array.isArray(b?.content))for(let a of b.content)a?.cache_control&&c.push(a)}let d=c.filter(b),e=c.filter(a=>!b(a)),f=Math.max(0,4-d.length);for(let a of e.slice(0,Math.max(0,e.length-f)))delete a.cache_control}(a),a;if(Array.isArray(a.messages)){let b=null;for(let c=a.messages.length-1;c>=0;c--){let d=a.messages[c];if(Array.isArray(d.content)){for(let a of d.content)delete a.cache_control;b||d.role!==e.z7.ASSISTANT||(b=t(d))}}if(!b)for(let c=a.messages.length-1;c>=0&&!b;c--)b=t(a.messages[c])}return a}function v(a,b=null,c=null,l=null,m=null,p=null){if(i.xq[b]?.quirks?.dropOutputConfig&&delete a.output_config,a.max_tokens){let c=(0,j.getCapabilitiesForModel)(b,a.model).maxOutput||k.Uc;a.max_tokens>c&&(a.max_tokens=c),a.thinking?.type==="enabled"&&a.thinking.budget_tokens&&a.thinking.budget_tokens>=a.max_tokens&&(a.max_tokens=Math.min(a.thinking.budget_tokens+1024,c),a.thinking.budget_tokens>=a.max_tokens&&(a.thinking.budget_tokens=Math.max(1024,a.max_tokens-1024)))}if(a.system&&Array.isArray(a.system)&&(a.system=a.system.map((b,c)=>{let{cache_control:d,...e}=b;return c===a.system.length-1?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e})),a.messages&&Array.isArray(a.messages)){let c=a.messages.length,f=[];for(let b=0;b<c;b++){let d=a.messages[b];if(o(d),Array.isArray(d.content))for(let a of d.content)delete a.cache_control;(b===c-1&&"assistant"===d.role||function(a){if("string"==typeof a.content&&a.content.trim())return!0;if(a.content&&"object"==typeof a.content&&!Array.isArray(a.content)){let b=a.content;return!!(b.type===e.R4.TEXT&&b.text?.trim()||b.type===e.R4.TOOL_USE||b.type===e.R4.TOOL_RESULT||b.type===e.R4.IMAGE||b.type===e.R4.DOCUMENT)}return!!Array.isArray(a.content)&&a.content.some(a=>a.type===e.R4.TEXT&&a.text?.trim()||a.type===e.R4.TOOL_USE||a.type===e.R4.TOOL_RESULT||a.type===e.R4.IMAGE||a.type===e.R4.DOCUMENT)}(d))&&f.push(d)}f=function(a){if(a.length<=1)return a;for(let b of a)if(b.role===e.z7.ASSISTANT&&Array.isArray(b.content)&&b.content.some(a=>a.type===e.R4.TOOL_USE)){let a=[],c=!1;for(let d of b.content)d.type===e.R4.TOOL_USE?(c=!0,a.push(d)):d.type===e.R4.THINKING||d.type===e.R4.REDACTED_THINKING?a.push(d):c||a.push(d);b.content=a}let b=[];for(let c of a){let a=b[b.length-1];if(a&&a.role===c.role){let b=Array.isArray(a.content)?a.content:[{type:e.R4.TEXT,text:a.content}],d=Array.isArray(c.content)?c.content:[{type:e.R4.TEXT,text:c.content}];a.content=[...b.filter(a=>a.type===e.R4.TOOL_RESULT),...d.filter(a=>a.type===e.R4.TOOL_RESULT),...b.filter(a=>a.type!==e.R4.TOOL_RESULT),...d.filter(a=>a.type!==e.R4.TOOL_RESULT)]}else{let a=Array.isArray(c.content)?c.content:[{type:e.R4.TEXT,text:c.content}];b.push({role:c.role,content:[...a]})}}return b}(f),a.messages=f;let g=f[f.length-1],i=g?.role==="user",j=a.thinking?.type==="enabled"&&i,k=!1;for(let a=f.length-1;a>=0;a--){let c=f[a];if("assistant"===c.role&&Array.isArray(c.content)){if(!k&&c.content.length>0){for(let a=c.content.length-1;a>=0;a--){let b=c.content[a];if(b.type!==e.R4.THINKING&&b.type!==e.R4.REDACTED_THINKING){b.cache_control={type:"ephemeral"};break}}k=!0}if("claude"===b||b?.startsWith("anthropic-compatible")||"deepseek"===b){let a=!1,f=!1,g="claude"===b,i="deepseek"===b,k=[];for(let b of c.content){if(b.type===e.R4.THINKING||b.type===e.R4.REDACTED_THINKING){g?h(b.signature)&&(f=!0,k.push(b)):(i||(b.signature=d.xr),f=!0,k.push(b));continue}b.type===e.R4.TOOL_USE&&(a=!0),k.push(b)}c.content=k,j&&!f&&a&&c.content.unshift(q(b))}}}}if(a.tools&&Array.isArray(a.tools)){if("claude"!==b){let c=i.xq[b]?.quirks?.claudeSupportedToolTypes,d=Array.isArray(c);a.tools=a.tools.filter(a=>{let b=a?.type;return!b||"function"===b||!!d&&c.includes(b)}).map(a=>{if(a.function)return{name:a.function.name,description:a.function.description,input_schema:a.function.parameters};if(d)return a;let{type:b,...c}=a;return c})}let c=n(a.tools);a.tools=a.tools.map((a,b)=>{let{cache_control:d,...e}=a;return b===c?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e}),0===a.tools.length&&(delete a.tools,delete a.tool_choice)}if("claude"===b||b?.startsWith("anthropic-compatible")||(a=function(a){if(!Array.isArray(a?.messages))return a;let b=!1,c=a.messages.map(a=>{if(a?.role!==e.z7.USER||!Array.isArray(a.content))return a;let c=[],d=a.content.map(a=>{if(a?.type!==e.R4.TOOL_RESULT||!Array.isArray(a.content))return a;let b=a.content.filter(a=>a?.type===e.R4.IMAGE);if(!b.length)return a;let d=a.content.filter(a=>a?.type!==e.R4.IMAGE);return c.push({type:e.R4.TEXT,text:`[Image from tool result ${a.tool_use_id}]`},...b),{...a,content:d.length?d:[{type:e.R4.TEXT,text:"(image attached below)"}]}});return c.length?(b=!0,{...a,content:[...d,...c]}):a});return b?{...a,messages:c}:a}(a)),("claude"===b||b?.startsWith("anthropic-compatible"))&&c){let b=p||(0,g.oV)({headers:m,body:a,connectionId:l,scope:"claude"});a=(0,f.fO)(a,c,b)}return a}},23879:(a,b,c)=>{c.d(b,{k:()=>d});function d({id:a,created:b,model:c},e,f=null){return{id:a,object:"chat.completion.chunk",created:b,model:c,choices:[{index:0,delta:e,finish_reason:f}]}}},24928:(a,b,c)=>{c.d(b,{NU:()=>k,kD:()=>i,sS:()=>j,z:()=>t});var d=c(12151),e=c(14423),f=c(87156),g=c(20996);let h={openai:"openai","openai-responses":"openai","openai-response":"openai",codex:"openai",claude:"claude-budget",gemini:"gemini-budget",vertex:"gemini-budget",antigravity:"gemini-budget",kiro:"kiro",commandcode:"commandcode"};function i(a){if("string"!=typeof a)return a;let b=a.match(/^(.*)\([^()]+\)\s*$/);return b?b[1].trim():a}function j(a){if(!a||"object"!=typeof a)return null;let b=a.output_config?.effort;if("string"==typeof b&&b){let a=b.toLowerCase();return"none"===a||"off"===a?{mode:"none"}:"auto"===a?{mode:"auto"}:{mode:"level",level:a}}let c=a.reasoning_effort??("object"==typeof a.reasoning?a.reasoning?.effort:null);if("string"==typeof c&&c){let a=c.toLowerCase();return"none"===a||"off"===a?{mode:"none"}:"auto"===a?{mode:"auto"}:{mode:"level",level:a}}let d=a.thinking;if(d&&"object"==typeof d){if("disabled"===d.type)return{mode:"none"};if("adaptive"===d.type||"enabled"===d.type){let a=Number(d.budget_tokens);return Number.isFinite(a)&&a>0?{mode:"budget",budget:a}:{mode:"auto"}}}let e=a.thinkingConfig||a.generationConfig?.thinkingConfig||a.request?.generationConfig?.thinkingConfig;if(e&&"object"==typeof e){if("string"==typeof e.thinkingLevel)return{mode:"level",level:e.thinkingLevel.toLowerCase()};let a=Number(e.thinkingBudget);if(Number.isFinite(a))return 0===a?{mode:"none"}:a<0?{mode:"auto"}:{mode:"budget",budget:a}}if(!1===a.enable_thinking)return{mode:"none"};if(!0===a.enable_thinking){let b=Number(a.thinking_budget);return Number.isFinite(b)&&b>0?{mode:"budget",budget:b}:{mode:"auto"}}return null}let k=j,l=new Set(["gemini-level","gemini-budget","claude-budget","claude-adaptive","kiro"]);function m(a,b){let c;if("budget"===a.mode)c=a.budget;else if("level"===a.mode)c=(0,g.nE)(a.level);else if("auto"===a.mode)return -1;if(Number.isFinite(c))return b&&(null!=b.min&&c<b.min&&(c=b.min),null!=b.max&&c>b.max&&(c=b.max)),c}function n(a){return"level"===a.mode?a.level:"budget"===a.mode?(0,g.vz)(a.budget)||"medium":"auto"===a.mode?"auto":null}let o={minimal:4096,low:8192,medium:16384,high:65535};function p(a){return a.request&&"object"==typeof a.request?(a.request.generationConfig&&"object"==typeof a.request.generationConfig||(a.request.generationConfig={}),a.request.generationConfig):(a.generationConfig&&"object"==typeof a.generationConfig||(a.generationConfig={}),a.generationConfig)}function q(a,b){p(a).thinkingConfig=b}function r(a,b,c){let d=Number.isFinite(c?.maxOutput)?c.maxOutput:b,e=Math.min(b,d),f=p(a),g=Number(f.maxOutputTokens);(!Number.isFinite(g)||g<e)&&(f.maxOutputTokens=e)}function s(a){delete a.thinking,delete a.reasoning_effort,delete a.reasoning,delete a.thinkingConfig,delete a.enable_thinking,delete a.thinking_budget,delete a.output_config,a.generationConfig&&delete a.generationConfig.thinkingConfig,a.request?.generationConfig&&delete a.request.generationConfig.thinkingConfig,a.params&&"object"==typeof a.params&&(delete a.params.reasoning_effort,delete a.params.thinking)}function t(a,b,c,i=null,k){if(!c||"object"!=typeof c)return c;let{cleanModel:p,override:u}=function(a){if("string"!=typeof a)return{cleanModel:a,override:null};let b=a.match(/^(.*)\(([^()]+)\)\s*$/);if(!b)return{cleanModel:a,override:null};let c=b[1].trim(),d=b[2].trim().toLowerCase();return"none"===d||"off"===d?{cleanModel:c,override:{mode:"none"}}:"auto"===d?{cleanModel:c,override:{mode:"auto"}}:"ultra"===d?{cleanModel:c,override:{mode:"level",level:d}}:/^\d+$/.test(d)?{cleanModel:c,override:{mode:"budget",budget:Number(d)}}:void 0!==g.Dl[d]?{cleanModel:c,override:{mode:"level",level:d}}:{cleanModel:c,override:null}}(b),v=u||k||j(c),w=(0,d.getCapabilitiesForModel)(i,p);if(!w.reasoning)return s(c),c;if(!v)return c;let x=function(a,b,c){if("commandcode"===a)return"commandcode";let e=c?f.xq[c]?.thinkingFormat:null;if(e)return e;let g=(0,d.getCapabilitiesForModel)(c,b);return g.thinkingFormat&&!(("openai"===a||"openai-responses"===a)&&l.has(g.thinkingFormat))?g.thinkingFormat:h[a]||"openai"}(a,p,i),y=(0,e.k)(i,p),z="string"==typeof c.thinking?.display?c.thinking.display:void 0;return s(c),!function(a,b,c,d,e,f){var h;let i="none"===c.mode,j=!1!==d.thinkingCanDisable,k=i&&!j?{mode:"level",level:"minimal"}:c;switch(a){case"openai":{if(i&&j){b.reasoning_effort="none";break}let a=n(k);a&&(b.reasoning_effort="max"!==a&&"ultra"!==a||e?.includes(a)?a:"ultra"===a&&e?.includes("max")?"max":"xhigh");break}case"claude-adaptive":{if(i&&j){b.thinking={type:"disabled"};break}j?b.thinking={type:"adaptive",...f?{display:f}:{}}:delete b.thinking;let a=n(k);b.output_config={effort:"xhigh"===a||"auto"===a?"high":a};break}case"claude-budget":{if(i&&j){b.thinking={type:"disabled"};break}let a=m(k,d.thinkingRange);b.thinking=-1===a?{type:"enabled",...f?{display:f}:{}}:{type:"enabled",budget_tokens:a||8192,...f?{display:f}:{}};break}case"gemini-level":{let a,c=i?"minimal":(a="auto"===k.mode?"high":n(k)||"high",(0,g.wd)(a));q(b,{thinkingLevel:c,includeThoughts:"minimal"!==c}),r(b,o[c]||o.high,d);break}case"gemini-budget":{if(i&&j){q(b,{thinkingBudget:0,includeThoughts:!1});break}let a=m(k,d.thinkingRange);q(b,{thinkingBudget:a??-1,includeThoughts:!0}),r(b,-1!==(h=a??-1)&&Number.isFinite(h)?h<=1024?8192:h<=8192?16384:h<=24576?32768:65535:32768,d);break}case"zai":if(i&&j){b.enable_thinking=!1,delete b.thinking;break}if(b.thinking={type:"enabled"},d.thinkingEffortSupported){let a=n(k);b.reasoning_effort="low"===a||"minimal"===a?"low":"high"===a||"medium"===a?"high":"max"}break;case"qwen":{if(i&&j){b.enable_thinking=!1;break}b.enable_thinking=!0;let a=m(k,d.thinkingRange);Number.isFinite(a)&&a>0&&(b.thinking_budget=a);break}case"deepseek":{if(i&&j){b.thinking={type:"disabled"};break}b.thinking={type:"enabled"};let a=n(k);b.reasoning_effort="xhigh"===a||"max"===a?"max":"high";break}case"kimi":{let a;if(i&&j){b.thinking={type:"disabled"};break}let c="auto"===(a=n(k))?"high":"minimal"===a?"low":"xhigh"===a?"max":["low","medium","high","max"].includes(a)?a:null;c&&(b.reasoning_effort=c);break}case"minimax":b.thinking={type:i&&j?"disabled":"adaptive"};break;case"hunyuan":{if(i&&j){b.thinking={type:"disabled"};break}let a=m(k,d.thinkingRange);b.thinking=-1===a?{type:"enabled"}:{type:"enabled",budget_tokens:a||8192};break}case"step":{if(i&&j)break;let a=n(k);a&&(b.reasoning_effort="xhigh"===a||"max"===a?"high":a);break}case"tokenrouter":{if(i||"auto"===k.mode)break;let a=n(k);a&&(b.reasoning_effort=a);break}case"kiro":break;case"commandcode":{if(b.params&&"object"==typeof b.params||(b.params={}),i&&j){delete b.params.reasoning_effort;break}let a=n(k);a&&(b.params.reasoning_effort=a)}}}(x,c,v,w,y,z),c}},26466:(a,b,c)=>{c.d(b,{B:()=>e,V:()=>f});var d=c(32973);function e(a,b=!1){return b?{role:d.z7.ASSISTANT,reasoning_content:a}:{reasoning_content:a}}function f(a){if(!a||"object"!=typeof a)return"";if("string"==typeof a.reasoning_content&&a.reasoning_content)return a.reasoning_content;if("string"==typeof a.reasoning&&a.reasoning)return a.reasoning;let b=a.reasoning_details;return Array.isArray(b)?b.map(a=>"string"==typeof a?a:a?.text||a?.content||"").join(""):""}},28217:(a,b,c)=>{function d({promptTokens:a,completionTokens:b,totalTokens:c,cachedTokens:e=0,cacheCreationTokens:f=0,reasoningTokens:g=0}){let h={prompt_tokens:a,completion_tokens:b,total_tokens:c};return(e>0||f>0)&&(h.prompt_tokens_details={},e>0&&(h.prompt_tokens_details.cached_tokens=e),f>0&&(h.prompt_tokens_details.cache_creation_tokens=f)),g>0&&(h.completion_tokens_details={reasoning_tokens:g}),h}c.d(b,{B:()=>g,c:()=>d});let e=a=>"number"==typeof a?a:0,f={claude(a){let b=e(a.input_tokens),c=e(a.output_tokens),d=e(a.cache_read_input_tokens),f=e(a.cache_creation_input_tokens),g=b+d+f;return{promptTokens:g,completionTokens:c,totalTokens:g+c,cachedTokens:d,cacheCreationTokens:f}},gemini(a){let b=e(a.cachedContentTokenCount),c=e(a.promptTokenCount),d=e(a.thoughtsTokenCount),f=e(a.totalTokenCount),g=e(a.candidatesTokenCount);return 0===g&&f>0&&(g=f-c-d)<0&&(g=0),{promptTokens:c,completionTokens:g+d,totalTokens:f,cachedTokens:b,reasoningTokens:d}},openai(a){let b=e(a.inputTokens),c=e(a.outputTokens),d=e(a.cache_read_input_tokens)||e(a.cachedTokens)||e(a.cached_tokens),f=e(a.cache_creation_input_tokens),g={promptTokens:b,completionTokens:c,totalTokens:b+c};return d>0&&(g.cachedTokens=d),f>0&&(g.cacheCreationTokens=f),g},ollama(a){let b=e(a.prompt_eval_count),c=e(a.eval_count);return{promptTokens:b,completionTokens:c,totalTokens:b+c}},commandcode(a){let b=e(a.inputTokens),c=e(a.outputTokens),d="number"==typeof a.totalTokens?a.totalTokens:b+c;return{promptTokens:b,completionTokens:c,totalTokens:d}}};function g(a,b){let c=f[b];return c&&a&&"object"==typeof a?d(c(a)):null}},28386:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>E});var e=c(45941),f=c(83336),g=c(97508),h=c(40728),i=c(81269),j=c(36691),k=c(3815),l=c(39856),m=c(74258),n=c(35841),o=c(74075),p=c.n(o),q=c(55511),r=c.n(q);let a=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{a=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}let z="/agent.v1.AgentService/Run";function s(...a){let b=a.reduce((a,b)=>a+b.length,0),c=new Uint8Array(b),d=0;for(let b of a)c.set(b,d),d+=b.length;return c}let A=(a,b)=>(0,h.Xh)(a,2,b),B=(a,b)=>(0,h.Xh)(a,2,b);function t(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join("\n"):""}function u(a){let b=t(a?.content);if(!b)return null;let c=A(1,b);return"assistant"===a.role?B(2,B(1,B(1,c))):B(1,B(1,B(1,c)))}let C="1"===process.env.CURSOR_STREAM_DEBUG,D=(...a)=>{C&&console.log(...a)};function v(a){let b=String(a||"").split("/").pop();return/^composer(?:-|$)/i.test(b)}function w(a){if(!a)return"";let b="</think>",c=a.lastIndexOf(b);return c<0?"":a.slice(c+b.length).trimStart()}function x(a,b,c,d){if(b+5>a.length)return D(`[CURSOR BUFFER${d}] Reached end, offset=${b}, remaining=${a.length-b}`),{status:"done"};let e=a[b],f=a.readUInt32BE(b+1);if(D(`[CURSOR BUFFER${d}] Frame ${c+1}: flags=0x${e.toString(16).padStart(2,"0")}, length=${f}`),b+5+f>a.length)return D(`[CURSOR BUFFER${d}] Incomplete frame, offset=${b}, length=${f}, buffer.length=${a.length}`),{status:"done"};let g=a.slice(b+5,b+5+f),h=b+5+f;return(g=function(a,b){if(a.length>10&&123===a[0]&&34===a[1])try{if(a.toString("utf-8").startsWith('{"error"'))return D("[DECOMPRESS] Detected JSON error, skipping decompression"),a}catch{}if(1===b||2===b||3===b)try{return p().gunzipSync(a)}catch(c){try{return p().inflateSync(a)}catch(d){try{return p().inflateRawSync(a)}catch(e){D(`[DECOMPRESS ERROR] flags=${b}, payloadSize=${a.length}, gzip=${c.message}, deflate=${d.message}, raw=${e.message}`),D("[DECOMPRESS ERROR] First 50 bytes (hex):",a.slice(0,50).toString("hex"))}}}return a}(g,e))?{status:"ok",payload:g,offset:h}:(D(`[CURSOR BUFFER${d}] Frame ${c+1}: decompression failed, skipping`),{status:"skip",offset:h})}function y(a){let b=a?.error?.details?.[0]?.debug?.details?.title||a?.error?.details?.[0]?.debug?.details?.detail||a?.error?.message||"API Error",c=a?.error?.code==="resource_exhausted";return new Response(JSON.stringify({error:{message:b,type:c?"rate_limit_error":"api_error",code:a?.error?.details?.[0]?.debug?.error||"unknown"}}),{status:c?g.gx.RATE_LIMITED:g.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}class E extends e.H{constructor(){super("cursor",f.xq.cursor)}buildUrl(){return`${this.config.baseUrl}${this.config.chatPath}`}buildHeaders(a){let b=a.accessToken,c=a.providerSpecificData?.machineId,d=a.providerSpecificData?.ghostMode!==!1;if(!c)throw Error("Machine ID is required for Cursor API");return(0,i.JA)(b,c,d)}transformRequest(a,b,c,d){let e=b.messages||[],f=b.tools||[],g=b.reasoning_effort||null,i=d?.rawHeaders?.["user-agent"]||"",j=i.includes("claude-cli")||i.includes("claude-code")||i.includes("Claude Code");return(0,h.yI)(e,a,f,g,j)}async makeFetchRequest(a,b,c,d,e=null){let f=await (0,n.proxyAwareFetch)(a,{method:"POST",headers:b,body:c,signal:d},e);return{status:f.status,headers:Object.fromEntries(f.headers.entries()),body:Buffer.from(await f.arrayBuffer())}}makeHttp2Request(b,c,d,e){if(!a)throw Error("http2 module not available");return new Promise((f,g)=>{let h=new URL(b),i=a.connect(`https://${h.host}`),j=[],k={},l=!1,m=a=>(...b)=>{l||(l=!0,clearTimeout(n),i.close(),a(...b))},n=setTimeout(m(()=>{g(Error("HTTP/2 request timed out"))}),6e4);i.on("error",m(g));let o=i.request({":method":"POST",":path":h.pathname,":authority":h.host,":scheme":"https",...c});if(o.on("response",a=>{k=a}),o.on("data",a=>{j.push(a)}),o.on("end",m(()=>{f({status:k[":status"],headers:k,body:Buffer.concat(j)})})),o.on("error",m(g)),e){let a=m(()=>g(Error("Request aborted")));e.addEventListener("abort",a,{once:!0})}o.write(d),o.end()})}openAgentHttp2Stream(b,c,d){if(!a)throw Error("HTTP/2 is required for Cursor AgentService (endpoint is h2-only)");let e=new URL(b),f=a.connect(`https://${e.host}`),g=[],h=null,i=!1,j=null,k=null,l=a=>{if(!h)return;let b=h;h=null,b(a)},m=a=>{j||(j=a,i=!0,l(null))},n=()=>{try{k?.destroy()}catch{}try{f.close()}catch{}};if(f.on("error",m),(k=f.request({":method":"POST",":path":e.pathname,":authority":e.host,":scheme":"https",...c})).on("error",m),k.on("data",a=>{h?l({value:a,done:!1}):g.push(a)}),k.on("end",()=>{i=!0,l({value:void 0,done:!0})}),d){let a=()=>{m(Error("Request aborted")),n()};d.aborted?a():d.addEventListener("abort",a,{once:!0})}return{responseHeaders:new Promise((a,b)=>{let c=a=>b(a);f.once("error",c),k.once("error",c),k.once("response",b=>{f.off("error",c),k.off("error",c),a(b)})}),write(a){k&&!k.destroyed&&k.write(Buffer.from(a))},end(){try{k&&!k.destroyed&&k.end()}catch{}},close:n,async read(){if(g.length)return{value:g.shift(),done:!1};if(i){if(j)throw j;return{value:void 0,done:!0}}let a=await new Promise(a=>{h=a});if(j)throw j;return a||{value:void 0,done:!0}}}}async executeAgent({model:a,body:b,stream:c,credentials:d,signal:e}){let i,n,o=f.sr.cursor?.agentEndpoint;if(!o)throw Error("Cursor AgentService endpoint is not configured");let q=`${o}${z}`,v=this.buildHeaders(d),w=new AbortController;e?.addEventListener&&e.addEventListener("abort",()=>w.abort(e.reason),{once:!0});try{var x;let c,d,e,f,g,j,k,l,m,n,o,p;(i=this.openAgentHttp2Stream(q,v,w.signal)).write((x=b.messages||[],c=x.filter(a=>a?.role==="system").map(a=>t(a.content)).filter(Boolean).join("\n\n"),f=(e=[...d=x.filter(a=>a?.role!=="system")].map(a=>a?.role).lastIndexOf("user"))>=0?d[e]:d.at(-1),g=d.slice(0,e>=0?e:-1).map(u).filter(Boolean),j=t(f?.content)||"Continue.",k=s(A(1,j),A(2,r().randomUUID())),l=g.length?s(...g.map(a=>B(1,a))):null,m=s(B(1,k),...l?[B(7,l)]:[]),n=B(1,m),o=s(A(1,a),(0,h.Xh)(7,0,1)),p=s(B(1,new Uint8Array),B(2,n),...c?[A(8,c)]:[],B(9,o)),(0,h.tM)(B(1,p))))}catch(a){throw Error(`Cursor AgentService request failed: ${a.message}`)}try{n=await i.responseHeaders}catch(a){throw i.close(),Error(`Cursor AgentService request failed: ${a.message}`)}let y=Number(n[":status"]||0);if(200!==y){let a="";try{for(;;){let{done:b,value:c}=await i.read();if(b)break;a+=Buffer.from(c).toString("utf8")}}catch{}return i.close(),{response:new Response(JSON.stringify({error:{message:`Cursor AgentService ${y}: ${a||"request failed"}`,type:"api_error"}}),{status:y||g.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:q,headers:v,transformedBody:b,responseFormat:m.h.OPENAI}}let C=`chatcmpl-msg_${Date.now()}`,E=Math.floor(Date.now()/1e3),F=Buffer.alloc(0),G=!1,H=async a=>{try{for(;!G;){let{done:b,value:c}=await i.read();if(b)break;F=Buffer.concat([F,Buffer.from(c)]),F=function(a,b){let c=Buffer.from(a||[]);for(;c.length>=5;){let a=c[0],d=c.readUInt32BE(1);if(c.length<5+d)break;let e=c.subarray(5,5+d);c=c.subarray(5+d),1&a&&(e=p().gunzipSync(e)),2&a||b(e)}return c}(F,b=>{if(G)return;let c=(0,h.Y8)(b);if(c.has(1)){let b=(0,h.Y8)(c.get(1)[0].value);if(b.has(1)){let c=function(a){let b=a?.get(1)?.[0]?.value;return b?Buffer.from(b).toString("utf8"):""}((0,h.Y8)(b.get(1)[0].value));c&&a({type:"text",value:c})}b.has(14)&&(G=!0,a({type:"done"}))}if(c.has(2)){let b=(0,h.Y8)(c.get(2)[0].value);b.has(10)?i.write(function(){let a=B(1,new Uint8Array),b=B(1,a),c=B(10,b);return(0,h.tM)(B(2,c))}()):(D(`[CURSOR AGENT] Unsupported exec request fields: ${[...b.keys()].join(",")}`),G=!0,a({type:"error",value:"Cursor AgentService requested an unsupported IDE tool"}))}})}}finally{try{i.end()}catch{}try{i.close()}catch{}G||a({type:"done"})}};if(!1===c){let c="",d="",e=null;return(await H(a=>{"text"===a.type?c+=a.value:"thinking"===a.type?d+=a.value:"error"===a.type&&(e=a.value)}),e)?{response:new Response(JSON.stringify({error:{message:e,type:"api_error"}}),{status:g.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}}),url:q,headers:v,transformedBody:b,responseFormat:m.h.OPENAI}:{response:new Response(JSON.stringify({id:C,object:"chat.completion",created:E,model:a,choices:[{index:0,message:{role:"assistant",content:c||null,...d?{reasoning_content:d}:{}},finish_reason:"stop"}],usage:(0,j.OF)(b,c.length,m.h.OPENAI)}),{headers:{"Content-Type":"application/json"}}),url:q,headers:v,transformedBody:b,responseFormat:m.h.OPENAI}}let I=new TextEncoder,J=new ReadableStream({start(b){H(c=>{"text"===c.type?b.enqueue(I.encode((0,l.z)({id:C,created:E,model:a,delta:{content:c.value}}))):"thinking"===c.type?b.enqueue(I.encode((0,l.z)({id:C,created:E,model:a,delta:{reasoning_content:c.value}}))):"error"===c.type?(b.enqueue(I.encode((0,l.N)({error:{message:c.value,type:"api_error"}}))),b.enqueue(I.encode(k.$U)),b.close()):"done"===c.type&&(b.enqueue(I.encode((0,l.z)({id:C,created:E,model:a,delta:{},finishReason:"stop"}))),b.enqueue(I.encode(k.$U)),b.close())}).catch(a=>b.error(a))},cancel(){w.abort()}});return{response:new Response(J,{headers:k.pb}),url:q,headers:v,transformedBody:b,responseFormat:m.h.OPENAI}}async execute({model:b,body:c,stream:d,credentials:e,signal:h,log:i,proxyOptions:j=null}){if(Array.isArray(c?.messages)&&c.messages.every(a=>!a?.tool_calls?.length&&a?.role!=="tool"&&("string"==typeof a?.content||Array.isArray(a?.content)&&a.content.every(a=>a?.type==="text"))))try{return await this.executeAgent({model:b,body:c,stream:d,credentials:e,signal:h})}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:g.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:`${f.sr.cursor?.agentEndpoint||""}${z}`,headers:{},transformedBody:c}}let k=this.buildUrl(),l=this.buildHeaders(e),m=this.transformRequest(b,c,d,e);try{let e=j?.enabled===!0||j?.connectionProxyEnabled===!0||!!j?.vercelRelayUrl,f=a&&!e?await this.makeHttp2Request(k,l,m,h):await this.makeFetchRequest(k,l,m,h,j);if(200!==f.status){let a=f.body?.toString()||"Unknown error";return{response:new Response(JSON.stringify({error:{message:`[${f.status}]: ${a}`,type:"invalid_request_error",code:""}}),{status:f.status,headers:{"Content-Type":"application/json"}}),url:k,headers:l,transformedBody:c}}return{response:!1!==d?this.transformProtobufToSSE(f.body,b,c):this.transformProtobufToJSON(f.body,b,c),url:k,headers:l,transformedBody:c}}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:g.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:k,headers:l,transformedBody:c}}}transformProtobufToJSON(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=0,i="",k="",l=[],n=new Map,o=new Set,p=0;for(D(`[CURSOR BUFFER] Total length: ${a.length} bytes`);f<a.length;){let b=x(a,f,p,"");if("done"===b.status)break;if(f=b.offset,p++,"skip"===b.status)continue;let c=b.payload;if(c.length>0&&123===c[0])try{let a=c.toString("utf-8");if(a.includes('"error"')){let b=i||n.size>0;if(D(`[CURSOR BUFFER] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return y(JSON.parse(a))}}catch{}let d=(0,h.CP)(new Uint8Array(c));if(D(`[CURSOR DECODED] Frame ${p}:`,d),d.error){let a=i||n.size>0;if(D(`[CURSOR BUFFER] Decoded error (hasContent=${a}): ${d.error}`),a)break;return new Response(JSON.stringify({error:{message:d.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(d.toolCall){let a=d.toolCall;if(n.has(a.id)){let b=n.get(a.id);b.function.arguments+=a.function.arguments,b.isLast=a.isLast}else n.set(a.id,{...a});if(a.isLast){let b=n.get(a.id);o.add(a.id),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}})}}d.text&&(i+=d.text),d.thinking&&(k+=d.thinking)}let q=v(b)?w(k):"",r=i||q;for(let[a,b]of(D(`[CURSOR BUFFER] Parsed ${p} frames, toolCallsMap size: ${n.size}, finalized toolCalls: ${l.length}`),n.entries()))o.has(a)||(D(`[CURSOR BUFFER] Finalizing incomplete tool call: ${a}, isLast=${b.isLast}`),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}}));D(`[CURSOR BUFFER] Final toolCalls count: ${l.length}`);let s={role:"assistant",content:r||null};l.length>0&&(s.tool_calls=l);let t=(0,j.OF)(c,r.length,m.h.OPENAI),u={id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:s,finish_reason:l.length>0?"tool_calls":"stop"}],usage:t};return new Response(JSON.stringify(u),{status:200,headers:{"Content-Type":"application/json"}})}transformProtobufToSSE(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=[],i=0,n="",o="",p=0,q=[],r=new Map,s=new Set,t=new Set,u=0;for(D(`[CURSOR BUFFER SSE] Total length: ${a.length} bytes`);i<a.length;){let c=x(a,i,u," SSE");if("done"===c.status)break;if(i=c.offset,u++,"skip"===c.status)continue;let j=c.payload;if(123===j[0])try{let a=j.toString("utf-8");if(a.includes('"error"')){let b=f.length>0||n||r.size>0;if(D(`[CURSOR BUFFER SSE] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return y(JSON.parse(a))}}catch{}let k=(0,h.CP)(new Uint8Array(j));if(D(`[CURSOR DECODED SSE] Frame ${u}:`,k),k.error){let a=f.length>0||n||r.size>0;if(D(`[CURSOR BUFFER SSE] Decoded error (hasContent=${a}): ${k.error}`),a)break;return new Response(JSON.stringify({error:{message:k.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(k.toolCall){let a=k.toolCall;if(0===f.length&&f.push((0,l.z)({id:d,created:e,model:b,delta:{role:"assistant",content:""}})),r.has(a.id)){let c=r.get(a.id);c.function.arguments.length,c.function.arguments+=a.function.arguments,c.isLast=a.isLast,a.function.arguments&&(t.add(a.id),f.push((0,l.z)({id:d,created:e,model:b,delta:{tool_calls:[{index:c.index,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}]}})))}else{let c=q.length;s.add(a.id),q.push({...a,index:c}),r.set(a.id,{...a,index:c}),t.add(a.id),f.push((0,l.z)({id:d,created:e,model:b,delta:{tool_calls:[{index:c,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}]}}))}}if(k.text&&(n+=k.text,f.push((0,l.z)({id:d,created:e,model:b,delta:0===f.length&&0===q.length?{role:"assistant",content:k.text}:{content:k.text}}))),v(b)&&k.thinking){o+=k.thinking;let a=w(o);if(a.length>p){let c=a.slice(p);p=a.length,n+=c,f.push((0,l.z)({id:d,created:e,model:b,delta:0===f.length&&0===q.length?{role:"assistant",content:c}:{content:c}}))}}}for(let[a,c]of(D(`[CURSOR BUFFER SSE] Parsed ${u} frames, toolCallsMap size: ${r.size}, toolCalls array: ${q.length}`),r.entries()))if(!s.has(a)){D(`[CURSOR BUFFER SSE] Finalizing incomplete tool call: ${a}, isLast=${c.isLast}`);let g=q.length;q.push({id:c.id,type:c.type,index:g,function:{name:c.function.name,arguments:c.function.arguments}}),t.has(c.id)||f.push((0,l.z)({id:d,created:e,model:b,delta:{tool_calls:[{index:g,id:c.id,type:"function",function:{name:c.function.name,arguments:c.function.arguments}}]}}))}0===f.length&&0===q.length&&f.push((0,l.z)({id:d,created:e,model:b,delta:{role:"assistant",content:""}}));let z=(0,j.OF)(c,n.length,m.h.OPENAI);return f.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{},finish_reason:q.length>0?"tool_calls":"stop"}],usage:z})}
8
+
9
+ `),f.push(k.$U),new Response(f.join(""),{status:200,headers:{...k.pb}})}async refreshCredentials(){return null}}d()}catch(a){d(a)}},1)},31146:(a,b,c)=>{c.d(b,{o:()=>o});var d=c(9546),e=c(74258),f=c(32973),g=c(23879),h=c(28217),i=c(26466),j=c(40415),k=c(47831),l=c(2366);function m(a){return{id:`chatcmpl-${a.messageId}`,created:Math.floor(Date.now()/1e3),model:a.model}}function n(a,b,c=null){let d=a.name,e=b.toolNameMap?.get(d)||d,h=a.args||{},i=b.functionIndex++,j=a.id||`${e}-${Date.now()}-${i}`;c&&(0,l.Sk)(j,c,b.sessionId,b.model);let k={id:j,index:i,type:f.x4.FUNCTION,function:{name:e,arguments:JSON.stringify(h)}};return b.geminiToolCallCount=(b.geminiToolCallCount||0)+1,(0,g.k)(m(b),{tool_calls:[k]},null)}function o(a,b){if(!a)return null;let c=a.response||a;if(!c||!c.candidates?.[0])return null;let d=[],e=c.candidates[0],l=e.content;if(b.messageId||(b.messageId=c.responseId||`msg_${Date.now()}`,b.model=c.modelVersion||b.model||"gemini",b.functionIndex=0,b.geminiToolCallCount=0,d.push((0,g.k)(m(b),{role:f.z7.ASSISTANT},null))),l?.parts)for(let a of l.parts){let c=a.thoughtSignature||a.thought_signature;c&&"string"==typeof c&&(b.pendingThoughtSignature=c);let e=!0===a.thought;if(c){let f=void 0!==a.text&&""!==a.text,h=!!a.functionCall;if(!f&&!h)continue;f&&d.push((0,g.k)(m(b),e?(0,i.B)(a.text):{content:a.text},null)),h&&(d.push(n(a.functionCall,b,c)),b.pendingThoughtSignature=null);continue}if(void 0!==a.text&&""!==a.text&&d.push((0,g.k)(m(b),e?(0,i.B)(a.text):{content:a.text},null)),a.functionCall){let c=b.pendingThoughtSignature||null;d.push(n(a.functionCall,b,c)),b.pendingThoughtSignature=null}let h=a.inlineData||a.inline_data;if(h?.data){let a=h.mimeType||h.mime_type||f.BY;d.push((0,g.k)(m(b),{images:[{type:f.x4.IMAGE_URL,image_url:{url:(0,j.$q)(a,h.data)}}]},null))}}let o=c.usageMetadata||a.usageMetadata,p=(0,h.B)(o,"gemini");if(p&&(b.usage=p),e.finishReason){let a=(0,k.F)(e.finishReason,"gemini");a===f.bC.STOP&&b.geminiToolCallCount>0&&(a=f.bC.TOOL_CALLS);let c=(0,g.k)(m(b),{},a);b.usage&&(c.usage=b.usage),d.push(c),b.finishReason=a}return d.length>0?d:null}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,null,o),(0,d.kz)(e.h.ANTIGRAVITY,e.h.OPENAI,null,o)},33800:(a,b,c)=>{c.d(b,{c:()=>x});var d=c(55511),e=c.n(d),f=c(45941),g=c(83336),h=c(64652),i=c(97508),j=c(52238),k=c(35841),l=c(52706),m=c(64081),n=c(2366);let o=/^agent\/[^/]+\/\d+\/[^/]+\/\d+$/,p=[/high\s+traffic/i,/agent\s+(execution\s+)?terminated\s+due\s+to\s+error/i,/capacity/i,/temporarily\s+unavailable/i,/timeout/i,/stream\s+(ended|closed|terminated|interrupted)/i,/empty\s+response/i],q=new Set([i.gx.SERVER_ERROR,i.gx.BAD_GATEWAY,i.gx.SERVICE_UNAVAILABLE,i.gx.GATEWAY_TIMEOUT]),r=["output_config","thinking","reasoning_effort","reasoning","enable_thinking","thinking_budget","thinkingConfig"],s=a=>{for(let b of r)delete a[b]},t=[/image/i,/imagen/i,/image-generation/i];function u(a){return!!a&&t.some(b=>b.test(a))}function v(a){let b=e().createHash("sha256").update(String(a||"antigravity")).digest().subarray(0,16);b[6]=15&b[6]|80,b[8]=63&b[8]|128;let c=b.toString("hex");return`${c.slice(0,8)}-${c.slice(8,12)}-${c.slice(12,16)}-${c.slice(16,20)}-${c.slice(20)}`}function w({body:a,request:b,credentials:c,model:d,requestType:e}){if(o.test(a?.requestId||""))return a.requestId;let f=b?.sessionId||a?.request?.sessionId||c?._clientSessionId||c?.connectionId||c?.email||"anonymous",g=v(`antigravity:conversation:${f}`),h=v(`antigravity:trajectory:${f}:${d}:${e}`),i=Math.max(1,2*(Array.isArray(b?.contents)?b.contents.length:1)-1);return`agent/${g}/${Date.now()}/${h}/${i}`}class x extends f.H{constructor(){super("antigravity",g.xq.antigravity)}buildUrl(a,b,c=0){let d=this.getBaseUrls(),e=d[c]||d[0],f=u(a);return`${e}/v1internal:${b&&!f?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0,c=null){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||h.K["User-Agent"]}}transformRequest(a,b,c,d){let e=d?.projectId||this.generateProjectId();if(!0!==c&&delete b.stream_options,u(a)){let c=function(a){let b={aspectRatio:"1:1"},c=a.match(/(\d+)x(\d+)$/);if(c){let a=parseInt(c[1]),d=parseInt(c[2]);if(a<=16&&d<=16)b.aspectRatio=`${a}:${d}`;else{let c=(a,b)=>b?c(b,a%b):a,e=c(a,d);b.aspectRatio=`${a/e}:${d/e}`}}return b}(a),f=a.replace(/-(\d+)x(\d+)$/,""),g=[];for(let a of b.request?.contents||b.contents||[]){let b=(a.parts||[]).filter(a=>void 0!==a.text).map(a=>({text:a.text}));b.length>0&&g.push({role:a.role||"user",parts:b})}let h=(0,j.oV)({headers:d?.rawHeaders,body:b,connectionId:d?.email||d?.connectionId,scope:"antigravity"});this._lastSessionId=h;let i={contents:g,generationConfig:{temperature:1,topP:.95,topK:40,maxOutputTokens:8192,imageConfig:c},sessionId:h};return{project:e,model:f,userAgent:"antigravity",requestType:"image_gen",requestId:w({body:b,request:i,credentials:d,model:f,requestType:"image_gen"}),request:i}}let f=b.request?.sessionId||(0,j.oV)({headers:d?.rawHeaders,body:b,connectionId:d?.email||d?.connectionId,scope:"antigravity"}),g=(0,j.E9)(f)||f,i=(b.request?.contents||[]).map(c=>{let d=c.role;c.parts?.some(a=>a.functionResponse)&&(d="user");let e=c.parts?.filter(a=>(!a.thought||!!a.functionCall)&&(!a.thoughtSignature||!!a.functionCall||!!a.text)),f=!1,h=e?.map(c=>{if(!c.functionCall)return c;let d=c.functionCall.id,e=d?(0,n.el)(d,g,b.model||a):null,h=c.thoughtSignature||e||(f?void 0:m.bf);if(f=!0,h)return{...c,thoughtSignature:h};if(c.thoughtSignature&&!e){let{thoughtSignature:a,...b}=c;return b}return c});return{...c,role:d,parts:h||e||[]}}),k=(0,l.$J)(i),o=b.request?.tools;if(o&&o.length>0){let a=new Set,b=[];for(let c of o)for(let d of c.functionDeclarations||[]){let c=function(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}(d.name);a.has(c)||(a.add(c),b.push({...d,name:c,parameters:d.parameters?(0,l.Yr)(structuredClone(d.parameters)):{type:"object",properties:{reason:{type:"string",description:"Brief explanation"}},required:["reason"]}}))}o=b.length>0?[{functionDeclarations:b}]:[]}let{tools:p,toolConfig:q,...r}=b.request||{};if(s(r),r.systemInstruction?.parts){for(let a of r.systemInstruction.parts)if("string"==typeof a.text)for(let{from:b,to:c}of h.iO)a.text=a.text.replaceAll(b,c)}let t={...r.generationConfig||{}};t.maxOutputTokens>64e3&&(t.maxOutputTokens=64e3);let v={...r,generationConfig:t,...k&&{contents:k},...o&&{tools:o},sessionId:g,safetySettings:void 0,...o?.length>0&&{toolConfig:{functionCallingConfig:{mode:"VALIDATED"}}}};return s(b),this._lastSessionId=v.sessionId,{...b,project:e,model:b.model||a,userAgent:"antigravity",requestId:w({body:b,request:v,credentials:d,model:a,requestType:void 0}),request:v}}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;try{let d=await (0,k.proxyAwareFetch)(h.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})},c);if(!d.ok)return null;let e=await d.json();return b?.info?.("TOKEN","Antigravity refreshed"),{accessToken:e.access_token,refreshToken:e.refresh_token||a.refreshToken,expiresIn:e.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Antigravity refresh error: ${a.message}`),null}}generateProjectId(){let a=["useful","bright","swift","calm","bold"][Math.floor(5*Math.random())],b=["fuze","wave","spark","flow","core"][Math.floor(5*Math.random())];return`${a}-${b}-${e().randomUUID().slice(0,5)}`}generateSessionId(){return e().randomUUID()+Date.now().toString()}parseRetryHeaders(a){if(!a?.get)return null;let b=a.get("retry-after");if(b){let a=parseInt(b,10);if(!isNaN(a)&&a>0)return 1e3*a;let c=new Date(b);if(!isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}}let c=a.get("x-ratelimit-reset-after");if(c){let a=parseInt(c,10);if(!isNaN(a)&&a>0)return 1e3*a}let d=a.get("x-ratelimit-reset");if(d){let a=1e3*parseInt(d,10)-Date.now();return a>0?a:null}return null}parseRetryFromErrorMessage(a){if(!a||"string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=3600*parseInt(b[1])*1e3),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}extractErrorMessage(a,b=""){return[a?.error?.message,a?.message,a?.error,b].filter(Boolean).map(a=>"string"==typeof a?a:JSON.stringify(a)).join("\n")}isTransientAntigravityError(a,b){return!!(a===i.gx.RATE_LIMITED||q.has(a))||p.some(a=>a.test(b||""))}async computeRetryDelay(a,b){let c="",d=null,e=this.parseRetryHeaders(a.headers);try{d=(c=await a.clone().text())?JSON.parse(c):null}catch{}let f=this.extractErrorMessage(d,c);return(e||(e=this.parseRetryFromErrorMessage(f)),e)?e<=1e4&&e:!!this.isTransientAntigravityError(a.status,f)&&Math.min(1e3*2**b,a.status===i.gx.RATE_LIMITED?1e4:15e3)}static cloakTools(a,b=null){let c=a.request?.tools;if(!c||0===c.length)return{cloakedBody:a,toolNameMap:null};let d="github-copilot"===b,e=new Map,f=[],g=new Set(y.map(a=>a.name));for(let a of c)if(a.functionDeclarations)for(let b of a.functionDeclarations){if(d&&h.J5.has(b.name)||d&&g.has(b.name))continue;if(h.J5.has(b.name)){f.push(b);continue}let a=`${b.name}${h.QH}`;e.set(a,b.name),f.push({...b,name:a})}let i=[],j=new Set;for(let a of[...f,...y])!a?.name||j.has(a.name)||(j.add(a.name),i.push(a));let k=a.request?.contents?.map(a=>{if(!a.parts)return a;let b=a.parts.map(a=>a.functionCall&&!h.J5.has(a.functionCall.name)?{...a,functionCall:{...a.functionCall,name:`${a.functionCall.name}${h.QH}`}}:a.functionResponse&&!h.J5.has(a.functionResponse.name)?{...a,functionResponse:{...a.functionResponse,name:`${a.functionResponse.name}${h.QH}`}}:a);return{...a,parts:b}});return{cloakedBody:{...a,request:{...a.request,tools:[{functionDeclarations:i}],contents:k||a.request.contents}},toolNameMap:e}}}let y=[{name:"browser_subagent",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"command_status",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"find_by_name",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"generate_image",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"grep_search",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_dir",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_resources",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"mcp_sequential-thinking_sequentialthinking",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"multi_replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"notify_user",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_resource",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_terminal",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_url_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"run_command",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"search_web",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"send_command_input",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"task_boundary",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_content_chunk",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"write_to_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}}]},34784:(a,b,c)=>{c.d(b,{DH:()=>N});let d=(()=>{let a=new Int16Array(128).fill(-1);for(let b=0;b<64;b++)a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(b)]="_doRTgHZBKcGVjlvpC,@aFSx#DPuNJme&i*MzLOEn)sUrthbf%Y^w.(kIQyXqWA!".charCodeAt(b);return a[61]=36,a})();var e=c(58823),f=c(97091),g=c(55511),h=c(45941),i=c(83336),j=c(35841),k=c(3815),l=c(97508),m=c(86896),n=c(30881),o=c(45812),p=c(40415);function q(a){let b=Number(a);return Number.isFinite(b)?b:null}var r=c(75428);let s=/^image\//i,t=/data:[^;]+;base64,[A-Za-z0-9+/=\s]+/g;function u(a){let b=String(a||"").toLowerCase();return b.includes("png")?"png":b.includes("jpeg")||b.includes("jpg")?"jpg":b.includes("gif")?"gif":b.includes("webp")?"webp":b.includes("bmp")?"bmp":b.includes("pdf")?"pdf":"bin"}function v(a){return"string"==typeof a&&a?Math.floor(3*a.replace(/\s/g,"").length/4):0}function w({name:a,mime:b,bytes:c,reason:d}){let e=c?`, ${c} bytes`:"";return`[file omitted: ${a||b||"attachment"}${e} — ${d}]`}async function x({buffer:a,mediaType:b,credentials:c,proxyOptions:d,signal:g}){let h=(0,f.A)(),i=`${(0,m.e9)(c)}/algo${m.o8}?request_id=${h}`,{boundary:k,body:l}=function(a,{fieldName:b="file",fileName:c,mediaType:d}={}){let e=`----10routerQoder${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,f=c||`upload.${u(d)}`,g=Buffer.from(`--${e}\r
10
+ Content-Disposition: form-data; name="${b}"; filename="${f}"\r
11
+ Content-Type: ${d||"application/octet-stream"}\r
12
+ \r
13
+ `),h=Buffer.from(`\r
14
+ --${e}--\r
15
+ `);return{boundary:e,body:Buffer.concat([g,a,h])}}(a,{fileName:`image.${u(b)}`,mediaType:b||"application/octet-stream"}),n=c?.providerSpecificData||{},o={...(0,e.d)(l,i,{userId:n.userId,authToken:c.accessToken,name:c.displayName||"",email:c.email||"",machineId:n.machineId||""}),Accept:"application/json","Content-Type":`multipart/form-data; boundary=${k}`,"Content-Length":String(l.length),"AI-CLIENT-TIMESTAMP":String(Math.floor(Date.now()/1e3)),"Accept-Encoding":"identity"},p=await (0,j.proxyAwareFetch)(i,{method:"PUT",headers:o,body:l,signal:g},d);if(!p.ok){let a=await p.text().catch(()=>"");throw Error(`HTTP ${p.status}${a?`: ${a.slice(0,180)}`:""}`)}let q=function a(b){if(!b||"object"!=typeof b)return null;let c=b.result&&"object"==typeof b.result?b.result:b;for(let a of[c.imageUrls,c.image_urls,b.imageUrls,b.image_urls])if(Array.isArray(a)&&"string"==typeof a[0]&&a[0])return a[0];for(let a of["imageUrl","image_url","url","ossUrl","oss_url","originalUrl","originUrl","link","image"]){let d=c[a]??b[a];if("string"==typeof d&&d)return d}if("string"==typeof b.body)try{return a(JSON.parse(b.body))}catch{}return null}(await p.json().catch(()=>null));if(!q)throw Error("upload response missing url");return q}async function y({base64:a,mediaType:b,credentials:c,proxyOptions:d,signal:e,log:f,uploadFn:h,cache:i}){let j,k=String(a||"").replace(/\s/g,"");if(!k)return null;let l=v(k);if(l>r.J5)return f?.warn?.("QODER",`image ${l} bytes exceeds upload cap, stubbing`),{stub:!0,bytes:l,mime:b};try{j=Buffer.from(k,"base64")}catch{return{stub:!0,bytes:l,mime:b}}let n=(0,g.createHash)("sha256").update(j).digest("hex");if(i?.has(n))return{url:i.get(n),bytes:l,mime:b};try{let a=await (h||x)({buffer:j,mediaType:b,credentials:c,proxyOptions:d,signal:e});if("string"==typeof a&&a)return i?.set(n,a),{url:a,bytes:l,mime:b}}catch(a){f?.warn?.("QODER",`image upload failed (${a.message}); ${l<=m.Y6?"keeping inline":"stubbing"}`)}return l<=m.Y6?{keep:!0,bytes:l,mime:b}:{stub:!0,bytes:l,mime:b}}function z(a){return{type:o.x4.IMAGE_URL,image_url:{url:a}}}async function A(a,b){if(!a||"object"!=typeof a)return a;if(a.type===o.x4.IMAGE_URL){let c="string"==typeof a.image_url?a.image_url:a.image_url?.url;if("string"!=typeof c||!c)return null;if(c.startsWith("http://")||c.startsWith("https://"))return z(c);let d=(0,p.W$)(c);if(!d)return{type:o.x4.TEXT,text:w({name:"attachment",reason:"unreadable data URI"})};if(!s.test(d.mimeType))return{type:o.x4.TEXT,text:w({name:"file",mime:d.mimeType,bytes:v(d.base64),reason:"non-image bytes are not inlined into Qoder context"})};let e=await y({...b,base64:d.base64,mediaType:d.mimeType});return e?.url?z(e.url):e?.keep?z(c):{type:o.x4.TEXT,text:w({name:"image",mime:d.mimeType,bytes:e?.bytes,reason:"upload failed; not inlined"})}}if(a.type===o.x4.IMAGE||a.type===o.R4.IMAGE){let c=a.source||{};if("url"===c.type&&"string"==typeof c.url)return z(c.url);if("base64"===c.type&&c.data){let a=c.media_type||"image/png",d=await y({...b,base64:c.data,mediaType:a});return d?.url?z(d.url):d?.keep?z(`data:${a};base64,${c.data}`):{type:o.x4.TEXT,text:w({name:"image",mime:a,bytes:d?.bytes,reason:"upload failed; not inlined"})}}}if(a.type===o.x4.FILE&&a.file){let c=a.file,d=c.filename||c.name||"file",e="string"==typeof c.file_data?c.file_data:null,f=e?(0,p.W$)(e):null,g=f?.base64||("string"!=typeof c.file_data||c.file_data.startsWith("data:")?null:c.file_data),h=f?.mimeType||c.format||"application/octet-stream";if(g&&s.test(h)){let a=await y({...b,base64:g,mediaType:h});if(a?.url)return z(a.url)}return{type:o.x4.TEXT,text:w({name:d,mime:h,bytes:v(g||""),reason:"Qoder reads documents via its file API, not inlined bytes"})}}if(a.type===o.R4.DOCUMENT&&a.source){let c=a.source,d=a.title||"document";if("base64"===c.type&&c.data){let a=c.media_type||"application/pdf";if(s.test(a)){let d=await y({...b,base64:c.data,mediaType:a});if(d?.url)return z(d.url)}return{type:o.x4.TEXT,text:w({name:d,mime:a,bytes:v(c.data),reason:"Qoder reads documents via its file API, not inlined bytes"})}}}if("string"==typeof a.text&&a.text.includes("data:")&&a.text.length>8192){let b=a.text.replace(t,a=>{let b=(0,p.W$)(a.trim()),c=b?v(b.base64):a.length;return c<=m.Y6?a:w({mime:b?.mimeType,bytes:c,reason:"inlined data URI stripped from Qoder context"})});return{...a,text:b}}return a}async function B(a,b){if("string"==typeof a)return a.includes("data:")&&a.length>8192?a.replace(t,a=>{let b=(0,p.W$)(a.trim()),c=b?v(b.base64):a.length;return c<=m.Y6?a:w({mime:b?.mimeType,bytes:c,reason:"inlined data URI stripped from Qoder context"})}):a;if(!Array.isArray(a))return a;let c=[];for(let d of a){let a=await A(d,b);null!=a&&c.push(a)}return c.length?c:""}function C(a){try{return Buffer.byteLength(JSON.stringify(a),"utf8")}catch{return 0}}async function D(a,{credentials:b,log:c,proxyOptions:d=null,signal:e=null,uploadFn:f=null}={}){let g={imageUrls:[],uploaded:0,stubbed:0};if(!Array.isArray(a)||0===a.length)return g;let h={credentials:b,log:c,proxyOptions:d,signal:e,uploadFn:f,cache:new Map};for(let b of a)if(b&&"object"==typeof b){if(Array.isArray(b.images)){let a=b.images.map(a=>z(String(a)));b.content=Array.isArray(b.content)?[...b.content,...a]:[{type:o.x4.TEXT,text:"string"==typeof b.content?b.content:""},...a],delete b.images}b.content=await B(b.content,h)}for(let b of a)if(Array.isArray(b?.content))for(let a of b.content){let b=a?.type===o.x4.IMAGE_URL?"string"==typeof a.image_url?a.image_url:a.image_url?.url:null;"string"==typeof b&&/^https?:\/\//i.test(b)&&g.imageUrls.push(b),a?.type===o.x4.TEXT&&"string"==typeof a.text&&a.text.startsWith("[file omitted:")&&(g.stubbed+=1)}if(g.uploaded=g.imageUrls.length,C(a)>m.iu){c?.warn?.("QODER",`request still ${C(a)} bytes after rewrite; stripping leftover data URIs`);for(let b of a||[])"string"==typeof b?.content&&b.content.includes("data:")?b.content=b.content.replace(t,a=>w({bytes:a.length,reason:"payload over Qoder size budget"})):Array.isArray(b?.content)&&(b.content=b.content.map(a=>{if(a?.type===o.x4.IMAGE_URL){let b="string"==typeof a.image_url?a.image_url:a.image_url?.url;if("string"==typeof b&&b.startsWith("data:"))return{type:o.x4.TEXT,text:w({name:"image",reason:"payload over Qoder size budget"})}}return"string"==typeof a?.text&&a.text.includes("data:")?{...a,text:a.text.replace(t,a=>w({bytes:a.length,reason:"payload over Qoder size budget"}))}:a}))}return g}let E={K:1e3,M:1e6};function F(a){if("number"==typeof a)return Number.isFinite(a)&&a>0?Math.floor(a):0;if("string"!=typeof a)return 0;let b=a.trim().toUpperCase().match(/^(\d+(?:\.\d+)?)\s*([KM])?$/);if(!b)return 0;let c=Number(b[1])*(E[b[2]]||1);return Number.isFinite(c)&&c>0?Math.floor(c):0}let G=/[\u1100-\u11ff\u2e80-\u9fff\uac00-\ud7af\uf900-\ufaff\uff00-\uffef]/g;function H(a){if("string"==typeof a)return a;if(null==a)return"";if(Array.isArray(a)){let b=[];for(let c of a)c&&"object"==typeof c&&("text"===c.type&&"string"==typeof c.text?b.push(c.text):"string"==typeof c.text&&b.push(c.text));return b.join("\n")}return String(a)}function I(a,b){return a&&a.length>b?`${a.slice(0,b)}...`:a||""}async function J({model:a,body:b,credentials:c,log:d,proxyOptions:e,signal:h,uploadFn:i=null,region:j="intl"}){var k,l;let q=String(a||"").replace(/^qoder\//,""),r=await (0,n.X5)(c,q,{log:d,proxyOptions:e,signal:h,region:j});if(!r){let a=await (0,n.EV)(c,{forceRefresh:!0,log:d,proxyOptions:e,signal:h,region:j}),b=a?.rawConfigs.get(q);if(!b)throw Error(`qoder: model_config for "${q}" not yet known (run a model list fetch or check upstream connectivity)`);r={...b,key:q}}let s=Array.isArray(b.messages)?b.messages.map(a=>a&&"object"==typeof a?{...a,content:Array.isArray(a.content)?a.content.map(a=>a&&"object"==typeof a?{...a}:a):a.content}:a):[];try{await D(s,{credentials:c,log:d,proxyOptions:e,signal:h,uploadFn:i})}catch(a){d?.warn?.("QODER",`attachment rewrite failed: ${a.message}`)}let{messages:t,systemText:u}=function(a){if(!Array.isArray(a)||0===a.length)return{messages:[],systemText:""};let b=[],c=[];for(let d of a){if(!d||"object"!=typeof d)continue;if("system"===d.role){let a=H(d.content);a&&b.push(a);continue}let a={...d};a.content=function(a){if("string"==typeof a)return a;if(null==a)return"";if(!Array.isArray(a))return String(a);let b=[],c=[],d=!1,e=a=>{a&&(d||b.length?b.push({type:o.x4.TEXT,text:a}):c.push(a))},f=a=>"string"==typeof a.image_url&&a.image_url?a.image_url:"string"==typeof a.image_url?.url&&a.image_url.url?a.image_url.url:null;for(let c of a){if(!c||"object"!=typeof c)continue;let a=c.type===o.x4.IMAGE_URL?f(c):null;if(a)b.push({type:o.x4.IMAGE_URL,image_url:{url:a}}),d=!0;else if(c.type===o.R4.IMAGE&&c.source){let a=c.source,e="base64"===a.type&&a.data?(0,p.$q)(a.media_type||"image/png",a.data):"string"==typeof a.url&&a.url?a.url:null;e&&(b.push({type:o.x4.IMAGE_URL,image_url:{url:e}}),d=!0)}else if(c.type===o.x4.FILE){let a=c.file?.filename||c.file?.name||"file";e(`[file omitted: ${a} — Qoder reads documents via its file API, not inlined bytes]`)}else if(c.type===o.R4.DOCUMENT){let a=c.title||"document";e(`[file omitted: ${a} — Qoder reads documents via its file API, not inlined bytes]`)}else"string"==typeof c.text&&c.text&&e(c.text)}return d?(c.length&&b.unshift({type:o.x4.TEXT,text:c.join("\n")}),b):c.join("\n")}(d.content),c.push(a)}return{messages:c,systemText:b.join("\n\n")}}(s),v=b.tools,w=!!r.is_reasoning,x=Number(r.max_output_tokens)||0,y=32768;x>0&&(y=x),"number"==typeof b.max_tokens&&b.max_tokens>0&&b.max_tokens<y&&(y=b.max_tokens),"number"==typeof b.max_completion_tokens&&b.max_completion_tokens>0&&b.max_completion_tokens<y&&(y=b.max_completion_tokens);let z=function(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if(c?.role==="user"){if("string"==typeof c.content)return c.content;if(Array.isArray(c.content))return H(c.content)}}return""}(t),A=function(a,...b){let c=(0,g.createHash)("sha256");for(let d of(c.update(a),b))c.update("\0"),c.update(String(d??""));return c.digest("hex").slice(0,16)}("qoder-session",(c.providerSpecificData||{}).userId,q),B=function(a,b,c,d){let e=(0,g.createHash)("sha256");for(let c of(e.update("qoder-record\0"),e.update(String(a)),b))if(c&&"object"==typeof c){if(c.role&&(e.update("\0"),e.update(c.role)),"string"==typeof c.content&&c.content)e.update("\0"),e.update(c.content);else if(Array.isArray(c.content)){e.update("\0");try{e.update(JSON.stringify(c.content))}catch{}}}if(c){e.update("\0");try{e.update(JSON.stringify(c))}catch{}}return e.update(`\0mt=${d}`),e.digest("hex").slice(0,16)}(q,t,v,y),C=function(a,b,c={}){let d=function(a){let b=a?.context_config??a?.contextConfig;if(!Array.isArray(b))return[];let c=new Map;for(let a of b){if(!a||"object"!=typeof a)continue;let b=F(a.tokenCount??a.token_count??a.max_input_tokens??a.maxInputTokens??a.contextLength??a.context_length);if(!b)continue;let d=!0===a.isDefault||!0===a.is_default||!0===a.default,e=c.get(b);c.set(b,{name:function(a,b){let c=a.name??a.label??a.display_name??a.displayName??a.key??a.id;return"string"==typeof c&&c.trim()?c.trim():b>=E.M&&b%E.M==0?`${b/E.M}M`:b>=E.K&&b%E.K==0?`${b/E.K}K`:String(b)}(a,b),tokenCount:b,isDefault:e?.isDefault||d})}return[...c.values()].sort((a,b)=>a.tokenCount-b.tokenCount)}(a);if(!d.length)return null;let e=String(c.preference??"").trim()||m.EM.AUTO,f=d[d.length-1],g=d.find(a=>a.isDefault)||d[0],h=function({system:a,messages:b,tools:c}={}){let d="";try{d=JSON.stringify({system:a||"",messages:b||[],tools:c||[]})||""}catch{return 0}let e=(d.match(G)||[]).length;return Math.ceil(e+(d.length-e)/4)}(b),i=Math.ceil(h*(1+("number"==typeof c.headroom?c.headroom:m.NH)));if(e.toLowerCase()===m.EM.MAX)return{tier:f,estimatedTokens:h,reason:"forced:max"};if(e.toLowerCase()===m.EM.DEFAULT)return{tier:g,estimatedTokens:h,reason:"forced:default"};if(e.toLowerCase()!==m.EM.AUTO){let a,b,c=(b=F(a=e.replace(/\s+/g,"").toUpperCase()),d.find(c=>c.name.replace(/\s+/g,"").toUpperCase()===a||b&&c.tokenCount===b)||null);if(c)return{tier:c,estimatedTokens:h,reason:`forced:${c.name}`}}let j=F(a?.max_input_tokens??a?.maxInputTokens)||g.tokenCount;if(i<=j)return null;let k=d.find(a=>a.tokenCount>=i&&a.tokenCount>j),l=k||f;return l.tokenCount<=j?null:{tier:l,estimatedTokens:h,reason:k?"auto:fits":"auto:largest"}}(r,{system:u,messages:t,tools:v},{preference:process.env[m.d2]});C&&d?.info?.("QODER",`context tier ${C.tier.name} (${C.tier.tokenCount} tokens, ${C.reason}) for ~${C.estimatedTokens} prompt tokens`);let K={qoderKey:q,payload:{request_id:(0,f.A)(),request_set_id:B,chat_record_id:B,session_id:A,stream:!0,chat_task:"FREE_INPUT",is_reply:!0,is_retry:!1,source:1,version:"3",session_type:"qodercli",agent_id:"agent_common",task_id:"common",code_language:"",chat_prompt:"",image_urls:null,aliyun_user_type:"",system:u,messages:t,tools:Array.isArray(v)?v:[],parameters:{max_tokens:y},chat_context:{chatPrompt:"",imageUrls:null,extra:{context:[],modelConfig:{key:q,is_reasoning:w},originalContent:z},features:[],text:z},model_config:r,business:{product:"cli",version:"1.0.0",type:"agent",stage:"start",id:(0,f.A)(),name:I(z,30),begin_at:Date.now()}},modelConfig:r};return C&&(k=K.payload,l=C.tier,k&&l?.tokenCount&&(k.parameters={...k.parameters||{},context_length:l.tokenCount},k.chat_context=k.chat_context||{},k.chat_context.extra={...k.chat_context.extra||{},ideModelConfigOverride:{...k.chat_context.extra?.ideModelConfigOverride||{},max_input_tokens:l.tokenCount}},k.model_config&&"object"==typeof k.model_config&&(k.model_config={...k.model_config,max_input_tokens:l.tokenCount}))),K}function K(a){if(!a||"string"!=typeof a)return!1;if(a.toLowerCase().includes("pricingurl"))return!0;try{let b=JSON.parse(a),c=String(b?.code??"");if("110"===c||"112"===c||"10605"===c)return!0}catch{}return/"code"\s*:\s*"(112|10605)"/.test(a)}async function L(a,b){let c="",d=0,e=!1;for(;;){let f,g=c.indexOf("\n",d);if(-1===g&&!e){let{done:d,value:f}=await a.read();e=d,c+=d?b.decode():b.decode(f,{stream:!0});continue}if(d>=c.length)return{isError:!1,consumed:c,upstreamDone:e};-1===g&&(g=c.length);let h=c.slice(d,g).replace(/\r$/,"").trim();if(d=g+1,!h.startsWith("data:"))continue;let i=h.slice(5).trimStart();if("[DONE]"===i)return{isError:!1,consumed:c,upstreamDone:e};try{f=JSON.parse(i)}catch{return{isError:!1,consumed:c,upstreamDone:e}}let j=Number(f?.statusCodeValue),k=Number.isNaN(j)?200:j,l="string"==typeof f?.body?f.body:f?.body!=null?JSON.stringify(f.body):"";if(200!==k)return{isError:!0,isBilling:K(l),statusVal:k,message:l||`upstream status ${k}`};return{isError:!1,consumed:c,upstreamDone:e}}}async function M(a,b,c=null){if(!a.ok||!a.body)return a;let d=new TextDecoder,e=a.body.getReader(),f=await L(e,d);if(f.isError){await e.cancel().catch(()=>{});let a=f.isBilling?l.gx.FORBIDDEN:Number.isInteger(f.statusVal)&&f.statusVal>=l.gx.BAD_REQUEST&&f.statusVal<=599?f.statusVal:l.gx.BAD_GATEWAY;return new Response(JSON.stringify({error:{message:f.message,code:f.statusVal}}),{status:a,headers:{"Content-Type":"application/json"}})}let g=f.consumed||"",h=!0===f.upstreamDone,i=new TextEncoder,j=!1,m=function({model:a,encoder:b,sseDone:c}){let d=null,e=null,f={id:null,created:null,model:a},g=!1,h=!1,i=(a,c)=>{a.enqueue(b.encode(`data: ${String(c).replace(/\r?\n/g,"")}
16
+
17
+ `))},j=a=>{g||(a.enqueue(b.encode(c)),g=!0)},k=c=>{if(d||e){let g;g=JSON.stringify({id:f.id||`qoder-${Date.now()}`,object:"chat.completion.chunk",created:f.created||Math.floor(Date.now()/1e3),model:f.model||a,choices:[{index:0,delta:{},finish_reason:d||"stop"}],...e?{usage:e}:{}}).replace(/\r?\n/g,""),c.enqueue(b.encode(`data: ${g}
18
+
19
+ `)),d=null,e=null}},l=a=>{g||((e||d&&!h)&&k(a),j(a))};return{handleInner:(a,b)=>{let c,m;if(g)return{terminal:!0};let n=function(a){if(null==a||""===a)return{raw:!1,parsed:null};if("[DONE]"===a)return{done:!0};if("string"!=typeof a)return"object"==typeof a?{parsed:a}:{raw:!0,text:String(a)};try{return{parsed:JSON.parse(a)}}catch{return{raw:!0,text:a}}}(a);if(n.done)return l(b),{terminal:!0};if(n.raw)return i(b,n.text),{};let o=n.parsed;if(!o||"object"!=typeof o)return{};"string"==typeof o.id&&o.id&&(f.id=o.id),"number"==typeof o.created&&(f.created=o.created),"string"==typeof o.model&&o.model&&(f.model=o.model);let p=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=q(a.prompt_tokens??a.input_tokens),c=q(a.completion_tokens??a.output_tokens);if(null==b&&null==c)return null;let d=a.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details?{...a.prompt_tokens_details}:{},e=q(d.cached_tokens??a.cached_tokens??a.prompt_cache_hit_tokens??a.cache_read_input_tokens),f=q(d.cache_creation_tokens??a.cache_creation_input_tokens),g=b||0,h=c||0,i={prompt_tokens:g,completion_tokens:h,total_tokens:q(a.total_tokens)??g+h};null!=e&&(i.cached_tokens=e,d.cached_tokens=e),null!=f&&(d.cache_creation_tokens=f),Object.keys(d).length&&(i.prompt_tokens_details=d),a.completion_tokens_details&&"object"==typeof a.completion_tokens_details&&(i.completion_tokens_details=a.completion_tokens_details);let j=q(a.reasoning_tokens??a.completion_tokens_details?.reasoning_tokens);return null!=j&&(i.reasoning_tokens=j),i}(o.usage);p&&(e=p);let r=(c=o?.choices?.[0],c?.finish_reason||c?.delta?.finish_reason||o?.finish_reason||null);return(m=o?.choices?.[0]?.delta)&&"object"==typeof m&&("string"==typeof m.content&&m.content.length>0||"string"==typeof m.reasoning_content&&m.reasoning_content.length>0||Array.isArray(m.tool_calls)&&m.tool_calls.length>0||m.role)?(i(b,"string"==typeof a?a:JSON.stringify(o)),r&&(h=!0,d=e?r:null),d&&e)?(k(b),j(b),{terminal:!0}):{}:(r&&(d=r),(d||h)&&e)?(d||(d="stop"),k(b),j(b),{terminal:!0}):{}},flush:l,get doneEmitted(){return g}}}({model:b,encoder:i,sseDone:k.$U}),n=()=>{m.doneEmitted&&(j=!0)},o=(a,c)=>{let d,e=a.replace(/\r$/,"").trim();if(!e||!e.startsWith("data:")||j)return;let f=e.slice(5).trimStart();if("[DONE]"===f){m.flush(c),n();return}try{d=JSON.parse(f)}catch{return}let g=Number(d.statusCodeValue)||200,h="string"==typeof d.body?d.body:null!=d.body?JSON.stringify(d.body):"";if(200!==g){try{console.error(`[QODER] error envelope status=${g} statusType=${typeof d.statusCodeValue} bodyType=${typeof d.body} body=${I(h,300)}`)}catch{}if(K(h)){let a=JSON.stringify({error:{message:h||`qoder billing block (${g})`,code:"qoder_billing_block",status:403,type:"quota_error"}});c.enqueue(i.encode(`data: ${a}
20
+
21
+ `)),c.enqueue(i.encode(k.$U)),j=!0;return}let a=h||`upstream status ${g}`,e=JSON.stringify({id:`qoder-error-${Date.now()}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b,choices:[{index:0,delta:{content:`
22
+ [qoder error ${g}: ${I(a,200)}]`},finish_reason:"stop"}]});c.enqueue(i.encode(`data: ${e}
23
+
24
+ `)),c.enqueue(i.encode(k.$U)),j=!0;return}h&&(m.handleInner(h,c),n())};return new Response(new ReadableStream({async start(a){try{let b;for(;-1!==(b=g.indexOf("\n"));){let c=g.slice(0,b);if(g=g.slice(b+1),o(c,a),j){await e.cancel().catch(()=>{}),a.close();return}}for(h&&(g+=d.decode()).length>0&&(o(g,a),g="");!j&&!h;){let b,{done:c,value:f}=await e.read();if(c){(g+=d.decode()).length>0&&(o(g,a),g="");break}for(g+=d.decode(f,{stream:!0});-1!==(b=g.indexOf("\n"));){let c=g.slice(0,b);if(g=g.slice(b+1),o(c,a),j){await e.cancel().catch(()=>{}),a.close();return}}}}catch{}finally{if(!j)try{m.flush(a),j=!0}catch{}try{a.close()}catch{}await e.cancel().catch(()=>{})}},cancel:()=>e.cancel().catch(()=>{})}),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache"}})}class N extends h.H{constructor(a="qoder"){super(a,i.xq[a]),this.region="qoder-cn"===a?"cn":"intl"}buildUrl(a){return`${(0,m.e9)(a,this.region)}/algo${m.F8}?FetchKeys=llm_model_result&AgentId=agent_common&Encode=1`}async execute({model:a,body:b,stream:c,credentials:f,signal:g,log:h,proxyOptions:i=null}){let k,m,o,p,q=f?.apiKey||f?.accessToken;if((0,n.zh)(q))try{f=await (0,n._M)(f,i,g,this.region)}catch(a){return h?.error?.("QODER",`PAT exchange failed: ${a.message}`),{response:new Response(JSON.stringify({error:{message:`qoder PAT exchange failed: ${a.message}`}}),{status:401,headers:{"Content-Type":"application/json"}}),url:this.buildUrl(f),headers:{},transformedBody:b}}let r=this.buildUrl(f),s=f?.providerSpecificData||{};if(!s.userId)return{response:new Response(JSON.stringify({error:{message:"qoder credential is missing userId; reconnect the account"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:r,headers:{},transformedBody:b};if(!f?.accessToken)return{response:new Response(JSON.stringify({error:{message:"qoder credential is missing accessToken; reconnect the account"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:r,headers:{},transformedBody:b};try{({qoderKey:k,payload:m}=await J({model:a,body:b,credentials:f,log:h,proxyOptions:i,signal:g,region:this.region}))}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message}}),{status:400,headers:{"Content-Type":"application/json"}}),url:r,headers:{},transformedBody:b}}let t=function(a){let b=(Buffer.isBuffer(a)?a:"string"==typeof a?Buffer.from(a,"utf8"):Buffer.from(a)).toString("base64"),c=b.length,e=Math.floor(c/3),f=b.slice(c-e)+b.slice(e,c-e)+b.slice(0,e),g=Buffer.alloc(c);for(let a=0;a<c;a++){let b=f.charCodeAt(a);b<128&&d[b]>=0?g[a]=d[b]:g[a]=b}return g.toString("latin1")}(Buffer.from(JSON.stringify(m),"utf8")),u=Buffer.from(t,"latin1");try{o=(0,e.d)(u,r,{userId:s.userId,authToken:f.accessToken,name:f.displayName||"",email:f.email||"",machineId:s.machineId||""})}catch(a){return{response:new Response(JSON.stringify({error:{message:`qoder cosy signing failed: ${a.message}`}}),{status:401,headers:{"Content-Type":"application/json"}}),url:r,headers:{},transformedBody:b}}let v={"Content-Type":"application/json",Accept:"text/event-stream","Cache-Control":"no-cache","X-Model-Key":k,"X-Model-Source":m.model_config&&m.model_config.source||"system","Accept-Encoding":"identity",...o},w=this.config?.timeoutMs||l.pH,x=new AbortController,y=setTimeout(()=>x.abort(Error("fetch connect timeout")),w),z=g?AbortSignal.any([g,x.signal]):x.signal;try{p=await (0,j.proxyAwareFetch)(r,{method:"POST",headers:v,body:u,signal:z},{...i,strictProxy:!0})}catch(a){if(z.aborted)throw z.reason;throw a}finally{clearTimeout(y)}return p.ok?{response:await M(p,`${this.provider}/${k}`,h),url:r,headers:v,transformedBody:m}:{response:p,url:r,headers:v,transformedBody:m}}async refreshCredentials(){return null}needsRefresh(){return!1}}},36691:(a,b,c)=>{c.d(b,{Gh:()=>j,IF:()=>n,O9:()=>f,OF:()=>m,WL:()=>g,_6:()=>i,_L:()=>l,f5:()=>k});var d=c(74258);let e="1"===process.env.LOG_USAGE_VERBOSE;function f(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function g(a,b){if(!a||"object"!=typeof a)return a;let c={[d.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[d.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[d.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},e=c[b];b===d.h.ANTIGRAVITY?e=c[d.h.GEMINI]:b===d.h.OPENAI_RESPONSE?e=c[d.h.OPENAI_RESPONSES]:e||(e=c.default);let f={};for(let b of e)void 0!==a[b]&&(f[b]=a[b]);return f}function h(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),a?.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details&&(b.prompt_tokens_details=a.prompt_tokens_details),a?.completion_tokens_details&&"object"==typeof a.completion_tokens_details&&(b.completion_tokens_details=a.completion_tokens_details),0===Object.keys(b).length)?null:b}function i(a){let b;if(!a||"object"!=typeof a||Array.isArray(a))return null;let c=a=>Number.isFinite(Number(a))?Number(a):0,d=c(a.completion_tokens??a.output_tokens),e=c(a.reasoning_tokens),f=c(a.cache_creation_input_tokens??a.prompt_tokens_details?.cache_creation_tokens),g=c(a.prompt_tokens??a.input_tokens);void 0===a.cached_tokens&&(void 0!==a.cache_read_input_tokens||void 0!==a.cache_creation_input_tokens)?g=g+(b=c(a.cache_read_input_tokens))+f:b=c(a.cached_tokens??a.prompt_tokens_details?.cached_tokens);let h={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,cached_tokens:b,cache_creation_input_tokens:f};return e>0&&(h.reasoning_tokens=e),h}function j(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function k(a){if(!a||"object"!=typeof a)return null;if("message_start"===a.type&&a.message?.usage&&"object"==typeof a.message.usage){let b=a.message.usage;return h({prompt_tokens:b.input_tokens||0,completion_tokens:b.output_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens})}if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return h({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage,c=b.input_tokens_details?.cached_tokens;return h({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:c,reasoning_tokens:b.output_tokens_details?.reasoning_tokens,prompt_tokens_details:c?{cached_tokens:c}:void 0})}if(a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens)return h({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens||a.usage.prompt_cache_hit_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens,prompt_tokens_details:a.usage.prompt_tokens_details,completion_tokens_details:a.usage.completion_tokens_details});let b=a.usageMetadata||a.response?.usageMetadata;return b&&"object"==typeof b?h({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount}):!0===a.done&&"number"==typeof a.prompt_eval_count?h({prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}):null}function l(a,b){if(!a)return b||null;if(!b)return a;let c={...a};for(let[a,d]of Object.entries(b))"number"==typeof d&&Number.isFinite(d)?c[a]=Math.max("number"==typeof c[a]?c[a]:0,d):d&&"object"==typeof d&&(c[a]=d);return c}function m(a,b,c=d.h.OPENAI){var e,g;return e=function(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a).length;return Math.ceil(b/4)}catch(a){return 0}}(a),g=b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c===d.h.CLAUDE?f({input_tokens:e,output_tokens:g,estimated:!0}):f({prompt_tokens:e,completion_tokens:g,total_tokens:e+g,estimated:!0})}function n(a,b,c=null,d=null,f=null){if(!b||"object"!=typeof b||!e)return;let g=a?.toUpperCase()||"UNKNOWN",h=b?.prompt_tokens||b?.input_tokens||0,i=b?.completion_tokens||b?.output_tokens||0,j=d?d.slice(0,8)+"...":"unknown",k=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] [USAGE] ${g} | in=${h} | out=${i} | account=${j}`;b.estimated&&(k+=" (estimated)");let l=b.cache_read_input_tokens||b.cached_tokens||b.prompt_tokens_details?.cached_tokens;l&&(k+=` | cache_read=${l}`);let m=b.cache_creation_input_tokens;m&&(k+=` | cache_create=${m}`);let o=b.reasoning_tokens;o&&(k+=` | reasoning=${o}`),console.log(k)}},38684:(a,b,c)=>{c.d(b,{$6:()=>A,Fp:()=>C,Me:()=>B,Nv:()=>y,SE:()=>z,fg:()=>t});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(35841);let m="https://mimo-server-cn.xiaomimimo.com",n="account.xiaomi.com",o="miNative PC/Normal Windows_NT/10.0.19045 SDKV/1.0.0 DEVT/PC DEVS/Windows APP/miaccount_desktop APPV/0.1.0",p="MiClaw/1.0",q=new Map,r=new Map;async function s(){let a,b=(a=g().homedir(),"win32"===process.platform?i().join(a,"AppData","Roaming","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):"darwin"===process.platform?i().join(a,"Library","Application Support","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):i().join(a,".config","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"));if(!e().existsSync(b))return null;let d=i().join(g().tmpdir(),`10r-mimo-cookies-${process.pid}-${k().randomBytes(4).toString("hex")}.db`);try{e().copyFileSync(b,d)}catch{return null}try{let{DatabaseSync:a}=await Promise.resolve().then(c.t.bind(c,79868,23)),b=new a(d,{readOnly:!0}),e=b.prepare("SELECT name, value FROM cookies WHERE host_key = ?").all("."+n);b.close();let f=Object.fromEntries(e.map(a=>[a.name,a.value]));return f.passToken?f:null}catch{return null}finally{try{e().unlinkSync(d)}catch{}}}async function t(){try{let a=await s();if(!a?.passToken)return null;return{passToken:a.passToken,userId:a.userId||null,cUserId:a.cUserId||null}}catch{return null}}function u(a,b){for(let c of b.headers.getSetCookie?.()||[]){let b=/^([^=]+)=([^;]*)/.exec(c.trim());b&&b[2]&&(a[b[1]]=b[2])}}function v(a){return Object.entries(a).filter(([,a])=>a).map(([a,b])=>`${a}=${b}`).join("; ")}async function w(a,b){var c;let d,e={...a},f=(await (0,l.proxyAwareFetch)(`${m}/api/user/xiaomi/me`,{redirect:"manual",headers:{"User-Agent":o,Cookie:v(e)}},b)).headers.get("location");if(!f)return null;let g=new URL(f).searchParams.get("callback");if(!g)return null;let h=await (0,l.proxyAwareFetch)(`https://${n}/pass/serviceLogin?sid=passportapi&_json=true`,{headers:{Cookie:v(e),"User-Agent":p,Accept:"application/json"}},b),i=JSON.parse((await h.text()).replace(/^&&&START&&&/,"")),j=i.nonce||(i.location?new URL(i.location).searchParams.get("nonce"):null);if(!j||!i.location)return null;let q=await (0,l.proxyAwareFetch)(`${i.location}&clientSign=${(d=`nonce=${j}`+((c=i.ssecurity)&&c.trim()?`&${c}`:""),encodeURIComponent(k().createHash("sha1").update(d).digest("base64")))}`,{redirect:"manual",headers:{Cookie:v(e),"User-Agent":p}},b);u(e,q);let r=await (0,l.proxyAwareFetch)(`https://${n}/pass/serviceLogin?sid=mimopc&callback=${encodeURIComponent(g)}&_json=true`,{headers:{Cookie:v(e),"User-Agent":p,Accept:"application/json"}},b),s=JSON.parse((await r.text()).replace(/^&&&START&&&/,""));if(u(e,r),!s?.location||!/\/api\/sts/.test(s.location))return null;let t=await (0,l.proxyAwareFetch)(s.location,{redirect:"manual",headers:{"User-Agent":o,Cookie:v(e)}},b);if(u(e,t),!e.serviceToken)return null;let w={};for(let a of["serviceToken","mimopc_ph","mimopc_slh","userId"])e[a]&&(w[a]=e[a]);return v(w)}async function x(a,b){let c=a?.mimoPassToken?{passToken:a.mimoPassToken,userId:a.mimoUserId,cUserId:a.mimoCUserId}:await s();if(!c)return{cookie:null,reason:"no-pass-token"};let d=k().createHash("sha256").update(c.passToken).digest("hex"),e=q.get(d);if(e&&Date.now()-e.at<18e5)return{cookie:e.cookie};let f=r.get(d);if(f){let a=await f;return a?{cookie:a}:{cookie:null,reason:"sso-failed"}}let g=(async()=>{try{return await w(c,b)}catch{return null}finally{r.delete(d)}})();r.set(d,g);let h=await g;return h?(q.set(d,{cookie:h,at:Date.now()}),{cookie:h}):{cookie:null,reason:"sso-failed"}}function y(){q.clear()}let z=m,A=o;async function B(a=null,b=null){try{let{cookie:c}=await x(a,b);return c}catch{return null}}async function C(a=null,b=null){let{cookie:c,reason:d}=await x(a,b);if(!c)return{error:"no-pass-token"===d?"no-session":"session-failed"};try{let a=await (0,l.proxyAwareFetch)(`${m}/api/user/usage`,{headers:{"User-Agent":o,Cookie:c,Accept:"application/json"},signal:AbortSignal.timeout(1e4)},b);if(!a.ok)return{error:`http-${a.status}`};let d=await a.json().catch(()=>null);if(!d||0!==d.code||!d.data)return{error:"bad-response"};return{percent:d.data.percent,resetDate:d.data.resetDate,resetAt:d.data.resetAt}}catch(a){return{error:a.message}}}},39856:(a,b,c)=>{function d(a){return`data: ${JSON.stringify(a)}
25
+
26
+ `}function e({id:a,created:b,model:c,delta:f,finishReason:g=null}){return d({id:a,object:"chat.completion.chunk",created:b,model:c,choices:[{index:0,delta:f,finish_reason:g}]})}c.d(b,{N:()=>d,z:()=>e})},40415:(a,b,c)=>{c.d(b,{$q:()=>g,W$:()=>i,ni:()=>k});var d=c(71553),e=c(67459),f=c(75428);function g(a,b){return`data:${a};base64,${b}`}let h=/^data:([^;]+);base64,([\s\S]+)$/;function i(a){if("string"!=typeof a)return null;let b=a.match(h);return b?{mimeType:b[1],base64:b[2]}:null}async function j(a){if(!a||f.Xc.has(a.toLowerCase()))return null;try{let b=await (0,d.lookup)(a,{all:!0});if(!b.length||b.some(a=>(function(a){if(!a||"::1"===a||a.startsWith("fc")||a.startsWith("fd")||a.startsWith("fe80"))return!0;let b=(a.includes(".")?a.split(":").pop():a).split(".").map(a=>Number.parseInt(a,10));if(4!==b.length||b.some(a=>Number.isNaN(a)))return!a.includes(":");let[c,d]=b;return 10===c||127===c||0===c||172===c&&d>=16&&d<=31||192===c&&168===d||169===c&&254===d||100===c&&d>=64&&d<=127||!1})(a.address)))return null;return b}catch{return null}}async function k(a,b={}){let c,{signal:d,timeoutMs:g=f.MT,maxBytes:h=f.J5}=b;if(!a||!a.startsWith("http://")&&!a.startsWith("https://"))return null;try{c=new URL(a)}catch{return null}let i=await j(c.hostname);if(!i)return null;let l=new AbortController,m=d?null:setTimeout(()=>l.abort(),g),n=d||l.signal,o=new e.g6({connect:{lookup:(a,b,c)=>c(null,[{address:i[0].address,family:i[0].family}])}});try{let b=await fetch(a,{signal:n,redirect:"manual",dispatcher:o});if(!b.ok||!b.body)return null;let c=b.body.getReader(),d=[],e=0;for(;;){let{done:a,value:b}=await c.read();if(a)break;if((e+=b.length)>h){try{await c.cancel()}catch{}return null}d.push(b)}let g=Buffer.concat(d.map(a=>Buffer.from(a))),i=function(a){for(let{sig:b,offset:c,mime:d,verifyWebp:e}of f.Yv){if(a.length<c+b.length)continue;let f=!0;for(let d=0;d<b.length;d++)if(a[c+d]!==b[d]){f=!1;break}if(f&&(!e||a.length>=12&&87===a[8]&&69===a[9]&&66===a[10]&&80===a[11]))return d}return null}(g);if(!i)return null;return{url:`data:${i};base64,${g.toString("base64")}`,mimeType:i}}catch{return null}finally{m&&clearTimeout(m),o.close().catch(()=>{})}}},45276:(a,b,c)=>{c.d(b,{Az:()=>g,F5:()=>i,fO:()=>k,kR:()=>h});var d=c(55511),e=c(64652),f=c(13385);function g(a){let b=a.tools;if(!b||0===b.length)return{body:a,toolNameMap:null};let c=a=>`${a}${e.uR}`,d=new Map,f=new Set,g=[];for(let a of b){if(a.type){g.push(a);continue}let b=c(a.name);d.set(b,a.name),f.add(a.name),g.push({...a,name:b})}let h=[...g,...j],i=a.messages?.map(a=>{if(!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type?{...a,name:c(a.name)}:a);return{...a,content:b}}),k={...a,tools:h,messages:i||a.messages};return a.tool_choice?.type==="tool"&&f.has(a.tool_choice.name)&&(k.tool_choice={...a.tool_choice,name:c(a.tool_choice.name)}),{body:k,toolNameMap:d.size>0?d:null}}function h(a,b){if(!b?.size||!Array.isArray(a?.content))return a;let c=a.content.map(a=>a?.type==="tool_use"&&b.has(a.name)?{...a,name:b.get(a.name)}:a);return{...a,content:c}}function i(a,b){if(!b?.size||!a||"object"!=typeof a||"content_block_start"!==a.type)return a;let c=a.content_block;if(c?.type!=="tool_use"||"string"!=typeof c.name)return a;let d=b.get(c.name);return d?{...a,content_block:{...c,name:d}}:a}let j=[{name:"Task",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskOutput",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskStop",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskCreate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskGet",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskUpdate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskList",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Bash",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Glob",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Grep",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Read",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Edit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Write",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"NotebookEdit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebFetch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebSearch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"AskUserQuestion",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Skill",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"EnterPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"ExitPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}}];function k(a,b,c){var e;let g,h,i,j,k,l,m;if(!b||!b.includes("sk-ant-oat"))return a;let n={...a},o={type:"text",text:(g=JSON.stringify(a),h=(0,d.createHash)("sha256").update(g).digest("hex").slice(0,5),i=(0,d.randomBytes)(2).toString("hex").slice(0,3),`x-anthropic-billing-header: cc_version=${f.t4}.${i}; cc_entrypoint=sdk-cli; cch=${h};`)};return Array.isArray(n.system)?n.system[0]?.text?.startsWith("x-anthropic-billing-header:")||(n.system=[o,...n.system]):"string"==typeof n.system?n.system=[o,{type:"text",text:n.system}]:n.system=[o],n.metadata?.user_id||(n.metadata={...n.metadata,user_id:(j=b?(0,d.createHash)("sha256").update(`device:${b}`).digest("hex"):(0,d.randomBytes)(32).toString("hex"),l=b?(e=`account:${b}`,k=(0,d.createHash)("sha256").update(e).digest("hex"),`${k.slice(0,8)}-${k.slice(8,12)}-4${k.slice(13,16)}-${(3&parseInt(k[16],16)|8).toString(16)}${k.slice(17,20)}-${k.slice(20,32)}`):(0,d.randomUUID)(),m=c||(0,d.randomUUID)(),`{"device_id":"${j}","account_uuid":"${l}","session_id":"${m}"}`)}),n}},46600:(a,b,c)=>{c.d(b,{H:()=>o});var d=c(77598),e=c.n(d),f=c(65895),g=c(52238),h=c(68443),i=c(28567),j=c(20453);let k="x-opencode-session",l="_opencodeGoSession";function m(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}function n(a){let b=(0,i.SM)("opencode-go").find(b=>b.id===String(a||"").replace(/\([^()]+\)\s*$/,"").trim());return"openai-responses"===(0,h.gr)(b)}class o extends f.L{constructor(){super("opencode-go")}buildUrl(a,b,c=0,d=null){return n(a)?"https://opencode.ai/zen/go/v1/responses":super.buildUrl(a,b,c,d)}prepareRequestCredentials({body:a,credentials:b,providerSessionId:c,clientTool:d}={}){let f,h=b||{},i=function(a){if(!a||"object"!=typeof a)return null;for(let[b,c]of Object.entries(a))if(b.toLowerCase()===k)return m(c);return null}(h.rawHeaders),j=m(c)||(0,g.oV)({headers:h.rawHeaders,body:a,connectionId:h.connectionId,scope:"opencode-go"});return{...h,[l]:i||(f=e().createHash("sha256").update(`opencode-go\0${d||"generic"}\0${j}`).digest("hex").slice(0,32),`ses_${f}`)}}async execute(a){let b=this.prepareRequestCredentials(a);return super.execute({...a,credentials:b})}buildHeaders(a,b=!0,c,d){let e=super.buildHeaders(a||{},b,c,d),f=a?.[l];if(f)return e[k]=f,e;let g=this.prepareRequestCredentials({credentials:a});return e[k]=g[l],e}transformRequest(a,b,c,d){let e=super.transformRequest(a,b);if(!n(a||b?.model))return e;let f=(0,j.me)(e.input);return f&&(e.input=f),Array.isArray(e.input)&&0!==e.input.length||(e.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),void 0===e.max_output_tokens&&(void 0!==e.max_completion_tokens?e.max_output_tokens=e.max_completion_tokens:void 0!==e.max_tokens&&(e.max_output_tokens=e.max_tokens)),delete e.max_tokens,delete e.max_completion_tokens,void 0!==e.reasoning_effort&&void 0===e.reasoning&&(e.reasoning={effort:e.reasoning_effort,summary:"auto"}),!e.reasoning||"object"!=typeof e.reasoning||Array.isArray(e.reasoning)||e.reasoning.summary||(e.reasoning.summary="auto"),delete e.reasoning_effort,e.stream=!0,e.store=!1,!function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,d=("string"==typeof a.name?a.name:"string"==typeof c?.name?c.name:"").trim();if(!d)return!1;let e="string"==typeof a.description?a.description:"string"==typeof c?.description?c.description:"",f=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:c?.parameters&&"object"==typeof c.parameters&&!Array.isArray(c.parameters)?c.parameters:{type:"object",properties:{}};for(let b of("object"!==f.type||f.properties||(f={...f,properties:{}}),Object.keys(a)))delete a[b];return a.type="function",a.name=d.slice(0,128),e&&(a.description=e),a.parameters=f,b.add(a.name),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(e),Array.isArray(e.input)&&(e.input=e.input.filter(a=>!!(!a||"object"!=typeof a||Array.isArray(a))||"reasoning"!==a.type&&((delete a.encrypted_content,delete a.reasoning_encrypted_content,"function_call"===a.type)?!!a.name&&"string"==typeof a.name&&""!==a.name.trim()&&(a.name=a.name.trim().slice(0,128),a.call_id=(0,j.N8)(a.call_id),a.arguments=(0,j.We)(a.arguments),!0):("function_call_output"===a.type&&(a.call_id=(0,j.N8)(a.call_id),a.output=(0,j.DP)(a.output)),!0)))),e}}},47831:(a,b,c)=>{c.d(b,{F:()=>e,Q:()=>f});var d=c(41312);function e(a,b){switch(b){case"claude":switch(a){case d.Ut.END_TURN:return d.bC.STOP;case d.Ut.MAX_TOKENS:return d.bC.LENGTH;case d.Ut.TOOL_USE:return d.bC.TOOL_CALLS;case d.Ut.STOP_SEQUENCE:return d.bC.STOP;case d.Ut.REFUSAL:return d.bC.CONTENT_FILTER;default:return d.bC.STOP}case"commandcode":switch(a){case"stop":case"error":return d.bC.STOP;case"length":return d.bC.LENGTH;case"tool-calls":case"tool_use":return d.bC.TOOL_CALLS;case"content-filter":return d.bC.CONTENT_FILTER;default:return a||d.bC.STOP}case"gemini":switch(String(a).toUpperCase()){case d.a_.STOP:return d.bC.STOP;case d.a_.MAX_TOKENS:return d.bC.LENGTH;case d.a_.SAFETY:case d.a_.RECITATION:case d.a_.BLOCKLIST:case d.a_.PROHIBITED_CONTENT:return d.bC.CONTENT_FILTER;default:return d.bC.STOP}case"kiro":case"ollama":switch(a){case"tool_calls":case"tool_use":return d.bC.TOOL_CALLS;case"length":case"max_tokens":return d.bC.LENGTH;default:return d.bC.STOP}default:return a||d.bC.STOP}}function f(a,b){if("claude"!==b)return a;switch(a){case d.bC.STOP:return d.Ut.END_TURN;case d.bC.LENGTH:return d.Ut.MAX_TOKENS;case d.bC.TOOL_CALLS:return d.Ut.TOOL_USE;default:return d.Ut.END_TURN}}},51395:(a,b,c)=>{c.d(b,{P:()=>l});var d=c(9546),e=c(74258),f=c(32973),g=c(23879),h=c(28217),i=c(26466),j=c(47831);function k(a,b,c=null){return(0,g.k)({id:`chatcmpl-${a.messageId}`,created:Math.floor(Date.now()/1e3),model:a.model},b,c)}function l(a,b){if(!a)return null;let c=[];switch(a.type){case"message_start":{b.messageId=a.message?.id||`msg_${Date.now()}`,b.model=a.message?.model,b.toolCallIndex=0;let d=a.message?.usage;if(d&&"object"==typeof d){let a="number"==typeof d.input_tokens?d.input_tokens:0,c="number"==typeof d.cache_read_input_tokens?d.cache_read_input_tokens:0,e="number"==typeof d.cache_creation_input_tokens?d.cache_creation_input_tokens:0,f=a+c+e;b.usage={prompt_tokens:f,completion_tokens:0,total_tokens:f,input_tokens:a,output_tokens:0},c>0&&(b.usage.cache_read_input_tokens=c),e>0&&(b.usage.cache_creation_input_tokens=e)}c.push(k(b,{role:f.z7.ASSISTANT}));break}case"content_block_start":{let d=a.content_block;if(d?.type==="server_tool_use"){b.serverToolBlockIndex=a.index;break}if(d?.type===f.R4.TEXT)b.textBlockStarted=!0;else if(d?.type===f.R4.THINKING)b.inThinkingBlock=!0,b.currentBlockIndex=a.index,c.push(k(b,{content:"<think>"}));else if(d?.type===f.R4.TOOL_USE){let e=b.toolCallIndex++,g=b.toolNameMap?.get(d.name)||d.name,h={index:e,id:d.id,type:f.x4.FUNCTION,function:{name:g,arguments:""}};b.toolCalls.set(a.index,h),c.push(k(b,{tool_calls:[h]}))}break}case"content_block_delta":{if(a.index===b.serverToolBlockIndex)break;let d=a.delta;if(d?.type==="text_delta"&&d.text)c.push(k(b,{content:d.text}));else if(d?.type==="thinking_delta"&&d.thinking)c.push(k(b,(0,i.B)(d.thinking)));else if(d?.type==="input_json_delta"&&d.partial_json){let e=b.toolCalls.get(a.index);e&&(e.function.arguments+=d.partial_json,c.push(k(b,{tool_calls:[{index:e.index,id:e.id,function:{arguments:d.partial_json}}]})))}break}case"content_block_stop":if(a.index===b.serverToolBlockIndex){b.serverToolBlockIndex=-1;break}b.inThinkingBlock&&a.index===b.currentBlockIndex&&(c.push(k(b,{content:"</think>"})),b.inThinkingBlock=!1),b.textBlockStarted=!1,b.thinkingBlockStarted=!1;break;case"message_delta":if(a.usage&&"object"==typeof a.usage){let c=b.usage||{},d="number"==typeof a.usage.input_tokens?a.usage.input_tokens:c.input_tokens||0,e="number"==typeof a.usage.output_tokens?a.usage.output_tokens:0,f="number"==typeof a.usage.cache_read_input_tokens?a.usage.cache_read_input_tokens:c.cache_read_input_tokens||0,g="number"==typeof a.usage.cache_creation_input_tokens?a.usage.cache_creation_input_tokens:c.cache_creation_input_tokens||0,h=d+f+g;b.usage={prompt_tokens:h,completion_tokens:e,total_tokens:h+e,input_tokens:d,output_tokens:e},f>0&&(b.usage.cache_read_input_tokens=f),g>0&&(b.usage.cache_creation_input_tokens=g)}if(a.delta?.stop_reason){b.finishReason=m(a.delta.stop_reason);let d=k(b,{},b.finishReason);b.usage&&(d.usage=(0,h.B)({input_tokens:b.usage.input_tokens||0,output_tokens:b.usage.output_tokens||0,cache_read_input_tokens:b.usage.cache_read_input_tokens,cache_creation_input_tokens:b.usage.cache_creation_input_tokens},"claude")),c.push(d),b.finishReasonSent=!0}break;case"message_stop":if(!b.finishReasonSent){let a=b.finishReason||(b.toolCalls?.size>0?f.bC.TOOL_CALLS:f.bC.STOP),d=b.usage&&"object"==typeof b.usage?{usage:{prompt_tokens:b.usage.input_tokens||0,completion_tokens:b.usage.output_tokens||0,total_tokens:(b.usage.input_tokens||0)+(b.usage.output_tokens||0)}}:{};c.push({...k(b,{},a),...d}),b.finishReasonSent=!0}}return c.length>0?c:null}let m=a=>(0,j.F)(a,"claude");(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,null,l)},55219:(a,b,c)=>{c.d(b,{C:()=>o,p:()=>m});var d=c(9546),e=c(74258),f=c(64652),g=c(65205),h=c(56546),i=c(40415),j=c(52706),k=c(32973),l=c(12151);function m(a,b,c){let d=new Map,e=(0,l.getCapabilitiesForModel)(null,a).maxOutput||void 0,m={model:a,max_tokens:(0,g.M)(b,e),stream:c};void 0!==b.temperature&&(m.temperature=b.temperature),m.messages=[];let o=[];if(b.messages&&Array.isArray(b.messages)){let a;for(let a of b.messages)a.role===k.z7.SYSTEM&&o.push("string"==typeof a.content?a.content:(0,j.kU)(a.content,"\n"));let c=b.messages.filter(a=>a.role!==k.z7.SYSTEM),e=[],f=()=>{a&&e.length>0&&(m.messages.push({role:a,content:e}),e=[])};for(let b of c){let c=b.role===k.z7.USER||b.role===k.z7.TOOL?k.z7.USER:k.z7.ASSISTANT,g=function(a,b=new Map){let c=[];if(a.role===k.z7.TOOL)c.push({type:k.R4.TOOL_RESULT,tool_use_id:a.tool_call_id,content:a.content});else if(a.role===k.z7.USER){if("string"==typeof a.content)a.content&&c.push({type:k.R4.TEXT,text:a.content});else if(Array.isArray(a.content)){for(let b of a.content)if(b.type===k.x4.TEXT&&b.text)c.push({type:k.R4.TEXT,text:b.text});else if(b.type===k.R4.TOOL_RESULT)c.push({type:k.R4.TOOL_RESULT,tool_use_id:b.tool_use_id,content:b.content,...b.is_error&&{is_error:b.is_error}});else if(b.type===k.x4.IMAGE_URL){let a=b.image_url.url,d=(0,i.W$)(a);d?c.push({type:k.R4.IMAGE,source:{type:"base64",media_type:d.mimeType,data:d.base64}}):(a.startsWith("http://")||a.startsWith("https://"))&&c.push({type:k.R4.IMAGE,source:{type:"url",url:a}})}else if(b.type===k.x4.IMAGE&&b.source)c.push({type:k.R4.IMAGE,source:b.source});else if(b.type===k.x4.FILE&&b.file){let a=b.file.file_data,d=(0,i.W$)(a);d&&"application/pdf"===d.mimeType&&c.push({type:k.R4.DOCUMENT,source:{type:"base64",media_type:d.mimeType,data:d.base64}})}}}else if(a.role===k.z7.ASSISTANT){if(Array.isArray(a.content)){for(let b of a.content)if(b.type===k.x4.TEXT&&b.text)c.push({type:k.R4.TEXT,text:b.text});else if(b.type===k.R4.TOOL_USE)c.push({type:k.R4.TOOL_USE,id:b.id,name:b.name,input:b.input});else if(b.type===k.R4.THINKING){let{cache_control:a,...d}=b;c.push(d)}}else if(a.content){let b="string"==typeof a.content?a.content:(0,j.kU)(a.content,"\n");"string"==typeof a.reasoning_content&&a.reasoning_content&&c.push({type:k.R4.THINKING,thinking:a.reasoning_content}),b&&c.push({type:k.R4.TEXT,text:b})}if(a.tool_calls&&Array.isArray(a.tool_calls)){for(let b of a.tool_calls)if(b.type===k.x4.FUNCTION){let a=""+b.function.name;c.push({type:k.R4.TOOL_USE,id:b.id,name:a,input:(0,h.N)(b.function.arguments,b.function.arguments)})}}}return c}(b,d),l=g.some(a=>a.type===k.R4.TOOL_USE);if(g.some(a=>a.type===k.R4.TOOL_RESULT)){let b=g.filter(a=>a.type===k.R4.TOOL_RESULT),d=g.filter(a=>a.type!==k.R4.TOOL_RESULT);f(),b.length>0&&m.messages.push({role:k.z7.USER,content:b}),d.length>0&&(a=c,e.push(...d));continue}a!==c&&(f(),a=c),e.push(...g),l&&f()}f();for(let a=m.messages.length-1;a>=0;a--){let b=m.messages[a];if(b.role===k.z7.ASSISTANT&&Array.isArray(b.content)&&b.content.length>0){let a=[k.R4.TEXT,k.R4.TOOL_USE,k.R4.TOOL_RESULT,k.R4.IMAGE];for(let c=b.content.length-1;c>=0;c--){let d=b.content[c];if(a.includes(d.type)){d.cache_control={type:"ephemeral"};break}}break}}}if(b.response_format){let a=b.response_format;if("json_schema"===a.type&&a.json_schema?.schema){let b=JSON.stringify(a.json_schema.schema,null,2);o.push(`You must respond with valid JSON that strictly follows this JSON schema:
27
+ \`\`\`json
28
+ ${b}
29
+ \`\`\`
30
+ Respond ONLY with the JSON object, no other text.`)}else"json_object"===a.type&&o.push("You must respond with valid JSON. Respond ONLY with a JSON object, no other text.")}let p={type:k.R4.TEXT,text:f.Co};if(o.length>0){let a=o.join("\n");m.system=[p,{type:k.R4.TEXT,text:a,cache_control:{type:"ephemeral",ttl:"1h"}}]}else m.system=[p];if(b.tools&&Array.isArray(b.tools)){for(let a of(m.tools=[],b.tools)){let b=a.type;if(b&&b!==k.x4.FUNCTION){m.tools.push(a);continue}let c=a.function??a,e=c.name,f=""+e;d.set(f,e),m.tools.push({name:f,description:c.description||"",input_schema:c.parameters||c.input_schema||{type:"object",properties:{},required:[]}})}m.tools.length>0&&(m.tools[m.tools.length-1].cache_control={type:"ephemeral",ttl:"1h"})}return b.tool_choice&&(m.tool_choice=function(a){if(!a)return{type:"auto"};if("string"==typeof a)return"required"===a?{type:"any"}:{type:"auto"};if("object"==typeof a){if(a.function?.name)return{type:"tool",name:a.function.name};if(n.has(a.type))return a}return{type:"auto"}}(b.tool_choice)),d.size>0&&(m._toolNameMap=d),m}let n=new Set(["auto","any","tool","none"]);function o(a,b,c){let d=m(a,b,c);return d.system&&Array.isArray(d.system)&&(d.system=d.system.filter(a=>!a.text||!a.text.includes("You are Claude Code")),0===d.system.length&&delete d.system),d.tools&&Array.isArray(d.tools)&&(d.tools=d.tools.map(a=>a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a)),d.messages&&Array.isArray(d.messages)&&(d.messages=d.messages.map(a=>{if(!a.content||!Array.isArray(a.content))return a;let b=a.content.map(a=>a.type===k.R4.TOOL_USE&&a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a);return{...a,content:b}})),d}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,m,null)},55458:(a,b,c)=>{c.d(b,{C5:()=>k,SF:()=>j,dV:()=>l,eG:()=>f,fH:()=>i});var d=c(74258);let e=/^[a-zA-Z0-9_-]+$/;function f(a){return void 0===a?`call_${Date.now()}`:`call_${a}_${Date.now()}`}function g(a=0,b=0,c=""){let d=c?`_${c.replace(/[^a-zA-Z0-9_-]/g,"")}`:"";return`call_msg${a}_tc${b}${d}`}function h(a){if(!a||"string"!=typeof a)return null;let b=a.replace(/[^a-zA-Z0-9_-]/g,"");return b.length>0?b:null}function i(a){if(!a.messages||!Array.isArray(a.messages))return a;for(let b=0;b<a.messages.length;b++){let c=a.messages[b];if("assistant"===c.role&&c.tool_calls&&Array.isArray(c.tool_calls))for(let a=0;a<c.tool_calls.length;a++){let d=c.tool_calls[a];if(!d.id||!e.test(d.id)){let c=h(d.id);d.id=c||g(b,a,d.function?.name)}d.type||(d.type="function"),d.function?.arguments&&"string"!=typeof d.function.arguments&&(d.function.arguments=JSON.stringify(d.function.arguments))}if("tool"===c.role&&c.tool_call_id&&!e.test(c.tool_call_id)){let a=h(c.tool_call_id);c.tool_call_id=a||g(b,0)}if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let d=c.content[a];if("tool_use"===d.type&&d.id&&!e.test(d.id)){let c=h(d.id);d.id=c||g(b,a,d.name)}if("tool_result"===d.type&&d.tool_use_id&&!e.test(d.tool_use_id)){let c=h(d.tool_use_id);d.tool_use_id=c||g(b,a)}}}return a}function j(a){if(!a.messages||!Array.isArray(a.messages))return a;let b=[];for(let c=0;c<a.messages.length;c++){let d=a.messages[c],e=a.messages[c+1];b.push(d);let f=function(a){if("assistant"!==a.role)return[];let b=[];if(a.tool_calls&&Array.isArray(a.tool_calls))for(let c of a.tool_calls)c.id&&b.push(c.id);if(Array.isArray(a.content))for(let c of a.content)"tool_use"===c.type&&c.id&&b.push(c.id);return b}(d);if(0!==f.length&&e&&!function(a,b){if(!a||!b.length)return!1;if("tool"===a.role&&a.tool_call_id)return b.includes(a.tool_call_id);if("user"===a.role&&Array.isArray(a.content)){for(let c of a.content)if("tool_result"===c.type&&b.includes(c.tool_use_id))return!0}return!1}(e,f))for(let a of f)b.push({role:"tool",tool_call_id:a,content:""})}return a.messages=b,a}function k(a){return Array.isArray(a)?a.map(a=>a?.type?a:{...a,type:"custom"}):a}function l(a,b,c,e){return b===d.h.CLAUDE&&Array.isArray(c)&&e?.[a]?.quirks?.requireClaudeToolType===!0}},56113:(a,b,c)=>{c.d(b,{A:()=>v});var d=c(45941),e=c(74258),f=c(9546),g=c(55219),h=c(67494),i=c(15673),j=c(51395),k=c(31146),l=c(67349),m=c(34948);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)}
31
+
32
+ `))}class u extends d.H{constructor(){super("zed")}async resolveModel(a,b,c,d,e=null){try{let d=await (0,m.w9)(b,{config:this.config,signal:c,proxyOptions:e}),f=d?.rawById?.get(a)??null;if(!f){let d=await (0,m.w9)(b,{config:this.config,signal:c,proxyOptions:e,forceRefresh:!0});f=d?.rawById?.get(a)??null}return{raw:f,provider:r(f?.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,l),r=function(a,b,c,d,e){if(a===n)return(0,g.p)(b,c,!0);if(a===p){let a=(0,h.m$)(b,c,!0);return delete a.safetySettings,a}return a===o?(0,i.h)(b,c,!0,e):{...c||{},model:b,stream:!1!==d}}(q,a,b,c,d),u=b||{},v={thread_id:u.thread_id||d?._clientSessionId,prompt_id:u.prompt_id,provider:q,model:a,provider_request:r},w=await (0,m.zn)(d,"/completions",{config:this.config,signal:j,proxyOptions:l,fetchOptions:{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson, text/event-stream, */*","User-Agent":"9router/zed","x-zed-version":this.config?.appVersion?.toString()||"0.200.0",[m.xK.clientSupportsStatus]:"true",[m.xK.clientSupportsStreamEnded]:"true"},body:JSON.stringify(v)}});return{response:w.ok?function(a,b,c){if(!a.ok||!a.body)return a;let d=new TextDecoder,g=new TextEncoder,h=function(a,b){if(a===n)return(0,f.Ws)(e.h.CLAUDE);if(a===p)return(0,f.Ws)(e.h.GEMINI);if(a===o)return(0,f.Ws)(e.h.OPENAI_RESPONSES);let c=(0,f.Ws)(e.h.OPENAI);return c.model=b,c}(b,c),i="",j=!1,k=a=>{j||(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"}})}(w,q,a):w,url:`${this.config?.llmBaseUrl||"https://cloud.zed.dev"}/completions`,headers:{"Content-Type":"application/json",Authorization:"Bearer <zed-llm-token>"},transformedBody:v}}parseError(a,b){let c=null;try{c=JSON.parse(b||"{}")}catch{c=null}let d=c?.error||void 0,e=c?.code||d?.code||"",f=c?.message||d?.message||b||a.statusText;return"trial_blocked"===e?{status:a.status,message:`Zed trial access is blocked upstream. The account can list hosted models, but Zed is refusing completions until trial/billing access is enabled or unblocked. Zed says: ${f}`}:451===a.status?{status:451,message:`Zed geo-blocked this model upstream: ${f}. Set an egress proxy outside the blocked region on this Zed connection (connection proxy / vercel relay) and retry.`}:e?{status:a.status,message:`Zed ${e}: ${f}`}:{status:a.status,message:f||`Zed upstream error: ${a.status}`}}async refreshCredentials(){return null}needsRefresh(){return!1}}let v=u},62282:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>q});var e=c(33800),f=c(62745),g=c(28386),h=c(76978),i=c(46600),j=c(76069),k=c(80564),l=c(11190),m=c(34784),n=c(56113),o=c(65895);c(45941);var p=a([g]);g=(p.then?(await p)():p)[0];let r={antigravity:new e.c,codex:new f.T,cursor:new g.o,cu:new g.o,opencode:new h.j9,"opencode-go":new i.H,"opencode-zen":new j.mO,"xiaomi-mimo":new k.Rb,"xiaomi-tokenplan":new l.F,qoder:new m.DH,zed:new n.A},s=new Map;function q(a){return r[a]?r[a]:(s.has(a)||s.set(a,new o.L(a)),s.get(a))}d()}catch(a){d(a)}})},62745:(a,b,c)=>{c.d(b,{T:()=>A});var d=c(45941);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.
33
+
34
+ ## General
35
+
36
+ - When searching for text or files, prefer using \`rg\` or \`rg --files\` respectively because \`rg\` is much faster than alternatives like \`grep\`. (If the \`rg\` command is not found, then use alternatives.)
37
+
38
+ ## Editing constraints
39
+
40
+ - Default to ASCII when editing or creating files. Only introduce non-ASCII or other Unicode characters when there is a clear justification and the file already uses them.
41
+ - Add succinct code comments that explain what is going on if code is not self-explanatory. You should not add comments like "Assigns the value to the variable", but a brief comment might be useful ahead of a complex code block that the user would otherwise have to spend time parsing out. Usage of these comments should be rare.
42
+ - Try to use apply_patch for single file edits, but it is fine to explore other options to make the edit if it does not work well. Do not use apply_patch for changes that are auto-generated (i.e. generating package.json or running a lint or format command like gofmt) or when scripting is more efficient (such as search and replacing a string across a codebase).
43
+ - You may be in a dirty git worktree.
44
+ * NEVER revert existing changes you did not make unless explicitly requested, since these changes were made by the user.
45
+ * If asked to make a commit or code edits and there are unrelated changes to your work or changes that you didn't make in those files, don't revert those changes.
46
+ * If the changes are in files you've touched recently, you should read carefully and understand how you can work with the changes rather than reverting them.
47
+ * If the changes are in unrelated files, just ignore them and don't revert them.
48
+ - Do not amend a commit unless explicitly requested to do so.
49
+ - While you are working, you might notice unexpected changes that you didn't make. If this happens, STOP IMMEDIATELY and ask the user how they would like to proceed.
50
+ - **NEVER** use destructive commands like \`git reset --hard\` or \`git checkout --\` unless specifically requested or approved by the user.
51
+
52
+ ## Plan tool
53
+
54
+ When using the planning tool:
55
+ - Skip using the planning tool for straightforward tasks (roughly the easiest 25%).
56
+ - Do not make single-step plans.
57
+ - When you made a plan, update it after having performed one of the sub-tasks that you shared on the plan.
58
+
59
+ ## Codex CLI harness, sandboxing, and approvals
60
+
61
+ The Codex CLI harness supports several different configurations for sandboxing and escalation approvals that the user can choose from.
62
+
63
+ Filesystem sandboxing defines which files can be read or written. The options for \`sandbox_mode\` are:
64
+ - **read-only**: The sandbox only permits reading files.
65
+ - **workspace-write**: The sandbox permits reading files, and editing files in \`cwd\` and \`writable_roots\`. Editing files in other directories requires approval.
66
+ - **danger-full-access**: No filesystem sandboxing - all commands are permitted.
67
+
68
+ Network sandboxing defines whether network can be accessed without approval. Options for \`network_access\` are:
69
+ - **restricted**: Requires approval
70
+ - **enabled**: No approval needed
71
+
72
+ Approvals are your mechanism to get user consent to run shell commands without the sandbox. Possible configuration options for \`approval_policy\` are
73
+ - **untrusted**: The harness will escalate most commands for user approval, apart from a limited allowlist of safe "read" commands.
74
+ - **on-failure**: The harness will allow all commands to run in the sandbox (if enabled), and failures will be escalated to the user for approval to run again without the sandbox.
75
+ - **on-request**: Commands will be run in the sandbox by default, and you can specify in your tool call if you want to escalate a command to run without sandboxing. (Note that this mode is not always available. If it is, you'll see parameters for it in the \`shell\` command description.)
76
+ - **never**: This is a non-interactive mode where you may NEVER ask the user for approval to run commands. Instead, you must always persist and work around constraints to solve the task for the user. You MUST do your utmost best to finish the task and validate your work before yielding. If this mode is paired with \`danger-full-access\`, take advantage of it to deliver the best outcome for the user. Further, in this mode, your default testing philosophy is overridden: Even if you don't see local patterns for testing, you may add tests and scripts to validate your work. Just remove them before yielding.
77
+
78
+ When you are running with \`approval_policy == on-request\`, and sandboxing enabled, here are scenarios where you'll need to request approval:
79
+ - You need to run a command that writes to a directory that requires it (e.g. running tests that write to /var)
80
+ - You need to run a GUI app (e.g., open/xdg-open/osascript) to open browsers or files.
81
+ - You are running sandboxed and need to run a command that requires network access (e.g. installing packages)
82
+ - If you run a command that is important to solving the user's query, but it fails because of sandboxing, rerun the command with approval. ALWAYS proceed to use the \`sandbox_permissions\` and \`justification\` parameters - do not message the user before requesting approval for the command.
83
+ - You are about to take a potentially destructive action such as an \`rm\` or \`git reset\` that the user did not explicitly ask for
84
+ - (for all of these, you should weigh alternative paths that do not require approval)
85
+
86
+ When \`sandbox_mode\` is set to read-only, you'll need to request approval for any command that isn't a read.
87
+
88
+ You will be told what filesystem sandboxing, network sandboxing, and approval mode are active in a developer or user message. If you are not told about this, assume that you are running with workspace-write, network sandboxing enabled, and approval on-failure.
89
+
90
+ Although they introduce friction to the user because your work is paused until the user responds, you should leverage them when necessary to accomplish important work. If the completing the task requires escalated permissions, Do not let these settings or the sandbox deter you from attempting to accomplish the user's task unless it is set to "never", in which case never ask for approvals.
91
+
92
+ When requesting approval to execute a command that will require escalated privileges:
93
+ - Provide the \`sandbox_permissions\` parameter with the value \`"require_escalated"\`
94
+ - Include a short, 1 sentence explanation for why you need escalated permissions in the justification parameter
95
+
96
+ ## Special user requests
97
+
98
+ - If the user makes a simple request (such as asking for the time) which you can fulfill by running a terminal command (such as \`date\`), you should do so.
99
+ - If the user asks for a "review", default to a code review mindset: prioritise identifying bugs, risks, behavioural regressions, and missing tests. Findings must be the primary focus of the response - keep summaries or overviews brief and only after enumerating the issues. Present findings first (ordered by severity with file/line references), follow with open questions or assumptions, and offer a change-summary only as a secondary detail. If no findings are discovered, state that explicitly and mention any residual risks or testing gaps.
100
+
101
+ ## Frontend tasks
102
+ When doing frontend design tasks, avoid collapsing into "AI slop" or safe, average-looking layouts.
103
+ Aim for interfaces that feel intentional, bold, and a bit surprising.
104
+ - Typography: Use expressive, purposeful fonts and avoid default stacks (Inter, Roboto, Arial, system).
105
+ - Color & Look: Choose a clear visual direction; define CSS variables; avoid purple-on-white defaults. No purple bias or dark mode bias.
106
+ - Motion: Use a few meaningful animations (page-load, staggered reveals) instead of generic micro-motions.
107
+ - Background: Don't rely on flat, single-color backgrounds; use gradients, shapes, or subtle patterns to build atmosphere.
108
+ - Overall: Avoid boilerplate layouts and interchangeable UI patterns. Vary themes, type families, and visual languages across outputs.
109
+ - Ensure the page loads properly on both desktop and mobile
110
+
111
+ Exception: If working within an existing website or design system, preserve the established patterns, structure, and visual language.
112
+
113
+ ## Presenting your work and final message
114
+
115
+ You are producing plain text that will later be styled by the CLI. Follow these rules exactly. Formatting should make results easy to scan, but not feel mechanical. Use judgment to decide how much structure adds value.
116
+
117
+ - Default: be very concise; friendly coding teammate tone.
118
+ - Ask only when needed; suggest ideas; mirror the user's style.
119
+ - For substantial work, summarize clearly; follow final‑answer formatting.
120
+ - Skip heavy formatting for simple confirmations.
121
+ - Don't dump large files you've written; reference paths only.
122
+ - No "save/copy this file" - User is on the same machine.
123
+ - Offer logical next steps (tests, commits, build) briefly; add verify steps if you couldn't do something.
124
+ - For code changes:
125
+ * Lead with a quick explanation of the change, and then give more details on the context covering where and why a change was made. Do not start this explanation with "summary", just jump right in.
126
+ * If there are natural next steps the user may want to take, suggest them at the end of your response. Do not make suggestions if there are no natural next steps.
127
+ * When suggesting multiple options, use numeric lists for the suggestions so the user can quickly respond with a single number.
128
+ - The user does not command execution outputs. When asked to show the output of a command (e.g. \`git show\`), relay the important details in your answer or summarize the key lines so the user understands the result.
129
+
130
+ ### Final answer structure and style guidelines
131
+
132
+ - Plain text; CLI handles styling. Use structure only when it helps scanability.
133
+ - Headers: optional; short Title Case (1-3 words) wrapped in **…**; no blank line before the first bullet; add only if they truly help.
134
+ - Bullets: use - ; merge related points; keep to one line when possible; 4–6 per list ordered by importance; keep phrasing consistent.
135
+ - Monospace: backticks for commands/paths/env vars/code ids and inline examples; use for literal keyword bullets; never combine with **.
136
+ - Code samples or multi-line snippets should be wrapped in fenced code blocks; include an info string as often as possible.
137
+ - Structure: group related bullets; order sections general → specific → supporting; for subsections, start with a bolded keyword bullet, then items; match complexity to the task.
138
+ - Tone: collaborative, concise, factual; present tense, active voice; self‑contained; no "above/below"; parallel wording.
139
+ - Don'ts: no nested bullets/hierarchies; no ANSI codes; don't cram unrelated keywords; keep keyword lists short—wrap/reformat if long; avoid naming formatting styles in answers.
140
+ - Adaptation: code explanations → precise, structured with code refs; simple tasks → lead with outcome; big changes → logical walkthrough + rationale + next actions; casual one-offs → plain sentences, no headers/bullets.
141
+ - File References: When referencing files in your response follow the below rules:
142
+ * Use inline code to make file paths clickable.
143
+ * Each reference should have a stand alone path. Even if it's the same file.
144
+ * Accepted: absolute, workspace‑relative, a/ or b/ diff prefixes, or bare filename/suffix.
145
+ * Optionally include line/column (1‑based): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
146
+ * Do not use URIs like file://, vscode://, or https://.
147
+ * Do not provide range of lines
148
+ * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(83336),g=c(92143),h=c(20453),i=c(40415),j=c(28567),k=c(14423),l=c(97508),m=c(76506),n=c(52238);let o=/(^|[^\\])(\\\\)*\\[pP]\{/;function p(a,b={removed:0}){return function a(b,c){if(Array.isArray(b)){let d=!1,e=b.map(b=>{let e=a(b,c);return e!==b&&(d=!0),e});return d?e:b}if(!b||"object"!=typeof b)return b;let d=!1,e={};for(let[g,h]of Object.entries(b)){var f;if("pattern"===g&&"string"==typeof(f=h)&&o.test(f)){c.removed++,d=!0;continue}if("properties"===g&&h&&"object"==typeof h&&!Array.isArray(h)){let b=!1,f={};for(let[d,e]of Object.entries(h)){let g=a(e,c);g!==e&&(b=!0),f[d]=g}b&&(d=!0),e[g]=b?f:h;continue}let b=a(h,c);b!==h&&(d=!0),e[g]=b}return d?e:b}(a,b)}let q=["server_is_overloaded","service_unavailable_error"],r=["selected model is at capacity","model_at_capacity"],s=["event: response.output_text.delta","event: response.function_call_arguments.delta",'"type":"response.output_text.delta"','"type":"response.function_call_arguments.delta"'],t="Selected model is at capacity. Please try a different model.",u=/^(rs|fc|resp|msg)_/,v=new Set(["image_generation","web_search","web_search_preview","file_search","computer","computer_use_preview","code_interpreter","mcp","local_shell","tool_search"]),w=new Set(["custom"]),x=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","service_tier","include","prompt_cache_key","client_metadata","text"]);function y(a,b){let c=(0,k.k)("codex",a);return c?.includes(b)?b:"ultra"===b&&c?.includes("max")?"max":"max"===b||"ultra"===b?"xhigh":b}function z(a,b){return new Response(JSON.stringify({error:{message:b,type:a>=500?"server_error":"invalid_request_error",code:a===l.gx.SERVICE_UNAVAILABLE?"service_unavailable":"upstream_error"}}),{status:a,headers:{"Content-Type":"application/json"}})}class A 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||a?.providerSpecificData?.chatgptAccountId||a?.providerSpecificData?.accountId;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){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={...l.cI,...this.config.retry},{attempts:e,delayMs:f}=(0,l.DR)(d[503]),g=0;for(;;){let b=await super.execute(a),c=await this._peekSseTransientError(b.response);if(!c.matched)return c.replacementBody&&(b.response=new Response(c.replacementBody,{status:b.response.status,statusText:b.response.statusText,headers:b.response.headers})),b;if(c.accountFallback)return a.log?.warn?.("RETRY",`CODEX | SSE account fallback "${c.message}"`),b.response=z(l.gx.SERVICE_UNAVAILABLE,c.message||t),b;if(g>=e)return a.log?.warn?.("RETRY",`CODEX | SSE overloaded "${c.matched}" — retries exhausted (${g}/${e})`),b.response=z(l.gx.SERVICE_UNAVAILABLE,c.message||c.matched),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`),await new Promise(a=>setTimeout(a,f))}}async _peekSseTransientError(a){if(!a||!a.ok||!a.body)return{matched:null,message:null,accountFallback:!1,replacementBody:null};let b=a.body.getReader(),c=new TextDecoder,d=[],e="",f=null,g=!1;try{for(;e.length<262144;){let{done:a,value:h}=await b.read();if(a)break;d.push(h);let i=(e+=c.decode(h,{stream:!0})).toLowerCase(),j=r.find(a=>i.includes(a));if(j){f=j,g=!0;break}let k=q.find(a=>i.includes(a));if(k){f=k;break}if(s.some(a=>i.includes(a)))break}}catch(a){(0,m.s)("CODEX",`peek read error: ${a.message}`)}if(f){try{await b.cancel()}catch{}try{b.releaseLock()}catch{}return{matched:f,message:function(a,b){let c=a?.match(/Selected model is at capacity\. Please try a different model\./i)?.[0];if(c)return c;for(let b of String(a||"").split(/\r?\n/)){if(!b.startsWith("data:"))continue;let a=b.slice(5).trim();if(a&&"[DONE]"!==a)try{let b=function a(b,c=0){if(!b||c>6||"string"==typeof b)return null;if(Array.isArray(b)){for(let d of b){let b=a(d,c+1);if(b)return b}return null}if("object"!=typeof b)return null;if("string"==typeof b.message&&b.message.trim())return b.message;if("string"==typeof b.error?.message&&b.error.message.trim())return b.error.message;if("string"==typeof b.response?.error?.message&&b.response.error.message.trim())return b.response.error.message;for(let d of Object.values(b)){let b=a(d,c+1);if(b)return b}return null}(JSON.parse(a));if(b)return b}catch{}}return b||t}(e,f),accountFallback:g,replacementBody:null}}b.releaseLock();let h=a.body,i=null;return{matched:null,message:null,accountFallback:!1,replacementBody:new ReadableStream({start(a){for(let b of d)a.enqueue(b);i=h.getReader()},async pull(a){try{let{done:b,value:c}=await i.read();if(b)return void a.close();a.enqueue(c)}catch(b){a.error(b)}},cancel(a){try{i?.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.me)(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&&u.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&u.test(a.id)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools))return;let b=new Set,c={removed:0};if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let d="string"==typeof a.type?a.type:"";if("namespace"===d){if(Array.isArray(a.tools))for(let d of a.tools){let a="string"==typeof d?.name?d.name.trim().slice(0,128):"";a&&b.add(a),d?.parameters&&"object"==typeof d.parameters&&(d.parameters=p(d.parameters,c))}return!0}if("function"!==d)return!!w.has(d)||!!d&&!a.function&&"string"!=typeof a.name&&v.has(d);let e=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,f=("string"==typeof a.name?a.name:"string"==typeof e?.name?e.name:"").trim();if(!f)return!1;let g="string"==typeof a.description?a.description:"string"==typeof e?.description?e.description:"",h=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:e?.parameters&&"object"==typeof e.parameters&&!Array.isArray(e.parameters)?e.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=f.slice(0,128),g&&(a.description=g),a.parameters=p(h,c),b.add(f),!0}),c.removed>0&&(0,m.s)("CODEX",`stripped ${c.removed} unsupported tool schema pattern(s)`),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","minimal","low","medium","high","xhigh"])if(b.model.endsWith(`-${a}`)){g=a,b.model=b.model.replace(`-${a}`,"");break}if(b.reasoning)b.reasoning.effort=y(b.model,b.reasoning.effort),b.reasoning.summary||(b.reasoning.summary="auto");else{let a=y(b.model,b.reasoning_effort||g||"low");b.reasoning={effort:a,summary:"auto"}}for(let a of(delete b.reasoning_effort,b.reasoning&&b.reasoning.effort&&"none"!==b.reasoning.effort&&(b.include=["reasoning.encrypted_content"]),delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.max_completion_tokens,delete b.max_output_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,delete b.previous_response_id,"fast"===b.service_tier&&(b.service_tier="priority"),b.service_tier&&"priority"!==b.service_tier&&delete b.service_tier,Object.keys(b)))x.has(a)||delete b[a];return b}}},64081:(a,b,c)=>{c.d(b,{bf:()=>e,i7:()=>f,xr:()=>d});let d="EpwGCkYIChgCKkCzVUuRrg7CcglSUWEef4rH6o35g9UYS8ZPe0/VomQTBsFx6sttYNj5l8GqgW6ejuHyYqpFToxIbZl0bw17l5dJEgzCnqDO0Z8fRlMrNgsaDLS1cnCjC53KBqE0CCIwAADQdo1eO+7qPAmo8J4WR3JPmr92S97kmvr5K1iPMiOpkZNj8mEXW8uzBoOJs/9ZKoMFiqHJ3UObwaJDqFOW70E9oCwDoc6jesaWVAEdN5vWfKMpIkjFJjECdjIdkxyJNJ8Ib8yXVal3qwE7uThoPRqSZDdHB5mmwPEjWE/90cSYCbtX2YsJki1265CabBb8/QEkODXg4kgRrL+c8e8rRXz/dr1RswvaPuzEdGKHRNi9UooNUeOK4/ebx1KkP9YZttyohN9GWqlts36kOoW0Cfie/ABDgF9g534BPth/sstxDM6d79QlRmh6NxizyTF74DXJI34u0M4tTRchqE5pAq85SgdJaa+dix1yJPMji8m6nZkwJbscJb9rdc2MKyKWjz8QL2+rTSSuZ2F1k1qSsW0xNcI7qLcI12Vncfn/VqY6YOIZy/saZBR0ezXvN6g+UYbuIdyVg7AyIFZt3nbrO7/kmOEb2VKzygwklHGEIJHfFgMpH3JSrAzbZIowVHOF7VaJ+KXRFDCFin7hHTOiOsdg+1ij1mML9Z/x/9CP4b7OUcaQm1llDZPSHc6rZMNL3DdB+fW5YfmNgKU35S+7AMtA10nVILzDAk1UV4T2K9Do09JlI6rjOs9UuULlIN2Z0eE8YTlANR6uQcw7lMcdfqYE8tke4rDKc2dDiaS5vVe45VewICNpdXGN11yw8QqH7p27CR1HtN30e0tHXOR3bIwWk/Yb6O5fTaKG6Ri8e5ZCPvdD9HqepVi188nM0iTjJqL58F3ni04ECIhcbyaQWnuTes1Kw4CMwiZDLQkk8Hgz7HkUOf1btQTF/0nhD7ry0n0hAEg2PaDM3V6TjOjf4hEldRmeqERcQF1PfgKb6ZM12rlIIfUqKACczWJSzTV158+47HX36o0cgux6nFlv/DE+sEiRVxgB",e="EuwGCukGAXLI2nxwZIq54WWSoL/YN0P3TsDZ7zRnLi8g0S4aVr2HUGxvaHKySuY6HAVzcE0GPGjXrytLIldxthSvfxgUlJh6Qa9Z+Oj5QZBlYdg6HaJ6yuY5R7waE6rdwBsRf7Ft2j3DJ9rMi9qhWFqApewYtPhls3VHtuvND3l8Rm09+lbAXQs6KKWEWrxNLKTBkfpMgXhRERc/TQRMZu1twAablm6/Zk1tsYRvfWKLsNbeKF+CCojJdXJKvnR/8Ouuoa+Y2Ti20hcW7aZIIjZDFYPU//k6Ybmhg69J/imbFai2ckhfLaisqdDkdoIiBJScTOUvYqP6AE9d4MsydSC+UlhIMk4hoP76R8vUSCZRMkjOaDXstf/QoVZKbt94wyRZgAJ1G0BqI8L5ow86kLpA4wJEtxsRGymOE4bKUvApveBakYDNM9APkf+LbtbzWSseGjoZcSlycF9iN8Q2XNYKRrHbv3Lr5Y8JjdH/5y/6SHkNehTEZugaeGnSPSyCTWto1kQgHpxdWmhkLfJGNUGLmue7Mesj4TSms4J33mRpYVhNB/J333FCqIP0hr/E7BkkjEn7yZ4X7SQlh+xKPurapsnHRwiKmtsilmEFrnTE9iQr+pMr6M29qqFNv1tr5yumbaJw8JW9sB15tNsRv+dW6BjNanbsKz7HCgKUBc8tGy+7YuhXzAfViyRefcjK7eZW0Fbyt7AbybJTKz78W8NH7ye6LAwzOebXpeZ4D43fNIt8bKh26qgduSQv/7o+pAflkuqHZ99YWgHQ8h8OkZFi3eOiSYjsjhdZ/czWOdoPI/OnqIldzMPF5YlrKBLFX8VhRKVmqgsmWf5PHGulHhMkVlS+XG2UIseGy69ARa93D78Gsa+1n1kJr7EEB7Rh+27vUMxVYLdz1yMSvE5nalTAlg/ZeG8+XQ0cHuAI3KbQpHW2Q++RdXfm5JzD5WdJZUU+Zn8t8UUn85BH4RxZLeE0qJikgSsKoYVBc6YhiMjhPgkR95ReimY4Z0xCJdRo1gjexOFeODZMpQF6Yxnoic7IrdgsFA3iePTbFnPp3IAM1fAThWhXJUn3QInUOTd5o1qmTmn6REbL15g/JQNl+dqUoPkhleeb2V3kjqp1okmO3wMZbPknR3S1LZNmlS72/iBQUm+n2b/RCn4PjmM2",f="CiQBjz1rX/AlslZWMe5RgBt4Tv9j4+YNZTTez+JH2/+5oAlICygKXgGPPWtf7/Sux9eLYap/bmYAdPqFThLXj+l7o0DLu/hdgU98MA9ZrlRDNHXx+T0tuY8AcnjPZbiDyOq2bE11Fjhsk6p5axqayaapC/Pt9GczcgIQf1z15WTxCeKWAPYKYQGPPWtfDYj0nlNFNoTlU39RC91Z16xFKJ2MLEmkm+NvimsoOJ6be3g2BssNPtJ/9BKDXRA5cVs17tBeeW72lH8TMB5999udtxHM2SiUsnWsrHlfVuGSCpNQQ+5REw8HNvEKkgEBjz1rXzBNWrqZGbjun55K+vgYPBhJO2qZ67uRWXUA5/qcU12U/mbi5XoA3swoxYE8LEXfZvFFC9WG/W28QNCA0Qd4Trk/WkWiAwZmB8a84Fs14rkv3wqyxwFavPkJorqurAfd2XzGiFy0sB0ITCOPYi1HzDGV5WfXk6b9k+jT66/RuzGa8EcSOWo/QtC3Bkhgowo4AY89a1/f/tw8A02zjIoK7JVDAbf8W4UfmbApJJhwXIiGtu1M0JItObx7g2reYqT+HHL2Q/R4VDc="},65205:(a,b,c)=>{c.d(b,{M:()=>e});var d=c(97508);function e(a,b=d.Uc){let c=a.max_tokens||d.Uc;return a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&c<d.eo&&(c=d.eo),a.thinking?.budget_tokens&&c<=a.thinking.budget_tokens&&(c=a.thinking.budget_tokens+1024),c>b&&(c=b),c}},67349:(a,b,c)=>{c.d(b,{v:()=>t});var d=c(9546),e=c(74258),f=c(23879),g=c(28217),h=c(55458),i=c(26466),j=c(32973);function k(a,b,c){a.reasoningId||(a.reasoningId=`rs_${a.responseId}_${c}`,a.reasoningIndex=c,b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:a.reasoningId,type:j.Du.REASONING,summary:[]}}),b("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:a.reasoningId,output_index:c,summary_index:0,part:{type:j.Du.SUMMARY_TEXT,text:""}}),a.reasoningPartAdded=!0)}function l(a,b,c){c&&(a.reasoningBuf+=c,b("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,delta:c}))}function m(a,b){a.reasoningId&&!a.reasoningDone&&(a.reasoningDone=!0,b("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,text:a.reasoningBuf}),b("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,part:{type:j.Du.SUMMARY_TEXT,text:a.reasoningBuf}}),b("response.output_item.done",{type:"response.output_item.done",output_index:a.reasoningIndex,item:{id:a.reasoningId,type:j.Du.REASONING,summary:[{type:j.Du.SUMMARY_TEXT,text:a.reasoningBuf}]}}))}function n(a,b,c){if(a.msgItemAdded[c]&&!a.msgItemDone[c]){a.msgItemDone[c]=!0;let d=a.msgTextBuf[c]||"",e=`msg_${a.responseId}_${c}`;b("response.output_text.done",{type:"response.output_text.done",item_id:e,output_index:parseInt(c),content_index:0,text:d,logprobs:[]}),b("response.content_part.done",{type:"response.content_part.done",item_id:e,output_index:parseInt(c),content_index:0,part:{type:j.Du.OUTPUT_TEXT,annotations:[],logprobs:[],text:d}}),b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:e,type:j.Du.MESSAGE,content:[{type:j.Du.OUTPUT_TEXT,annotations:[],logprobs:[],text:d}],role:j.z7.ASSISTANT}})}}function o(a,b){return!!b&&a.customToolNames?.has(b)}function p(a){if("string"!=typeof a)return"";try{let b=JSON.parse(a);if(b&&"object"==typeof b&&"string"==typeof b.input)return b.input}catch{}return a}function q(a,b,c){let d=a.funcCallIds[c];if(d&&!a.funcItemDone[c]){let e=a.funcArgsBuf[c]||"{}",f=o(a,a.funcNames[c]);if(f){let a=p(e);b("response.custom_tool_call_input.delta",{type:"response.custom_tool_call_input.delta",item_id:`ctc_${d}`,output_index:parseInt(c),delta:a}),b("response.custom_tool_call_input.done",{type:"response.custom_tool_call_input.done",item_id:`ctc_${d}`,output_index:parseInt(c),input:a})}else b("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:`fc_${d}`,output_index:parseInt(c),arguments:e});b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:`${f?"ctc":"fc"}_${d}`,type:f?j.Du.CUSTOM_TOOL_CALL:j.Du.FUNCTION_CALL,...f?{input:p(e)}:{arguments:e},call_id:d,name:a.funcNames[c]||""}}),a.funcItemDone[c]=!0,a.funcArgsDone[c]=!0}}function r(a,b){a.completedSent||(a.completedSent=!0,b("response.completed",{type:"response.completed",response:{id:a.responseId,object:"response",created_at:a.created,status:"completed",background:!1,error:null}}))}function s(a){return a.toolCallIndex>0||a.currentToolCallId?j.bC.TOOL_CALLS:j.bC.STOP}function t(a,b){if(!a){if(b.finishReasonSent||!b.started)return null;let a=s(b);b.finishReasonSent=!0,b.finishReason=a;let c=(0,f.k)({id:b.chatId||`chatcmpl-${Date.now()}`,created:b.created||Math.floor(Date.now()/1e3),model:b.model||j.rP},{},a);return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}let c=a.type||a.event,d=a.data||a;if(b.started||(b.started=!0,b.chatId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.toolCallIndex=0,b.currentToolCallId=null,b.respToolChatIndex??=new Map,b.respToolArgsEmitted??=new Set),"response.output_text.delta"===c){let a=d.delta||"";return a?(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{content:a}):null}if("response.output_text.done"===c)return null;if("response.output_item.added"===c&&(d.item?.type===j.Du.FUNCTION_CALL||d.item?.type==="custom_tool_call")){let a,c=d.item;b.currentToolCallId=c.call_id||(0,h.eG)(),b.respToolChatIndex??=new Map;let e=c.id||d.item_id||b.currentToolCallId;return e&&b.respToolChatIndex.has(e)?a=b.respToolChatIndex.get(e):(a=b.toolCallIndex++,e&&b.respToolChatIndex.set(e,a)),(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{tool_calls:[{index:a,id:b.currentToolCallId,type:j.x4.FUNCTION,function:{name:c.name||"",arguments:""}}]})}if("response.function_call_arguments.delta"===c||"response.custom_tool_call_input.delta"===c){let a=d.delta||"";if(!a)return null;let c=(d.item_id?b.respToolChatIndex?.get(d.item_id):void 0)??Math.max(0,(b.toolCallIndex||1)-1);return b.respToolArgsEmitted??=new Set,b.respToolArgsEmitted.add(c),(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{tool_calls:[{index:c,function:{arguments:a}}]})}if("response.output_item.done"===c&&(d.item?.type===j.Du.FUNCTION_CALL||d.item?.type==="custom_tool_call")){let a=d.item?.id||d.item_id,c=(a&&b.respToolChatIndex?.get(a))??Math.max(0,(b.toolCallIndex||1)-1),e=d.item?.arguments;return"string"==typeof e&&e&&(b.respToolArgsEmitted??=new Set,!b.respToolArgsEmitted.has(c))?(b.respToolArgsEmitted.add(c),(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{tool_calls:[{index:c,function:{arguments:e}}]})):null}if("response.completed"===c||"response.done"===c){let a=d.response?.usage;if(a&&"object"==typeof a){let c=a.input_tokens||a.prompt_tokens||0,d=a.output_tokens||a.completion_tokens||0,e=a.input_tokens_details?.cached_tokens||a.cache_read_input_tokens||0;b.usage=(0,g.c)({promptTokens:c,completionTokens:d,totalTokens:c+d,cachedTokens:e})}if(!b.finishReasonSent){let a=s(b);b.finishReasonSent=!0,b.finishReason=a;let c=(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{},a);return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}return null}if("error"===c||"response.failed"===c){if(b.finishReasonSent)return null;let a=d.error||d.response?.error;return a?(b.error=a,b.finishReasonSent=!0,(0,f.k)({id:b.chatId||`chatcmpl-${Date.now()}`,created:b.created||Math.floor(Date.now()/1e3),model:b.model||j.rP},{content:`[Error] ${a.message||JSON.stringify(a)}`},j.bC.STOP)):null}if("response.reasoning_summary_text.delta"===c){let a=d.delta||"";return a?(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},(0,i.B)(a)):null}return null}(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,null,function(a,b){if(!a){var c=b;if(c.completedSent)return[];let a=[],d=(b,d)=>{d.sequence_number=++c.seq,a.push({event:b,data:d})};for(let a in c.msgItemAdded)n(c,d,a);for(let a in m(c,d),c.funcCallIds)q(c,d,a);return r(c,d),a}if(!a.choices?.length)return[];let d=[],e=(a,c)=>{c.sequence_number=++b.seq,d.push({event:a,data:c})},f=a.choices[0],g=f.index||0,h=f.delta||{};b.started||(b.started=!0,b.responseId=a.id?`resp_${a.id}`:b.responseId,e("response.created",{type:"response.created",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress",background:!1,error:null,output:[]}}),e("response.in_progress",{type:"response.in_progress",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress"}}));let p=(0,i.V)(h);if(p&&(k(b,e,g),l(b,e,p)),h.content){let a=h.content;if(a.includes("<think>")&&(b.inThinking=!0,a=a.replace("<think>",""),k(b,e,g)),a.includes("</think>")){let c=a.split("</think>"),d=c[0],f=c.slice(1).join("</think>");d&&l(b,e,d),m(b,e),b.inThinking=!1,a=f}if(b.inThinking&&a)return l(b,e,a),d;a&&function(a,b,c,d){if(!a.msgItemAdded[c]){a.msgItemAdded[c]=!0;let d=`msg_${a.responseId}_${c}`;b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:d,type:j.Du.MESSAGE,content:[],role:j.z7.ASSISTANT}})}a.msgContentAdded[c]||(a.msgContentAdded[c]=!0,b("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,part:{type:j.Du.OUTPUT_TEXT,annotations:[],logprobs:[],text:""}})),b("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,delta:d,logprobs:[]}),a.msgTextBuf[c]||(a.msgTextBuf[c]=""),a.msgTextBuf[c]+=d}(b,e,g,a)}if(h.tool_calls&&h.tool_calls.length)for(let a of(n(b,e,g),h.tool_calls))!function(a,b,c){let d=c.index??0,e=c.id,f=c.function?.name;f&&(a.funcNames[d]=f),e&&(a.funcCallIds[d]=e);let g=a.funcCallIds[d];if(!a.funcItemAdded[d]&&g&&a.funcNames[d]){a.funcItemAdded[d]=!0;let c=o(a,a.funcNames[d]);b("response.output_item.added",{type:"response.output_item.added",output_index:d,item:{id:`${c?"ctc":"fc"}_${g}`,type:c?j.Du.CUSTOM_TOOL_CALL:j.Du.FUNCTION_CALL,...c?{input:""}:{arguments:""},call_id:g,name:a.funcNames[d]||""}})}if(a.funcArgsBuf[d]||(a.funcArgsBuf[d]=""),c.function?.arguments){let f=a.funcCallIds[d]||e;a.funcItemAdded[d]&&f&&!o(a,a.funcNames[d])&&b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:`fc_${f}`,output_index:d,delta:c.function.arguments}),a.funcArgsBuf[d]+=c.function.arguments}}(b,e,a);if(f.finish_reason){for(let a in b.msgItemAdded)n(b,e,a);for(let a in m(b,e),b.funcCallIds)q(b,e,a);r(b,e)}return d}),(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,null,t)},67494:(a,b,c)=>{c.d(b,{m$:()=>o});var d=c(9546),e=c(74258),f=c(64081),g=c(55219),h=c(2366),i=c(52706),j=c(52238),k=c(32973);function l(){return crypto.randomUUID()}function m(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}function n(a,b,c,d=f.bf,e=null){let g={model:a,contents:[],generationConfig:{},safetySettings:i.fc};void 0!==b.temperature&&(g.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(g.generationConfig.topP=b.top_p),void 0!==b.top_k&&(g.generationConfig.topK=b.top_k),void 0!==b.max_tokens&&(g.generationConfig.maxOutputTokens=b.max_tokens);let j={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if(a.role===k.z7.ASSISTANT&&a.tool_calls)for(let b of a.tool_calls)b.type===k.x4.FUNCTION&&b.id&&b.function?.name&&(j[b.id]=b.function.name)}let l={};if(b.messages&&Array.isArray(b.messages))for(let a of b.messages)a.role===k.z7.TOOL&&a.tool_call_id&&(l[a.tool_call_id]=a.content);if(b.messages&&Array.isArray(b.messages))for(let c=0;c<b.messages.length;c++){let f=b.messages[c],n=f.role,o=f.content;if(n===k.z7.SYSTEM&&b.messages.length>1)g.systemInstruction={role:k.RV.USER,parts:[{text:"string"==typeof o?o:(0,i.kU)(o)}]};else if(n===k.z7.USER||n===k.z7.SYSTEM&&1===b.messages.length){let a=(0,i.S6)(o);a.length>0&&g.contents.push({role:k.RV.USER,parts:a})}else if(n===k.z7.ASSISTANT){let n=[];if(f.reasoning_content&&(n.push({thought:!0,text:f.reasoning_content}),n.push({thoughtSignature:d,text:""})),o){let a="string"==typeof o?o:(0,i.kU)(o);a&&n.push({text:a})}if(f.tool_calls&&Array.isArray(f.tool_calls)){let o=[],p=!1;for(let b of f.tool_calls){if(b.type!==k.x4.FUNCTION)continue;let c=(0,i.pT)(b.function?.arguments||"{}"),f=(b.id?(0,h.el)(b.id,e,a):null)||(p?void 0:d);p=!0;let g={functionCall:{id:b.id,name:m(b.function.name),args:c}};f&&(g.thoughtSignature=f),n.push(g),o.push(b.id)}n.length>0&&g.contents.push({role:k.RV.MODEL,parts:n});let q=c<b.messages.length-1;if(o.some(a=>void 0!==l[a])||q){let a=[];for(let b of o){let c=l[b];void 0===c&&(c="");let d=j[b];if(!d){let a=b.split("-");d=a.length>2?a.slice(0,-2).join("-"):b}let e=(0,i.pT)(c);null===e?e={result:c}:"object"!=typeof e&&(e={result:e}),a.push({functionResponse:{id:b,name:m(d),response:{result:e}}})}a.length>0&&g.contents.push({role:k.RV.USER,parts:a})}}else n.length>0&&g.contents.push({role:k.RV.MODEL,parts:n})}}if(b.tools&&Array.isArray(b.tools)&&b.tools.length>0){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,i.Yr)(structuredClone(c.input_schema||{type:"object",properties:{}}));a.push({name:m(c.name),description:c.description||"",parameters:b})}else if(c.type===k.x4.FUNCTION&&c.function){let b=c.function,d=(0,i.Yr)(structuredClone(b.parameters||{type:"object",properties:{}}));a.push({name:m(b.name),description:b.description||"",parameters:d})}a.length>0&&(g.tools=[{functionDeclarations:a}])}return g.contents=(0,i.$J)(g.contents),g}function o(a,b,c,d=null){return n(a,b,c,f.bf,d?._clientSessionId)}(0,d.kz)(e.h.OPENAI,e.h.GEMINI,o,null),(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,function(a,b,c,d=null){if(a.toLowerCase().includes("claude")){let e=(0,g.C)(a,b,c);return function(a,b,c=null,d=f.bf){let e={project:c?.projectId||(0,i.w_)(),model:a,userAgent:"antigravity",requestId:`agent-${l()}`,request:{sessionId:(0,j.E9)(c?._clientSessionId)||(0,j.RF)(c?.email||c?.connectionId),contents:[],generationConfig:{temperature:b.temperature||1,maxOutputTokens:b.max_tokens||4096}}},g={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if(Array.isArray(a.content))for(let b of a.content)b.type===k.R4.TOOL_USE&&b.id&&b.name&&(g[b.id]=b.name)}if(b.messages&&Array.isArray(b.messages))for(let f of b.messages){let b=[];if(Array.isArray(f.content)){let e=!1;for(let j of f.content)if(j.type===k.R4.TEXT)b.push({text:j.text});else if(j.type===k.R4.TOOL_USE){let f=(j.id?(0,h.el)(j.id,c?._clientSessionId,a):null)||(e?void 0:d);e=!0;let g={functionCall:{id:j.id,name:m(j.name),args:j.input||{}}};f&&(g.thoughtSignature=f),b.push(g)}else if(j.type===k.R4.TOOL_RESULT){let a=j.content;Array.isArray(a)&&(a=a.map(a=>a.type===k.R4.TEXT?a.text:JSON.stringify(a)).join("\n"));let c=g[j.tool_use_id]?m(g[j.tool_use_id]):"tool";b.push({functionResponse:{id:j.tool_use_id,name:c,response:{result:(0,i.pT)(a)||a}}})}}else"string"==typeof f.content&&b.push({text:f.content});b.length>0&&e.request.contents.push({role:f.role===k.z7.ASSISTANT?k.RV.MODEL:k.RV.USER,parts:b})}if(b.tools&&Array.isArray(b.tools)){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,i.Yr)(c.input_schema);a.push({name:m(c.name),description:c.description||"",parameters:b})}a.length>0&&(e.request.tools=[{functionDeclarations:a}],e.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}})}let n=[];if(b.system)if(Array.isArray(b.system))for(let a of b.system)a.text&&n.push({text:a.text});else"string"==typeof b.system&&n.push({text:b.system});return n.length>0&&(e.request.systemInstruction={role:k.RV.USER,parts:n}),e.request.contents=(0,i.$J)(e.request.contents),e}(a,e,d)}let e=function(a,b,c,d=null){let e=n(a,b,c,f.i7,d?._clientSessionId);if(e.tools?.[0]?.functionDeclarations){for(let a of e.tools[0].functionDeclarations)if(a.parameters){let b=(0,i.Yr)(a.parameters);a.parameters=b}}return e}(a,b,c);return function(a,b,c=null){let d={project:c?.projectId||(0,i.w_)(),model:a,userAgent:"antigravity",requestId:`agent-${l()}`,request:{sessionId:(0,j.E9)(c?._clientSessionId)||(0,j.RF)(c?.email||c?.connectionId),contents:b.contents,systemInstruction:b.systemInstruction,generationConfig:b.generationConfig,tools:b.tools}};return b.tools?.length>0&&(d.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}}),d}(a,e,d)},null)},75428:(a,b,c)=>{c.d(b,{J5:()=>d,MT:()=>e,Xc:()=>g,Yv:()=>f});let d=0xa00000,e=1e4,f=[{sig:[137,80,78,71],offset:0,mime:"image/png"},{sig:[255,216,255],offset:0,mime:"image/jpeg"},{sig:[71,73,70,56],offset:0,mime:"image/gif"},{sig:[82,73,70,70],offset:0,mime:"image/webp",verifyWebp:!0},{sig:[66,77],offset:0,mime:"image/bmp"}],g=new Set(["localhost","127.0.0.1","0.0.0.0","::1","169.254.169.254","metadata.google.internal"])},76978:(a,b,c)=>{c.d(b,{j9:()=>N});var d=c(55511),e=c.n(d),f=c(45941),g=c(83336),h=c(97508),i=c(14423),j=c(85628),k=c(52238),l=c(66016),m=c(13385),n=c(20453);let o=new Map;function p(a){let b=Math.max(1,Math.ceil(a/1e3));if(b<60)return`${b}s`;let c=Math.floor(b/60);return c<60?`${c}m ${b%60}s`:`${Math.floor(c/60)}h ${c%60}m`}let q="opencode-free",r="x-opencode-session",s="_opencodeSession",t="_opencodeRequest",u=/^ses_[0-9a-f]{12}[0-9A-Za-z]{14}$/,v=/^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$/,w="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",x=[{type:"function",function:{name:"bash",description:"This tool is currently unavailable and must not be used.",parameters:{type:"object",properties:{}}}},{type:"function",function:{name:"read",description:"This tool is currently unavailable and must not be used.",parameters:{type:"object",properties:{}}}}],y=[{type:"function",name:"bash",description:"This tool is currently unavailable and must not be used.",parameters:{type:"object",properties:{}}},{type:"function",name:"read",description:"This tool is currently unavailable and must not be used.",parameters:{type:"object",properties:{}}}];function z(a,b){if(a&&"object"==typeof a)if(b){Array.isArray(a.tools)||(a.tools=[]);let b=new Set(a.tools.map(a=>a.name||a.function?.name));for(let c of y)b.has(c.name)||a.tools.push({...c});a.tool_choice||(a.tool_choice="auto")}else if(Array.isArray(a.tools)&&a.tools.length>0){let b=new Set(a.tools.map(a=>a.function?.name||a.name));for(let c of x)b.has(c.function.name)||a.tools.push({...c,function:{...c.function}})}else a.tools=x.map(a=>({...a,function:{...a.function}})),a.tool_choice||(a.tool_choice="none")}let A=new Set(["muse-spark-1.2-contributor-free","muse-spark-1.3-contributor-free"]),B=new Set(["union-alpha"]),C=0,D=0;function E(){let a=e().randomBytes(14),b="";for(let c=0;c<14;c++)b+=w[a[c]%62];return b}function F(a=Date.now()){let b=4096n*BigInt(a)+1n,c=Array.from({length:6},(a,c)=>Number(b>>BigInt(40-8*c)&255n).toString(16).padStart(2,"0")).join("");return`msg_${c}${E()}`}function G(a,b=""){if("string"==typeof a&&u.test(a.trim()))return a.trim();let c=e().createHash("sha256").update(`opencode\0${b||"generic"}\0${a||""}`).digest(),d=c.subarray(0,6).toString("hex"),f="";for(let a=6;a<20;a++)f+=w[c[a]%62];return`ses_${d}${f}`}function H(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}let I=new Map,J=setInterval(()=>{let a=Date.now();for(let[b,c]of I)a-c.lastUsed>h.v1.sessionTtlMs&&I.delete(b)},h.v1.sessionCleanupIntervalMs);function K(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:v.test(b)?b:null}function L(a){return String(a||"").replace(/\([^()]+\)\s*$/,"").trim()}function M(a){let b=L(a);return A.has(b)||(0,l.nh)(b)}J.unref&&J.unref();class N extends f.H{constructor(){super("opencode",g.xq.opencode)}prepareRequestCredentials({body:a,credentials:b,providerSessionId:c,clientTool:d}={}){let f=b||{},g=function(a,b,c,d){let f=b?.rawHeaders||{},g=function(a){if(!a||"object"!=typeof a)return null;for(let[b,c]of Object.entries(a))if(b.toLowerCase()===r){let a=H(c);if(a&&u.test(a))return a}return null}(f);if(g)return g;let h=null;for(let[a,b]of Object.entries(f))if(a.toLowerCase()===r){h=H(b);break}let i=h||H(c);if(i)return G(i,d);if(b?.connectionId||function(a){try{if(!a||"object"!=typeof a)return!1;if("string"==typeof a.session_id&&a.session_id.trim()||"string"==typeof a.conversation_id&&a.conversation_id.trim()||"string"==typeof a.prompt_cache_key&&a.prompt_cache_key.trim()||a.metadata&&"string"==typeof a.metadata.user_id&&a.metadata.user_id.trim()||a.request&&null!=a.request.sessionId&&""!==String(a.request.sessionId))return!0;let b=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(b){let a="";for(let c of b)if(c?.role==="assistant"){let b=c.content;if("string"==typeof b)a+=b;else if(Array.isArray(b))for(let c of b)a+=c?.text||c?.output||"";if(a.length>=50)return!0}}return!1}catch{return!1}}(a)){let c=null;try{c=(0,k.oV)({headers:f,body:a,connectionId:b?.connectionId,scope:"opencode"})}catch{c=null}if(c)return G(c,d)}let j=function(a){let b=a?.connectionId||a?.id;if(b)return`opencode:conn:${String(b).slice(0,128)}`;let c=a?.rawHeaders||{},d=c.authorization||c.Authorization||c["x-api-key"]||c["X-Api-Key"]||"";if(d){let a=e().createHash("sha256").update(String(d)).digest("hex").slice(0,32);return`opencode:auth:${a}`}return"opencode:default"}(b),l=I.get(j);if(l)return l.lastUsed=Date.now(),I.delete(j),I.set(j,l),l.sessionId;let m=function(a=Date.now()){a!==C&&(C=a,D=0),D++;let b=~(4096n*BigInt(a)+BigInt(D)),c=Array.from({length:6},(a,c)=>Number(b>>BigInt(40-8*c)&255n).toString(16).padStart(2,"0")).join("");return`ses_${c}${E()}`}();return I.size>=1e3&&I.delete(I.keys().next().value),I.set(j,{sessionId:m,lastUsed:Date.now()}),m}(a,f,c,d);return{...f,[s]:g,[t]:function(a,b,c){for(let[a,c]of Object.entries(b?.rawHeaders||{}))if("x-opencode-request"===a.toLowerCase()){let a=K(c);if(a)return a;break}return function(a,b){let c=function(a){try{if(!a||"object"!=typeof a)return"";let b=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!b)return"string"==typeof a.input?a.input.slice(-600):"";for(let a=b.length-1;a>=0;a--){let c=b[a];if(!c||c.role&&"user"!==c.role)continue;let d=c.content;if("string"==typeof d&&d.trim())return d.trim().slice(-600);if(Array.isArray(d)){let a=d.map(a=>"string"==typeof a?a:a?.text||a?.input_text||"").join(" ").trim();if(a)return a.slice(-600)}}}catch{}return""}(b);if(!c)return F();let d=e().createHash("sha256").update(`opencode-req\0${a||""}\0${c}`).digest(),f=d.subarray(0,6).toString("hex"),g="";for(let a=6;a<20;a++)g+=w[d[a]%62];let h=`msg_${f}${g}`;return v.test(h)?h:F()}(c,a)}(a,f,g)}}transformRequest(a,b,c,d){if(b&&"object"==typeof b&&a&&!b.model&&(b.model=a),b&&"object"==typeof b&&(b.stream=!0),M(a||b?.model)&&b&&"object"==typeof b){"tool_choice"in b&&"auto"!==b.tool_choice&&this.config.quirks?.forceAutoToolChoiceModels?.includes(L(a))&&(b.tool_choice="auto");let c=(0,n.me)(b.input);c&&(b.input=c),Array.isArray(b.input)&&0!==b.input.length||(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),void 0===b.max_output_tokens&&(void 0!==b.max_completion_tokens?b.max_output_tokens=b.max_completion_tokens:void 0!==b.max_tokens&&(b.max_output_tokens=b.max_tokens)),delete b.max_tokens,delete b.max_completion_tokens,function(a,b){let c=b.reasoning,d=c&&"object"==typeof c&&!Array.isArray(c)?c:null,e="string"==typeof b.reasoning_effort?b.reasoning_effort:d?.effort;if("string"!=typeof e)return;let f=L(a||b.model),g=(0,i.k)("opencode",f),h=e.toLowerCase().trim();("max"===h||"ultra"===h)&&g?.length&&!g.includes(h)&&("ultra"===h&&g.includes("max")?h="max":g.includes("xhigh")&&(h="xhigh")),b.reasoning={...d,effort:h},b.reasoning.summary||(b.reasoning.summary="auto"),delete b.reasoning_effort}(a,b),b.stream=!0,b.store=!1,function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,d=("string"==typeof a.name?a.name:"string"==typeof c?.name?c.name:"").trim();if(!d)return!1;let e="string"==typeof a.description?a.description:"string"==typeof c?.description?c.description:"",f=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:c?.parameters&&"object"==typeof c.parameters&&!Array.isArray(c.parameters)?c.parameters:{type:"object",properties:{}};for(let b of("object"!==f.type||f.properties||(f={...f,properties:{}}),Object.keys(a)))delete a[b];return a.type="function",a.name=d.slice(0,128),e&&(a.description=e),a.parameters=f,b.add(a.name),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(b),Array.isArray(b.input)&&(b.input=b.input.filter(a=>!!(!a||"object"!=typeof a||Array.isArray(a))||"reasoning"!==a.type&&((delete a.encrypted_content,delete a.reasoning_encrypted_content,"function_call"===a.type)?!!a.name&&"string"==typeof a.name&&""!==a.name.trim()&&(a.name=a.name.trim().slice(0,128),a.call_id=(0,n.N8)(a.call_id),a.arguments=(0,n.We)(a.arguments),!0):("function_call_output"===a.type&&(a.call_id=(0,n.N8)(a.call_id),a.output=(0,n.DP)(a.output)),!0)))),z(b,!0)}else b&&"object"==typeof b&&z(b,!1);return(0,j.Z)({provider:this.provider,model:a,body:b})}async execute(a){let b=function(a){let b=o.get(a);if(!b)return 0;let c=b-Date.now();return c<=0?(o.delete(a),0):c}(q);if(b>0){let c;return{response:(c=Math.max(1,Math.ceil(b/1e3)),new Response(JSON.stringify({type:"error",error:{type:"FreeUsageLimitError",message:`Rate limit exceeded. Please try again later. (local backoff, retry after ${p(b)})`},metadata:{}}),{status:429,headers:{"content-type":"application/json","retry-after":String(c)}})),url:this.buildUrl(a?.model),headers:{},transformedBody:a?.body}}let c=await super.execute({...a,credentials:this.prepareRequestCredentials(a)});if(c?.response?.status===429)o.set(q,Date.now()+3e4);else c?.response?.ok&&o.delete(q);return c}parseError(a,b){return function(a,b){try{if(!a||429!==a.status)return null;let c="",d="";try{let a=JSON.parse(b||"{}"),e=a?.error&&"object"==typeof a.error?a.error:null;c=e?.type||a?.type||"",d=e?.message||a?.message||""}catch{d=b||""}let e="string"==typeof d?d:JSON.stringify(d);if("FreeUsageLimitError"!==c&&!/rate limit/i.test(e))return null;let f=function(a){if(null==a||""===a)return null;let b=parseInt(String(a).trim(),10);if(!Number.isNaN(b)&&b>0&&String(b)===String(a).trim())return 1e3*b;let c=new Date(String(a).trim());if(!Number.isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}return null}(a.headers?.get?.("retry-after")),g=f?Date.now()+f:null,h=f?` (retry after ${p(f)})`:"";return{status:429,message:`OpenCode free-tier quota exhausted upstream${h}: ${e||"Rate limit exceeded"}`,resetsAtMs:g}}catch{return null}}(a,b)||super.parseError(a,b)}buildUrl(a){let b=this.config.baseUrl;return M(a)?`${b}/zen/v1/responses`:B.has(L(a))?`${b}/zen/v1/messages`:`${b}/zen/v1/chat/completions`}buildHeaders(a,b=!0,c=""){let d=a?.rawHeaders||{},e={};for(let[a,b]of Object.entries(d))e[a.toLowerCase()]=b;let f=e["user-agent"]||"",g=function(a){let b=String(a||"").match(/opencode\/(\d+)\.(\d+)(?:\.(\d+))?/i);if(!b)return!1;let c=parseInt(b[1],10),d=parseInt(b[2],10);return c>1||1===c&&d>=17}(f),h=a?.[s]||this.prepareRequestCredentials({credentials:a})[s],i=K(e["x-opencode-request"]),j=a?.[t]||i||F(),k={"Content-Type":"application/json",Authorization:"Bearer public","User-Agent":g?f:"opencode/1.18.31","x-opencode-client":e["x-opencode-client"]||"desktop","x-opencode-session":h,"x-opencode-request":j,"x-opencode-project":e["x-opencode-project"]||"global",Accept:b?"text/event-stream":"*/*"};return c.endsWith("/messages")&&(k["anthropic-version"]=m.b8),k}}},80564:(a,b,c)=>{c.d(b,{Rb:()=>h});var d=c(65895),e=c(38684);let f=new Set(["mimo-x-pro-preview","mimo-x-flash-preview"]),g="__mimoAccountCookie";class h extends d.L{constructor(){super("xiaomi-mimo")}static isPreviewModel(a){let b,c;return f.has((c=(b=String(a||"")).indexOf("/"))>=0?b.slice(c+1):b)}buildUrl(a,b,c=0,d=null){return h.isPreviewModel(a)?`${e.SE}/api/route/chat/completions`:super.buildUrl(a,b,c,d)}buildHeaders(a,b=!0,c,d){return h.isPreviewModel(d)&&a?.[g]?{"Content-Type":"application/json",Accept:b?"text/event-stream":"application/json","User-Agent":e.$6,Cookie:a[g]}:super.buildHeaders(a,b,c,d)}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);return h.isPreviewModel(a)&&(null==e.thinking&&(e.thinking={type:"enabled"}),null==e.temperature&&(e.temperature=1),null==e.top_p&&(e.top_p=.95),e.max_tokens||(e.max_tokens=4096)),e}async execute(a){let{model:b,credentials:c,proxyOptions:d=null}=a;if(!h.isPreviewModel(b))return super.execute(a);let f=await (0,e.Me)(c?.providerSpecificData,d);if(!f)throw Error("Xiaomi MiMo account session unavailable. Sign in to MiMo Desktop once so its passToken is present, then retry.");c[g]=f;let i=await super.execute(a);if(401===i.response.status){(0,e.Nv)();let b=await (0,e.Me)(c?.providerSpecificData,d).catch(()=>null);if(b)return c[g]=b,super.execute(a)}return i}}},82655:(a,b,c)=>{c.d(b,{t:()=>k});var d=c(9546),e=c(74258),f=c(65205),g=c(40415),h=c(32973),i=c(91793);function j(a){return"string"!=typeof a?"":a.replace(/^x-anthropic-billing-header:[^\n]*(?:\r?\n)?/i,"")}function k(a,b,c){let d={model:a,messages:[],stream:c};if(b.max_tokens&&(d.max_tokens=(0,f.M)(b)),void 0!==b.temperature&&(d.temperature=b.temperature),b.system){let a=Array.isArray(b.system)?b.system.map(a=>j(a.text||"")).filter(Boolean).join("\n"):j(b.system);a&&d.messages.push({role:h.z7.SYSTEM,content:a})}if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=function(a){if(a.content&&"object"==typeof a.content&&!Array.isArray(a.content)&&(a.content=[a.content]),a.role===h.z7.SYSTEM){var b;let c,d=(c=(Array.isArray(b=a.content)?b.filter(a=>a?.type===h.R4.TEXT).map(a=>a.text||""):["string"==typeof b?b:""]).filter(Boolean).join("\n")).trim()?`<instructions>
149
+ ${c}
150
+ </instructions>`:"";return d?{role:h.z7.USER,content:d}:null}let c=a.role===h.z7.USER||a.role===h.z7.TOOL?h.z7.USER:h.z7.ASSISTANT;if("string"==typeof a.content)return{role:c,content:a.content};if(Array.isArray(a.content)){let b=[],d=[],e=[];for(let c of a.content)switch(c.type){case h.R4.TEXT:b.push({type:h.x4.TEXT,text:c.text});break;case h.R4.IMAGE:c.source?.type==="base64"&&b.push({type:h.x4.IMAGE_URL,image_url:{url:(0,g.$q)(c.source.media_type,c.source.data)}});break;case h.R4.TOOL_USE:d.push({id:c.id,type:h.x4.FUNCTION,function:{name:c.name,arguments:JSON.stringify(c.input||{})}});break;case h.R4.TOOL_RESULT:{let a="",d=[];if("string"==typeof c.content)a=c.content;else if(Array.isArray(c.content)){for(let a of c.content)a?.type===h.R4.IMAGE&&a.source?.type==="base64"&&d.push({type:h.x4.IMAGE_URL,image_url:{url:(0,g.$q)(a.source.media_type,a.source.data)}});a=c.content.filter(a=>a?.type===h.R4.TEXT).map(a=>a.text).join("\n")||(d.length?"":JSON.stringify(c.content))}else c.content&&(a=JSON.stringify(c.content));e.push({role:h.z7.TOOL,tool_call_id:c.tool_use_id,content:a}),d.length&&(b.push({type:h.x4.TEXT,text:`[Image from tool result ${c.tool_use_id}]`}),b.push(...d))}}if(e.length>0)return b.length>0?[...e,{role:h.z7.USER,content:(0,i.z)(b)}]:e;if(d.length>0){let a={role:h.z7.ASSISTANT};return b.length>0&&(a.content=(0,i.z)(b)),a.tool_calls=d,a}if(b.length>0)return{role:c,content:(0,i.z)(b)};if(0===a.content.length)return{role:c,content:""}}return null}(b.messages[a]);c&&(Array.isArray(c)?d.messages.push(...c):d.messages.push(c))}return function(a){for(let b=0;b<a.length;b++){let c=a[b];if(c.role===h.z7.ASSISTANT&&c.tool_calls&&c.tool_calls.length>0){let d=c.tool_calls.map(a=>a.id),e=new Set,f=b+1;for(let c=b+1;c<a.length;c++){let b=a[c];if(b.role===h.z7.TOOL&&b.tool_call_id)e.add(b.tool_call_id),f=c+1;else break}let g=d.filter(a=>!e.has(a));if(g.length>0){let c=g.map(a=>({role:h.z7.TOOL,tool_call_id:a,content:"[No response received]"}));a.splice(f,0,...c),b=f+c.length-1}}}}(d.messages),b.tools&&Array.isArray(b.tools)&&(d.tools=b.tools.map(a=>({type:h.x4.FUNCTION,function:{name:a.name,description:String(a.description||""),parameters:a.input_schema||{type:"object",properties:{}}}}))),b.tool_choice&&(d.tool_choice=function(a){if(!a)return"auto";if("string"==typeof a)return a;switch(a.type){case"auto":default:return"auto";case"any":return"required";case"tool":return{type:h.x4.FUNCTION,function:{name:a.name}}}}(b.tool_choice)),void 0!==b.reasoning_effort?d.reasoning_effort=b.reasoning_effort:b.reasoning?.effort!==void 0&&(d.reasoning_effort=b.reasoning.effort),void 0!==b.reasoning&&(d.reasoning=b.reasoning),d}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,k,null)},91793:(a,b,c)=>{c.d(b,{z:()=>e});var d=c(32973);function e(a){return a.every(a=>a.type===d.x4.TEXT)?a.map(a=>a.text).join("\n"):a}}};