zevairouter 1.0.190 → 1.0.192

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 (782) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  3. package/cli/app/.next-cli-build/app-path-routes-manifest.json +9 -9
  4. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  5. package/cli/app/.next-cli-build/prerender-manifest.json +3 -3
  6. package/cli/app/.next-cli-build/required-server-files.json +2 -1
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js +2 -2
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js +2 -2
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +3 -3
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  35. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  36. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  37. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  38. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  39. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  40. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  41. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  42. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  43. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  44. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  45. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  46. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  47. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  48. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  49. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
  50. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  56. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  57. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  59. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  60. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  61. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  62. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  63. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  64. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  65. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  66. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  67. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
  68. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  69. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  70. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  71. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  72. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  73. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
  74. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  75. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  76. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js +3 -3
  77. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
  78. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  79. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  80. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  81. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  82. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  83. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  84. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  85. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  86. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  87. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  88. package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  89. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  90. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  91. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  92. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  93. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  94. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  95. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  96. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  97. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  98. package/cli/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  99. package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  100. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  101. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  102. package/cli/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  103. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  104. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  105. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  106. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  107. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  108. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  109. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  111. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  113. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  114. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  115. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  117. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  119. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  120. package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
  121. package/cli/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +3 -3
  123. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  125. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  129. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  130. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  132. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  135. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  137. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  138. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  139. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  140. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  142. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  143. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  145. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  146. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  147. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  148. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  149. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  151. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  153. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  155. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  159. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  160. package/cli/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  161. package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  162. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js +1 -1
  163. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
  164. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js +1 -1
  165. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
  166. package/cli/app/.next-cli-build/server/app/api/context/route.js +1 -1
  167. package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
  168. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js +1 -1
  169. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
  170. package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js +1 -1
  171. package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js.nft.json +1 -1
  172. package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js +1 -1
  173. package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js.nft.json +1 -1
  174. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  175. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  176. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  177. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/health/ready/route.js +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/health/ready/route.js.nft.json +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/init/route.js +1 -1
  188. package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  190. package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  199. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  200. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  202. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  203. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  204. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  205. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  207. package/cli/app/.next-cli-build/server/app/api/metrics/route.js +2 -2
  208. package/cli/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
  209. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  216. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  217. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  218. package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  219. package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  220. package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  221. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  222. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  223. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
  224. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  225. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  226. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  227. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
  228. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
  229. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
  231. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
  233. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  236. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
  241. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +1 -1
  244. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  247. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +1 -1
  248. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
  255. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js +1 -1
  256. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
  265. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  266. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  277. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js +1 -1
  278. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  279. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  280. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  281. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js +1 -1
  282. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js.nft.json +1 -1
  283. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js +1 -1
  284. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js.nft.json +1 -1
  285. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  286. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  287. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-token/route.js +1 -1
  288. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-token/route.js.nft.json +1 -1
  289. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  290. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  291. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  292. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +1 -1
  293. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  294. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  295. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  296. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js +1 -1
  297. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
  298. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js +1 -1
  299. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
  300. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js +1 -1
  301. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
  302. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  303. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  304. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  305. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  306. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  307. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js +1 -1
  308. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  309. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  310. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  311. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js +1 -1
  312. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
  313. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js +1 -1
  314. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
  315. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js +1 -1
  316. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
  317. package/cli/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  318. package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  319. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  320. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  321. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  322. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  323. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  324. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  325. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  326. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -51
  327. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  328. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  329. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  330. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  331. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  332. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js +1 -51
  333. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
  334. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  335. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  336. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  337. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  338. package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  339. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  340. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  341. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  342. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -51
  343. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  344. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  345. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  346. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  347. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  348. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
  349. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  350. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +1 -1
  351. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  352. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  353. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  354. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  355. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  356. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  357. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  358. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  359. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js +1 -1
  360. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  361. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  362. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
  363. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  364. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  365. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  366. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  367. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  368. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  369. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  370. package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  371. package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  372. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  373. package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  374. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js +1 -1
  375. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
  376. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js +1 -1
  377. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
  378. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js +1 -1
  379. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
  380. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
  381. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
  382. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
  383. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
  384. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
  385. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  386. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  387. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  388. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  389. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  390. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  391. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  392. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  393. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  394. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  395. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  396. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  397. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  398. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  399. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  400. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  401. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  402. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  403. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  404. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  405. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  406. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  407. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +3 -3
  408. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  409. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  410. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  411. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js +1 -1
  412. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
  413. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  414. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  415. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  416. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  417. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  418. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  419. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  420. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  421. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  422. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  423. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  424. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  425. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  426. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  427. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  428. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  429. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -51
  430. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  431. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -51
  432. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  433. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  434. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  435. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  436. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  437. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  438. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  439. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  440. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  441. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  442. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  443. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  444. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  445. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  446. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  447. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  448. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  449. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  450. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  451. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  452. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  453. package/cli/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  454. package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  455. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js +1 -51
  456. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  457. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -51
  458. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  459. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  460. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  461. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  462. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  463. package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  464. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  465. package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  466. package/cli/app/.next-cli-build/server/app/callback/page.js +2 -2
  467. package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  468. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  469. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  470. package/cli/app/.next-cli-build/server/app/callback.rsc +4 -4
  471. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  472. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  473. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  474. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  475. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  476. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  477. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  478. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +6 -6
  479. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  480. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  481. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  482. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  483. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +6 -6
  484. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  485. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +4 -4
  486. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +2 -2
  487. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  488. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  489. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  490. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  491. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  492. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  493. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  494. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  495. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  496. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  497. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  498. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  499. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  500. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  501. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  502. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  503. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  504. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  505. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  506. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  507. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  508. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  509. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  510. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  511. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  512. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  513. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  514. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  515. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  516. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  517. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  518. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +6 -6
  519. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  520. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  521. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  522. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  523. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +6 -6
  524. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  525. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +4 -4
  526. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +2 -2
  527. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  528. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  529. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  530. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  531. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  532. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  533. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  534. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  535. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  536. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  537. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  538. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  539. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  540. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  541. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  542. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  543. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  544. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  545. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  546. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  547. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  548. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  549. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  550. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  551. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  552. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  553. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  554. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  555. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  556. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  557. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  558. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  559. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +6 -6
  560. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
  561. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
  562. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  563. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  564. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +6 -6
  565. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
  566. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +4 -4
  567. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +2 -2
  568. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  569. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  570. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  571. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  572. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  573. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  574. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  575. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  576. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  577. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  578. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  579. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  580. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  581. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  582. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  583. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  584. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  585. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  586. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  587. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  588. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  589. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  590. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  591. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  592. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  593. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  594. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  595. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  596. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  597. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  598. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  599. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  600. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  601. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  602. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  603. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  604. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  605. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  606. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  607. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  608. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  609. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  610. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
  611. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  612. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  613. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  614. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  615. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
  616. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  617. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +4 -4
  618. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  619. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  620. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  621. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  622. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  623. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  624. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  625. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  626. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  627. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  628. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  629. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  630. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  631. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  632. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
  633. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
  634. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  635. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  636. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  637. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  638. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  639. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  640. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  641. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  642. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  643. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  644. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  645. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  646. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  647. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  648. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  649. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  650. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  651. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  652. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  653. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  654. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  655. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  656. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  657. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  658. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  659. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  660. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  661. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  662. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  663. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  664. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  665. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  666. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  667. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  668. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  669. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  670. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  671. package/cli/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  672. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  673. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  674. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  675. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  676. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  677. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  678. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  679. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  680. package/cli/app/.next-cli-build/server/app/index.rsc +4 -4
  681. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  682. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  683. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  684. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  685. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  686. package/cli/app/.next-cli-build/server/app/landing/page.js +2 -2
  687. package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  688. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  689. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  690. package/cli/app/.next-cli-build/server/app/landing.rsc +5 -5
  691. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  692. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  693. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  694. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  695. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  696. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  697. package/cli/app/.next-cli-build/server/app/login/page.js +2 -2
  698. package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  699. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  700. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  701. package/cli/app/.next-cli-build/server/app/login.rsc +5 -5
  702. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  703. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  704. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  705. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  706. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  707. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  708. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  709. package/cli/app/.next-cli-build/server/app/page.js +2 -2
  710. package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  711. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  712. package/cli/app/.next-cli-build/server/app-paths-manifest.json +9 -9
  713. package/cli/app/.next-cli-build/server/chunks/1051.js +1 -1
  714. package/cli/app/.next-cli-build/server/chunks/1131.js +1 -0
  715. package/cli/app/.next-cli-build/server/chunks/1350.js +1 -1
  716. package/cli/app/.next-cli-build/server/chunks/1998.js +1 -1
  717. package/cli/app/.next-cli-build/server/chunks/2760.js +1 -0
  718. package/cli/app/.next-cli-build/server/chunks/3675.js +1 -0
  719. package/cli/app/.next-cli-build/server/chunks/3696.js +1 -0
  720. package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
  721. package/cli/app/.next-cli-build/server/chunks/3999.js +24 -0
  722. package/cli/app/.next-cli-build/server/chunks/4404.js +1 -1
  723. package/cli/app/.next-cli-build/server/chunks/4566.js +1 -1
  724. package/cli/app/.next-cli-build/server/chunks/4621.js +45 -0
  725. package/cli/app/.next-cli-build/server/chunks/4720.js +1 -1
  726. package/cli/app/.next-cli-build/server/chunks/{8242.js → 4721.js} +2 -2
  727. package/cli/app/.next-cli-build/server/chunks/4803.js +1 -0
  728. package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
  729. package/cli/app/.next-cli-build/server/chunks/5295.js +51 -0
  730. package/cli/app/.next-cli-build/server/chunks/5307.js +1 -1
  731. package/cli/app/.next-cli-build/server/chunks/{318.js → 5330.js} +3 -3
  732. package/cli/app/.next-cli-build/server/chunks/5436.js +1 -1
  733. package/cli/app/.next-cli-build/server/chunks/5470.js +1 -1
  734. package/cli/app/.next-cli-build/server/chunks/5800.js +1 -0
  735. package/cli/app/.next-cli-build/server/chunks/5846.js +1 -0
  736. package/cli/app/.next-cli-build/server/chunks/6103.js +1 -0
  737. package/cli/app/.next-cli-build/server/chunks/6252.js +1 -0
  738. package/cli/app/.next-cli-build/server/chunks/6492.js +1 -0
  739. package/cli/app/.next-cli-build/server/chunks/7239.js +1 -1
  740. package/cli/app/.next-cli-build/server/chunks/7250.js +1 -0
  741. package/cli/app/.next-cli-build/server/chunks/{3155.js → 7276.js} +2 -52
  742. package/cli/app/.next-cli-build/server/chunks/7319.js +471 -0
  743. package/cli/app/.next-cli-build/server/chunks/7464.js +1 -0
  744. package/cli/app/.next-cli-build/server/chunks/7688.js +4 -0
  745. package/cli/app/.next-cli-build/server/chunks/7726.js +1 -0
  746. package/cli/app/.next-cli-build/server/chunks/8062.js +1 -0
  747. package/cli/app/.next-cli-build/server/chunks/8255.js +1 -1
  748. package/cli/app/.next-cli-build/server/chunks/8274.js +1 -0
  749. package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
  750. package/cli/app/.next-cli-build/server/chunks/8469.js +1 -0
  751. package/cli/app/.next-cli-build/server/chunks/8666.js +1 -0
  752. package/cli/app/.next-cli-build/server/chunks/8895.js +6 -6
  753. package/cli/app/.next-cli-build/server/chunks/891.js +1 -1
  754. package/cli/app/.next-cli-build/server/chunks/9048.js +1 -1
  755. package/cli/app/.next-cli-build/server/chunks/9489.js +1 -1
  756. package/cli/app/.next-cli-build/server/instrumentation.js +1 -0
  757. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  758. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  759. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  760. package/cli/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  761. package/cli/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  762. package/cli/app/.next-cli-build/static/chunks/620-249977f9b2e0b7fa.js +1 -0
  763. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-e5efdecc55c42601.js → page-5482865f680033fb.js} +2 -2
  764. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-2b460c956a7f0a30.js +1 -0
  765. package/cli/app/.next-cli-build/static/css/da8bb26878f01d92.css +1 -0
  766. package/cli/app/CHANGELOG.md +11 -0
  767. package/cli/app/package.json +1 -1
  768. package/cli/package.json +1 -1
  769. package/package.json +1 -1
  770. package/cli/app/.next-cli-build/server/chunks/1188.js +0 -1
  771. package/cli/app/.next-cli-build/server/chunks/1818.js +0 -1
  772. package/cli/app/.next-cli-build/server/chunks/2693.js +0 -1
  773. package/cli/app/.next-cli-build/server/chunks/6457.js +0 -4
  774. package/cli/app/.next-cli-build/server/chunks/8590.js +0 -1
  775. package/cli/app/.next-cli-build/server/chunks/877.js +0 -24
  776. package/cli/app/.next-cli-build/server/chunks/9071.js +0 -1
  777. package/cli/app/.next-cli-build/server/chunks/9621.js +0 -1
  778. package/cli/app/.next-cli-build/static/chunks/620-7016f473d3f50f28.js +0 -1
  779. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-465deae43bb4635c.js +0 -1
  780. package/cli/app/.next-cli-build/static/css/934d7e4bee6b9fa0.css +0 -1
  781. /package/cli/app/.next-cli-build/static/{oU2ATjp7Ko7FfQ5eQHM8x → EEihXestozORJ8znRIdjp}/_buildManifest.js +0 -0
  782. /package/cli/app/.next-cli-build/static/{oU2ATjp7Ko7FfQ5eQHM8x → EEihXestozORJ8znRIdjp}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=318,exports.ids=[318,2693],exports.modules={4493:(a,b,c)=>{c.d(b,{j:()=>h});var d=c(74957),e=c(35024),f=c(86724);let g=new Set;class h extends d.Hv{constructor(){super("opencode",e.xq.opencode)}transformRequest(a,b){return(0,f.Z)({provider:this.provider,model:a,body:b})}buildUrl(a){let b="https://opencode.ai";return g.has(a)?`${b}/zen/v1/messages`:`${b}/zen/v1/chat/completions`}buildHeaders(){return{"Content-Type":"application/json",Authorization:"Bearer public","x-opencode-client":"desktop",Accept:"text/event-stream"}}}},8729:(a,b,c)=>{c.d(b,{DH:()=>o});let d=(()=>{let a=new Int16Array(128).fill(-1);for(let b=0;b<64;b++)a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(b)]="_doRTgHZBKcGVjlvpC,@aFSx#DPuNJme&i*MzLOEn)sUrthbf%Y^w.(kIQyXqWA!".charCodeAt(b);return a[61]=36,a})();var e=c(78085),f=c(47293),g=c(55511),h=c(74957),i=c(35024),j=c(39609),k=c(30022),l=c(53225);function m(a,b){return a&&a.length>b?`${a.slice(0,b)}...`:a||""}async function n({model:a,body:b,credentials:c,log:d,proxyOptions:e,signal:h}){let i=String(a||"").replace(/^qoder\//,""),j=await (0,l.X5)(c,i,{log:d,proxyOptions:e,signal:h});if(!j){let a=await (0,l.EV)(c,{forceRefresh:!0,log:d,proxyOptions:e,signal:h}),b=a?.rawConfigs.get(i);if(!b)throw Error(`qoder: model_config for "${i}" not yet known (run a model list fetch or check upstream connectivity)`);j={...b,key:i}}if(!1===j.enable){let a=c?.providerSpecificData?.planTier||"unknown",b=Error(`qoder: model "${i}" is not enabled for this account (plan: ${a}). Try qmodel_latest, or upgrade at https://qoder.com/pricing.`);throw b.status=403,b.code="model_not_enabled",b}let{messages:k,systemText:o}=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;let a=function(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)}(d.content);if("system"===d.role){a&&b.push(a);continue}let e={...d};e.content=a,c.push(e)}return{messages:c,systemText:b.join("\n\n")}}(b.messages||[]),p=b.tools,q=!!j.is_reasoning,r=Number(j.max_output_tokens)||0,s=32768;r>0&&(s=r),"number"==typeof b.max_tokens&&b.max_tokens>0&&b.max_tokens<s&&(s=b.max_tokens),"number"==typeof b.max_completion_tokens&&b.max_completion_tokens>0&&b.max_completion_tokens<s&&(s=b.max_completion_tokens);let t=function(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if(c?.role==="user"&&"string"==typeof c.content)return c.content}return""}(k),u=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,i),v=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))c&&"object"==typeof c&&(c.role&&(e.update("\0"),e.update(c.role)),"string"==typeof c.content&&c.content&&(e.update("\0"),e.update(c.content)));if(c){e.update("\0");try{e.update(JSON.stringify(c))}catch{}}return e.update(`\0mt=${d}`),e.digest("hex").slice(0,16)}(i,k,p,s);return{qoderKey:i,payload:{request_id:(0,f.A)(),request_set_id:v,chat_record_id:v,session_id:u,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:o,messages:k,tools:Array.isArray(p)?p:[],parameters:{max_tokens:s},chat_context:{chatPrompt:"",imageUrls:null,extra:{context:[],modelConfig:{key:i,is_reasoning:q},originalContent:t},features:[],text:t},model_config:j,business:{product:"cli",version:"1.0.0",type:"agent",stage:"start",id:(0,f.A)(),name:m(t,30),begin_at:Date.now()}},modelConfig:j}}class o extends h.Hv{constructor(){super("qoder",i.xq.qoder)}buildUrl(){return k.KC}async execute({model:a,body:b,stream:c,credentials:f,signal:g,log:h,proxyOptions:i=null}){let k,l,o,p,q=this.buildUrl(),r=f?.providerSpecificData||{};if(!r.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:q,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:q,headers:{},transformedBody:b};try{({qoderKey:k,payload:l}=await n({model:a,body:b,credentials:f,log:h,proxyOptions:i,signal:g}))}catch(c){let a="number"==typeof c?.status?c.status:400;return{response:new Response(JSON.stringify({error:{message:c.message,code:c?.code}}),{status:a,headers:{"Content-Type":"application/json"}}),url:q,headers:{},transformedBody:b}}let s=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(l),"utf8")),t=Buffer.from(s,"latin1");try{o=(0,e.d)(t,q,{userId:r.userId,authToken:f.accessToken,name:f.displayName||"",email:f.email||"",machineId:r.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:q,headers:{},transformedBody:b}}let u={"Content-Type":"application/json",Accept:"text/event-stream","Cache-Control":"no-cache","X-Model-Key":k,"X-Model-Source":l.model_config&&l.model_config.source||"system","Accept-Encoding":"identity",...o};try{p=await (0,j.proxyAwareFetch)(q,{method:"POST",headers:u,body:t,signal:g},i)}catch(a){throw a}return p.ok?{response:function(a,b){if(!a.ok||!a.body)return a;let c=new TextDecoder,d=new TextEncoder,e="",f=!1,g=(a,c)=>{let e,g=a.replace(/\r$/,"").trim();if(!g||!g.startsWith("data:")||f)return;let h=g.slice(5).trimStart();if("[DONE]"===h){c.enqueue(d.encode("data: [DONE]\n\n")),f=!0;return}try{e=JSON.parse(h)}catch{return}let i="number"==typeof e.statusCodeValue?e.statusCodeValue:200,j="string"==typeof e.body?e.body:"";if(200!==i){let a=j||`upstream status ${i}`,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:`
1
+ "use strict";exports.id=5330,exports.ids=[5330],exports.modules={4493:(a,b,c)=>{c.d(b,{j:()=>h});var d=c(74957),e=c(35024),f=c(86724);let g=new Set;class h extends d.Hv{constructor(){super("opencode",e.xq.opencode)}transformRequest(a,b){return(0,f.Z)({provider:this.provider,model:a,body:b})}buildUrl(a){let b="https://opencode.ai";return g.has(a)?`${b}/zen/v1/messages`:`${b}/zen/v1/chat/completions`}buildHeaders(){return{"Content-Type":"application/json",Authorization:"Bearer public","x-opencode-client":"desktop",Accept:"text/event-stream"}}}},8729:(a,b,c)=>{c.d(b,{DH:()=>o});let d=(()=>{let a=new Int16Array(128).fill(-1);for(let b=0;b<64;b++)a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(b)]="_doRTgHZBKcGVjlvpC,@aFSx#DPuNJme&i*MzLOEn)sUrthbf%Y^w.(kIQyXqWA!".charCodeAt(b);return a[61]=36,a})();var e=c(78085),f=c(47293),g=c(55511),h=c(74957),i=c(35024),j=c(39609),k=c(30022),l=c(53225);function m(a,b){return a&&a.length>b?`${a.slice(0,b)}...`:a||""}async function n({model:a,body:b,credentials:c,log:d,proxyOptions:e,signal:h}){let i=String(a||"").replace(/^qoder\//,""),j=await (0,l.X5)(c,i,{log:d,proxyOptions:e,signal:h});if(!j){let a=await (0,l.EV)(c,{forceRefresh:!0,log:d,proxyOptions:e,signal:h}),b=a?.rawConfigs.get(i);if(!b)throw Error(`qoder: model_config for "${i}" not yet known (run a model list fetch or check upstream connectivity)`);j={...b,key:i}}if(!1===j.enable){let a=c?.providerSpecificData?.planTier||"unknown",b=Error(`qoder: model "${i}" is not enabled for this account (plan: ${a}). Try qmodel_latest, or upgrade at https://qoder.com/pricing.`);throw b.status=403,b.code="model_not_enabled",b}let{messages:k,systemText:o}=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;let a=function(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)}(d.content);if("system"===d.role){a&&b.push(a);continue}let e={...d};e.content=a,c.push(e)}return{messages:c,systemText:b.join("\n\n")}}(b.messages||[]),p=b.tools,q=!!j.is_reasoning,r=Number(j.max_output_tokens)||0,s=32768;r>0&&(s=r),"number"==typeof b.max_tokens&&b.max_tokens>0&&b.max_tokens<s&&(s=b.max_tokens),"number"==typeof b.max_completion_tokens&&b.max_completion_tokens>0&&b.max_completion_tokens<s&&(s=b.max_completion_tokens);let t=function(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if(c?.role==="user"&&"string"==typeof c.content)return c.content}return""}(k),u=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,i),v=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))c&&"object"==typeof c&&(c.role&&(e.update("\0"),e.update(c.role)),"string"==typeof c.content&&c.content&&(e.update("\0"),e.update(c.content)));if(c){e.update("\0");try{e.update(JSON.stringify(c))}catch{}}return e.update(`\0mt=${d}`),e.digest("hex").slice(0,16)}(i,k,p,s);return{qoderKey:i,payload:{request_id:(0,f.A)(),request_set_id:v,chat_record_id:v,session_id:u,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:o,messages:k,tools:Array.isArray(p)?p:[],parameters:{max_tokens:s},chat_context:{chatPrompt:"",imageUrls:null,extra:{context:[],modelConfig:{key:i,is_reasoning:q},originalContent:t},features:[],text:t},model_config:j,business:{product:"cli",version:"1.0.0",type:"agent",stage:"start",id:(0,f.A)(),name:m(t,30),begin_at:Date.now()}},modelConfig:j}}class o extends h.Hv{constructor(){super("qoder",i.xq.qoder)}buildUrl(){return k.KC}async execute({model:a,body:b,stream:c,credentials:f,signal:g,log:h,proxyOptions:i=null}){let k,l,o,p,q=this.buildUrl(),r=f?.providerSpecificData||{};if(!r.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:q,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:q,headers:{},transformedBody:b};try{({qoderKey:k,payload:l}=await n({model:a,body:b,credentials:f,log:h,proxyOptions:i,signal:g}))}catch(c){let a="number"==typeof c?.status?c.status:400;return{response:new Response(JSON.stringify({error:{message:c.message,code:c?.code}}),{status:a,headers:{"Content-Type":"application/json"}}),url:q,headers:{},transformedBody:b}}let s=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(l),"utf8")),t=Buffer.from(s,"latin1");try{o=(0,e.d)(t,q,{userId:r.userId,authToken:f.accessToken,name:f.displayName||"",email:f.email||"",machineId:r.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:q,headers:{},transformedBody:b}}let u={"Content-Type":"application/json",Accept:"text/event-stream","Cache-Control":"no-cache","X-Model-Key":k,"X-Model-Source":l.model_config&&l.model_config.source||"system","Accept-Encoding":"identity",...o};try{p=await (0,j.proxyAwareFetch)(q,{method:"POST",headers:u,body:t,signal:g},i)}catch(a){throw a}return p.ok?{response:function(a,b){if(!a.ok||!a.body)return a;let c=new TextDecoder,d=new TextEncoder,e="",f=!1,g=(a,c)=>{let e,g=a.replace(/\r$/,"").trim();if(!g||!g.startsWith("data:")||f)return;let h=g.slice(5).trimStart();if("[DONE]"===h){c.enqueue(d.encode("data: [DONE]\n\n")),f=!0;return}try{e=JSON.parse(h)}catch{return}let i="number"==typeof e.statusCodeValue?e.statusCodeValue:200,j="string"==typeof e.body?e.body:"";if(200!==i){let a=j||`upstream status ${i}`,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:`
2
2
  [qoder error ${i}: ${m(a,200)}]`},finish_reason:"stop"}]});c.enqueue(d.encode(`data: ${e}
3
3
 
4
4
  `)),c.enqueue(d.encode("data: [DONE]\n\n")),f=!0;return}if(!j)return;if("[DONE]"===j){c.enqueue(d.encode("data: [DONE]\n\n")),f=!0;return}let k=j.replace(/\r?\n/g,"");c.enqueue(d.encode(`data: ${k}
@@ -34,7 +34,7 @@ ${b.join("\n")}`}(c);f&&e.push(f),e.push("You have built-in web search. Answer q
34
34
 
35
35
  ${d.content}`:Array.isArray(d.content)&&d.content.unshift({type:"text",text:c}):a.messages.unshift({role:"system",content:c})}(h),f))void 0!==h[a]&&delete h[a];if(delete h.system,g=(0,e.gK)(a),(g?.provider==="anthropic"||g?.upstreamProvider==="anthropic"||/(^|[-_/])(?:claude|anthropic)(?:[-_/]|$)/i.test(String(a||"")))&&(delete h.reasoning_effort,delete h.reasoning,delete h.thinking),Array.isArray(h?.messages))for(let a of h.messages)a&&"object"==typeof a&&(delete a.cache_control,Array.isArray(a.content)&&(a.content=a.content.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,signature:c,...d}=a;return d})));Array.isArray(h?.tools)&&(h.tools=h.tools.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,...c}=a;return c}));if(Array.isArray(h?.messages))for(let a of h.messages)a&&"assistant"===a.role&&"string"==typeof a.reasoning_content&&a.reasoning_content.length>8&&delete a.reasoning_content;return h}}},38572:(a,b,c)=>{c.d(b,{$:()=>o});var d=c(74957),e=c(35024),f=c(59657);let g=e.xq["grok-web"].baseUrl,h={"grok-3":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3",isThinking:!1},"grok-3-mini":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_MINI_THINKING",isThinking:!0},"grok-3-thinking":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_THINKING",isThinking:!0},"grok-4":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4",isThinking:!1},"grok-4-mini":{grokModel:"grok-4-mini",modelMode:"MODEL_MODE_GROK_4_MINI_THINKING",isThinking:!0},"grok-4-thinking":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4_THINKING",isThinking:!0},"grok-4-heavy":{grokModel:"grok-4",modelMode:"MODEL_MODE_HEAVY",isThinking:!0},"grok-4.1-mini":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_MINI_THINKING",isThinking:!0},"grok-4.1-fast":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_FAST",isThinking:!1},"grok-4.1-expert":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_EXPERT",isThinking:!0},"grok-4.1-thinking":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_THINKING",isThinking:!0},"grok-4.2":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20-beta":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1}};function i(a,b=!1){let c=b?"abcdefghijklmnopqrstuvwxyz0123456789":"abcdefghijklmnopqrstuvwxyz",d="";for(let b=0;b<a;b++)d+=c[Math.floor(Math.random()*c.length)];return d}function j(a){let b=new Uint8Array(a);return crypto.getRandomValues(b),Array.from(b,a=>a.toString(16).padStart(2,"0")).join("")}async function*k(a,b){let c=a.getReader(),d=new TextDecoder,e="";try{for(;;){if(b?.aborted)return;let{value:a,done:f}=await c.read();if(f)break;for(e+=d.decode(a,{stream:!0});;){let a=e.indexOf("\n");if(a<0)break;let b=e.slice(0,a).trim();if(e=e.slice(a+1),b)try{yield JSON.parse(b)}catch{}}}let a=(e+=d.decode()).trim();if(a)try{yield JSON.parse(a)}catch{}}finally{c.releaseLock()}}async function*l(a,b,c){let d="",e="",f=!1;for await(let g of k(a,c)){if(g.error)return void(yield{error:g.error.message||`Grok error: ${g.error.code}`,done:!0});let a=g.result?.response;if(a){if(a.llmInfo?.modelHash&&!d&&(d=a.llmInfo.modelHash),a.responseId&&(e=a.responseId),a.modelResponse){let c=a.modelResponse;f&&b&&(c.message&&(yield{thinking:c.message}),f=!1),c.message&&(yield{fullMessage:c.message,fingerprint:d,responseId:e}),c.metadata?.llm_info?.modelHash&&(d=c.metadata.llm_info.modelHash);continue}null!=a.token&&(yield{delta:a.token,fingerprint:d,responseId:e})}}yield{done:!0,fingerprint:d,responseId:e}}function m(a){return`data: ${JSON.stringify(a)}
36
36
 
37
- `}async function n(a,b,c,d,e,f){let g="",h="",i=[];for await(let b of l(a,e,f)){if(b.fingerprint&&(h=b.fingerprint),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"GROK_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){i.push(b.thinking);continue}if(b.done)break;b.fullMessage?g=b.fullMessage:b.delta&&(g+=b.delta)}let j={role:"assistant",content:g};i.length>0&&(j.reasoning_content=i.join("\n"));let k=Math.ceil(g.length/4),m=Math.ceil(g.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:h||null,choices:[{index:0,message:j,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:m,total_tokens:k+m}}),{status:200,headers:{"Content-Type":"application/json"}})}class o extends d.Hv{constructor(){super("grok-web",e.xq["grok-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:k}){let o,p,q=b?.messages;if(!q||!Array.isArray(q)||0===q.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let r=h[a];r||k?.info?.("GROK-WEB",`Unmapped model ${a}, defaulting to grok-4.1-fast`);let{grokModel:s,modelMode:t,isThinking:u}=r||h["grok-4.1-fast"],v=function(a){let b=[];for(let c of a){let a=String(c.role||"user");"developer"===a&&(a="system");let d="";"string"==typeof c.content?d=c.content:Array.isArray(c.content)&&(d=c.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),d.trim()&&b.push({role:a,text:d})}let c=-1;for(let a=b.length-1;a>=0;a--)if("user"===b[a].role){c=a;break}let d=[];for(let a=0;a<b.length;a++){let{role:e,text:f}=b[a];d.push(a===c?f:`${e}: ${f}`)}return d.join("\n\n")}(q);if(!v.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let w={temporary:!0,modelName:s,modelMode:t,message:v,fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!1,imageGenerationCount:0,forceConcise:!1,toolOverrides:{},enableSideBySide:!0,sendFinalMetadata:!0,isReasoning:!1,disableTextFollowUps:!1,disableMemory:!0,forceSideBySide:!1,isAsyncChat:!1,disableSelfHarmShortCircuit:!1,deviceEnvInfo:{darkModeEnabled:!1,devicePixelRatio:2,screenWidth:2056,screenHeight:1329,viewportWidth:2056,viewportHeight:1083}},x=j(16),y=j(8),z={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Baggage:"sentry-environment=production,sentry-release=d6add6fb0460641fd482d767a335ef72b9b6abb8,sentry-public_key=b311e0f2690c81f25e2c4cf6d4f7ce1c","Cache-Control":"no-cache","Content-Type":"application/json",Origin:"https://grok.com",Pragma:"no-cache",Referer:"https://grok.com/","Sec-Ch-Ua":'"Google Chrome";v="136", "Chromium";v="136", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":btoa(.5>Math.random()?`e:TypeError: Cannot read properties of null (reading 'children["${i(5,!0)}"]')`:`e:TypeError: Cannot read properties of undefined (reading '${i(10)}')`),"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${x}-${y}-00`};if(d.apiKey){let a=d.apiKey;a.startsWith("sso=")&&(a=a.slice(4)),z.Cookie=`sso=${a}`}k?.info?.("GROK-WEB",`Query to ${a} (grok=${s}, mode=${t}), len=${v.length}`);try{o=await fetch(g,{method:"POST",headers:z,body:JSON.stringify(w),signal:e})}catch(a){return k?.error?.("GROK-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Grok connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.ok){let a=o.status,b=`Grok returned HTTP ${a}`;return 401===a||403===a?b="Grok auth failed — SSO cookie may be expired. Re-paste your sso cookie value from grok.com.":429===a&&(b="Grok rate limited. Wait a moment and retry, or rotate cookies."),k?.warn?.("GROK-WEB",b),await (0,f.aI)(o),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.body)return{response:new Response(JSON.stringify({error:{message:"Grok returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w};let A=`chatcmpl-grok-${crypto.randomUUID().slice(0,12)}`,B=Math.floor(Date.now()/1e3);if(c){var C;let b;p=new Response((C=o.body,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="";for await(let f of l(C,u,e)){if(f.fingerprint&&(d=f.fingerprint),f.error){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{reasoning_content:f.thinking},finish_reason:null,logprobs:null}]})));continue}if(f.done)break;f.delta&&c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:f.delta},finish_reason:null,logprobs:null}]})))}c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}catch(d){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${d.message||String(d)}]`},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}finally{c.close()}}})),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","X-Accel-Buffering":"no"}})}else p=await n(o.body,a,A,B,u,e);return{response:p,url:g,headers:z,transformedBody:w}}}},40669:(a,b,c)=>{c.d(b,{Xh:()=>e,js:()=>f});let d={cc:"claude",cx:"codex",gc:"gemini-cli",qw:"qwen",if:"iflow",ag:"antigravity",gh:"github",kr:"kiro",cu:"cursor",kc:"kilocode",kmc:"kimi-coding",cl:"cline",oc:"opencode",ocg:"opencode-go",qd:"qoder",qoder:"qoder",acl:"autoclaw",autoclaw:"autoclaw",cb:"codebuddy","cb-cn":"codebuddy-cn",codebuddy:"codebuddy","codebuddy-cn":"codebuddy-cn",el:"elevenlabs",openai:"openai",vercel:"vercel-ai-gateway","vercel-ai-gateway":"vercel-ai-gateway",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",glm:"glm",kimi:"kimi",minimax:"minimax","minimax-cn":"minimax-cn",hf:"huggingface",huggingface:"huggingface",ds:"deepseek",deepseek:"deepseek",cmc:"commandcode",commandcode:"commandcode",groq:"groq",xai:"xai",gcli:"grok-cli","grok-cli":"grok-cli",pa:"perplexity-agent","perplexity-agent":"perplexity-agent",mistral:"mistral",pplx:"perplexity",perplexity:"perplexity",together:"together",fireworks:"fireworks",cerebras:"cerebras",cohere:"cohere",nvidia:"nvidia",nebius:"nebius",siliconflow:"siliconflow",hyp:"hyperbolic",hyperbolic:"hyperbolic",dg:"deepgram",deepgram:"deepgram",aai:"assemblyai",assemblyai:"assemblyai",nb:"nanobanana",nanobanana:"nanobanana",ch:"chutes",chutes:"chutes",ark:"volcengine-ark","volcengine-ark":"volcengine-ark",byteplus:"byteplus",bpm:"byteplus",cursor:"cursor",vx:"vertex",vertex:"vertex",vxp:"vertex-partner","vertex-partner":"vertex-partner",gw:"grok-web","grok-web":"grok-web",pw:"perplexity-web","perplexity-web":"perplexity-web",mimo:"xiaomi-mimo","xiaomi-mimo":"xiaomi-mimo",xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan",mmf:"mimo-free","mimo-free":"mimo-free",venice:"venice",fl:"featherless",featherless:"featherless",cf:"cloudflare-ai","cloudflare-ai":"cloudflare-ai",fal:"fal-ai","fal-ai":"fal-ai",stability:"stability-ai","stability-ai":"stability-ai",bfl:"black-forest-labs","black-forest-labs":"black-forest-labs",recraft:"recraft",topaz:"topaz",runway:"runwayml",runwayml:"runwayml",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly",agentrouter:"agentrouter",aimlapi:"aimlapi",aiml:"aimlapi",novita:"novita",modal:"modal",mdl:"modal",reka:"reka",nlpcloud:"nlpcloud",nlpc:"nlpcloud",bazaarlink:"bazaarlink",bzl:"bazaarlink",completions:"completions",cpl:"completions",enally:"enally",enly:"enally",freetheai:"freetheai",fta:"freetheai",llm7:"llm7",lepton:"lepton",kluster:"kluster",ai21:"ai21","inference-net":"inference-net",inet:"inference-net",predibase:"predibase",bytez:"bytez",morph:"morph",longcat:"longcat",lc:"longcat",puter:"puter",pu:"puter",uncloseai:"uncloseai",unc:"uncloseai",scaleway:"scaleway",scw:"scaleway",deepinfra:"deepinfra",sambanova:"sambanova",samba:"sambanova",nscale:"nscale",baseten:"baseten",publicai:"publicai","nous-research":"nous-research",nous:"nous-research",glhf:"glhf",bb:"blackbox",blackbox:"blackbox"};function e(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),e=a.slice(b+1);return{provider:d[c]||c,model:e,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function f(a,b){let c=e(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let f="function"==typeof b?await b():b,g=function(a,b){var c,e;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:d[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:d[e=f.provider]||e,model:f.model}:null}(c.model,f);return g||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return b.startsWith("claude-")?"anthropic":b.startsWith("gemini-")?"gemini":/^gpt-5\.6(-\w+)*$/.test(b)||/^gpt-5\.5(-\w+)*$/.test(b)||/^gpt-5\.4(-\w+)*$/.test(b)||/^gpt-5(\.\d+)?-codex(-\w+)*$/.test(b)?"codex":b.startsWith("gpt-")||b.startsWith("o1")||b.startsWith("o3")||b.startsWith("o4")?"openai":b.startsWith("deepseek-")?"openrouter":"openai"}(c.model),model:c.model}}},42693:(a,b,c)=>{c.d(b,{$O:()=>k,AUTOCLAW_WALLET_ENDPOINT:()=>i,Cw:()=>g,VR:()=>h,_V:()=>j,buildAutoClawWalletHeaders:()=>m,df:()=>e,p8:()=>l});var d=c(55511);let e="100003",f="https://autoglm-api.autoglm.ai",g=`${f}/autoclaw-proxy/proxy/autoclaw`,h=`${f}/userapi/v1/refresh`,i=`${f}/agent-assetmgr/api/v2/wallets?biz_app_id=autoclaw`,j="1.10.0";function k(a){let b=`${e}&${a}&38d2391985e2369a5fb8227d8e6cd5e5`;return(0,d.createHash)("md5").update(b).digest("hex")}function l(a={}){let b=String(Math.floor(Date.now()/1e3));return{accept:"*/*","content-type":"application/json",origin:"https://autoclaw.z.ai",referer:"https://autoclaw.z.ai/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36","x-auth-appid":e,"x-auth-timestamp":b,"x-auth-sign":k(b),"x-product":"autoclaw","x-version":j,"x-tm":"web","x-channel":"official","x-client-type":"web","x-trace-id":(0,d.randomUUID)(),"x-lang":"zh-CN",...a}}function m(a){let b=String(a||"").replace(/^Bearer\s+/i,"");return l({authorization:`Bearer ${b}`})}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(70877)},49059:(a,b,c)=>{c.d(b,{K:()=>e});var d=c(96179);class e extends d.L{constructor(){super("codebuddy-cn")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f=e.reasoning_effort;return"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto"),e}}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.DATA_DIR,"machine-id"),m=h().join(k.DATA_DIR,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.DATA_DIR,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="zevai-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>D});var e=c(29939),f=c(98625),g=c(95128),h=c(11655),i=c(61433),j=c(8729),k=c(76467),l=c(61001),m=c(19946),n=c(73870),o=c(94515),p=c(4493),q=c(13120),r=c(38572),s=c(23013),t=c(9708),u=c(90926),v=c(26878),w=c(15376),x=c(16046),y=c(49059),z=c(32447),A=c(22376),B=c(96179);c(74957);var C=a([m]);m=(C.then?(await C)():C)[0];let E={antigravity:new e.c,azure:new f.P,"gemini-cli":new g.V,github:new h.x,iflow:new i.r,qoder:new j.DH,kiro:new k.B,codex:new l.T,cursor:new m.o,cu:new m.o,vertex:new n.w("vertex"),"vertex-partner":new n.w("vertex-partner"),qwen:new o.R,opencode:new p.j,"opencode-go":new q.H,"grok-web":new r.$,"perplexity-web":new s.Ay,"ollama-local":new t.D,commandcode:new u.A,"xiaomi-tokenplan":new v.F,autoclaw:new w.q,"mimo-free":new x.Yh,mmf:new x.Yh,"codebuddy-cn":new y.K,kimchi:new z.BL,"grok-cli":new A.hG,gcli:new A.hG},F=new Map;function D(a){return E[a]?E[a]:(F.has(a)||F.set(a,new B.L(a)),F.get(a))}d()}catch(a){d(a)}})},55456:(a,b,c)=>{c.d(b,{CP:()=>q,yI:()=>n});var d=c(47293),e=c(74075),f=c.n(e);let g="1"===process.env.CURSOR_PROTOBUF_DEBUG,h=(a,...b)=>g&&console.log(`[PROTOBUF:${a}]`,...b);new TextDecoder;let i="1.1.3",j=new Set([1,2,3,9,10,11,27,1,25]);function k(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function l(a,b,c){let d=k(a<<3|b);if(0===b)return m(d,k(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return m(d,k(a.length),a)}return new Uint8Array(0)}function m(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function n(a,b,c=[],e=null,g=!1){h("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}, forceAgentMode=${g}`);let i=function(a,b,c=[],e=null,f=!1){return l(1,2,function(a,b,c=[],e=null,f=!1){let g,i=c?.length>0,j=i||f,n=[],o=[],p=[];for(let b=0;b<a.length;b++){let c=a[b],d=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0,e=Array.isArray(c?.tool_results)&&c.tool_results.length>0;if(c?.role==="assistant"&&d&&e){h("ENCODE",`normalizing mixed assistant tool payload at msg[${b}] (calls=${c.tool_calls.length}, results=${c.tool_results.length})`),p.push({...c,tool_results:[]});let d=a[b+1],e=d?.role==="assistant"&&Array.isArray(d?.tool_results)&&d.tool_results.length>0,f=new Set(c.tool_results.map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),g=new Set((d?.tool_results||[]).map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),i=f.size>0&&f.size===g.size;if(i){for(let a of f)if(!g.has(a)){i=!1;break}}e&&i||p.push({role:"assistant",content:"",tool_results:c.tool_results});continue}p.push(c)}for(let a=0;a<p.length;a++){let b=p[a],c="user"===b.role?1:2,e=(0,d.A)(),f=a===p.length-1;n.push({content:b.content,role:c,messageId:e,isLast:f,hasTools:i,toolResults:b.tool_results||[]}),o.push({messageId:e,role:c})}let q=0;return"medium"===e?q=1:"high"===e&&(q=2),m(...n.map(a=>l(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[],h=null){let i=g.length>0;return m(l(1,2,a),l(2,0,b),l(13,2,c),...h?[l(32,2,h)]:[],...i?g.map(a=>l(18,2,function(a){var b;let c,d,e=function(a){let b="string"==typeof a&&a.length>0?a:"tool";if(b.startsWith("mcp__")){let a=b.slice(5),c=a.indexOf("__");if(c>=0){let b=a.slice(0,c)||"custom",d=a.slice(c+2)||"tool";return`mcp_${b}_${d}`}return`mcp_custom_${a||"tool"}`}return b.startsWith("mcp_")?b:`mcp_custom_${b}`}(a.tool_name||a.name||""),f=a.raw_args||"{}",g=a.result_content||a.result||"",{toolCallId:h,modelCallId:i}=(b=a.tool_call_id||"",c="\nmc_",(d=b.indexOf(c))>=0?{toolCallId:b.slice(0,d),modelCallId:b.slice(d+c.length)}:{toolCallId:b,modelCallId:null}),j=a.tool_index||a.index||1,{serverName:k,selectedTool:n}=function(a){if("string"!=typeof a||!a.startsWith("mcp_"))return{serverName:"custom",selectedTool:a||"tool"};let b=a.slice(4),c=b.indexOf("_");return c<0?{serverName:"custom",selectedTool:b||"tool"}:{serverName:b.slice(0,c)||"custom",selectedTool:b.slice(c+1)||"tool"}}(e);return m(l(1,2,h),l(2,2,e),l(3,0,j>0?j:1),...i?[l(12,2,i)]:[],l(5,2,f),l(8,2,function(a,b,c,d,e=1){return m(l(1,0,19),l(28,2,m(l(1,2,c),l(2,2,d))),l(35,2,a),...b?[l(48,2,b)]:[],l(49,0,e>0?e:1))}(h,i,n,g,j)),l(11,2,function(a,b,c,d,e,f,g=1){let h;return m(l(1,0,19),l(27,2,(h=m(l(1,2,c),l(3,2,e),l(4,2,d)),l(1,2,h))),l(3,2,a),l(9,2,b),l(10,2,e),l(48,0,g>0?g:1),...f?[l(49,2,f)]:[])}(h,e,n,k,f,i,j)))}(a))):[],l(29,0,+!!f),l(47,0,f?2:1),...e&&f?[l(51,2,k(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),l(2,0,1),l(3,2,new Uint8Array(0)),l(4,0,1),l(5,2,m(l(1,2,b),l(4,2,new Uint8Array(0)))),l(8,2,""),l(13,0,1),l(15,2,(g=m(l(1,2,new Uint8Array(0)),l(2,2,new Uint8Array(0))),m(l(1,2,"cursor\\aisettings"),l(3,2,new Uint8Array(0)),l(6,2,g),l(8,0,1),l(9,0,1)))),l(19,0,1),l(23,2,(0,d.A)()),l(26,2,m(l(1,2,process.platform||"linux"),l(2,2,process.arch||"x64"),l(3,2,process.version||"v20.0.0"),l(4,2,process.cwd?.()||"/"),l(5,2,new Date().toISOString()))),l(27,0,+!!j),...j?[l(29,2,k(1))]:[],...o.map(a=>l(30,2,function(a,b,c=null){return m(l(1,2,a),...c?[l(2,2,c)]:[],l(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return l(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},m(...b?[l(1,2,b)]:[],...c?[l(2,2,c)]:[],...Object.keys(d).length>0?[l(3,2,JSON.stringify(d))]:[],l(4,2,"custom"))))}):[],l(35,0,0),l(38,0,0),l(46,0,j?2:1),l(47,2,""),l(48,0,+!j),l(49,0,q),l(51,0,0),l(53,0,1),l(54,2,j?"Agent":"Ask"))}(a,b,c,e,f))}(a,b,c,e,g),j=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(f().gzipSync(Buffer.from(a))),d=1);let e=new Uint8Array(5+c.length);return e[0]=d,e[1]=c.length>>24&255,e[2]=c.length>>16&255,e[3]=c.length>>8&255,e[4]=255&c.length,e.set(c,5),e}(i,!1);return h("BODY",`Protobuf=${i.length}B, Framed=${j.length}B`),j}function o(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function p(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=o(a,b),f=7&d,g=e;if(0===f)[c,g]=o(a,g);else if(2===f){let[b,d]=o(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function q(a){try{let b=p(a);for(let a of b.keys())j.has(a)||h("SCHEMA",`Unknown response field #${a} detected. Schema v${i} may be outdated.`);if(b.has(1)){let a=function(a){let b=p(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=p(b.get(27)[0].value);if(a.has(1)){let b=p(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){h("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return h("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=p(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=p(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){h("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(b){return h("EXTRACT",`Decode failed (schema v${i}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},61001:(a,b,c)=>{c.d(b,{T:()=>x});var d=c(55511),e=c(74957);let f=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
37
+ `}async function n(a,b,c,d,e,f){let g="",h="",i=[];for await(let b of l(a,e,f)){if(b.fingerprint&&(h=b.fingerprint),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"GROK_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){i.push(b.thinking);continue}if(b.done)break;b.fullMessage?g=b.fullMessage:b.delta&&(g+=b.delta)}let j={role:"assistant",content:g};i.length>0&&(j.reasoning_content=i.join("\n"));let k=Math.ceil(g.length/4),m=Math.ceil(g.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:h||null,choices:[{index:0,message:j,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:m,total_tokens:k+m}}),{status:200,headers:{"Content-Type":"application/json"}})}class o extends d.Hv{constructor(){super("grok-web",e.xq["grok-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:k}){let o,p,q=b?.messages;if(!q||!Array.isArray(q)||0===q.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let r=h[a];r||k?.info?.("GROK-WEB",`Unmapped model ${a}, defaulting to grok-4.1-fast`);let{grokModel:s,modelMode:t,isThinking:u}=r||h["grok-4.1-fast"],v=function(a){let b=[];for(let c of a){let a=String(c.role||"user");"developer"===a&&(a="system");let d="";"string"==typeof c.content?d=c.content:Array.isArray(c.content)&&(d=c.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),d.trim()&&b.push({role:a,text:d})}let c=-1;for(let a=b.length-1;a>=0;a--)if("user"===b[a].role){c=a;break}let d=[];for(let a=0;a<b.length;a++){let{role:e,text:f}=b[a];d.push(a===c?f:`${e}: ${f}`)}return d.join("\n\n")}(q);if(!v.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let w={temporary:!0,modelName:s,modelMode:t,message:v,fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!1,imageGenerationCount:0,forceConcise:!1,toolOverrides:{},enableSideBySide:!0,sendFinalMetadata:!0,isReasoning:!1,disableTextFollowUps:!1,disableMemory:!0,forceSideBySide:!1,isAsyncChat:!1,disableSelfHarmShortCircuit:!1,deviceEnvInfo:{darkModeEnabled:!1,devicePixelRatio:2,screenWidth:2056,screenHeight:1329,viewportWidth:2056,viewportHeight:1083}},x=j(16),y=j(8),z={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Baggage:"sentry-environment=production,sentry-release=d6add6fb0460641fd482d767a335ef72b9b6abb8,sentry-public_key=b311e0f2690c81f25e2c4cf6d4f7ce1c","Cache-Control":"no-cache","Content-Type":"application/json",Origin:"https://grok.com",Pragma:"no-cache",Referer:"https://grok.com/","Sec-Ch-Ua":'"Google Chrome";v="136", "Chromium";v="136", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":btoa(.5>Math.random()?`e:TypeError: Cannot read properties of null (reading 'children["${i(5,!0)}"]')`:`e:TypeError: Cannot read properties of undefined (reading '${i(10)}')`),"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${x}-${y}-00`};if(d.apiKey){let a=d.apiKey;a.startsWith("sso=")&&(a=a.slice(4)),z.Cookie=`sso=${a}`}k?.info?.("GROK-WEB",`Query to ${a} (grok=${s}, mode=${t}), len=${v.length}`);try{o=await fetch(g,{method:"POST",headers:z,body:JSON.stringify(w),signal:e})}catch(a){return k?.error?.("GROK-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Grok connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.ok){let a=o.status,b=`Grok returned HTTP ${a}`;return 401===a||403===a?b="Grok auth failed — SSO cookie may be expired. Re-paste your sso cookie value from grok.com.":429===a&&(b="Grok rate limited. Wait a moment and retry, or rotate cookies."),k?.warn?.("GROK-WEB",b),await (0,f.aI)(o),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.body)return{response:new Response(JSON.stringify({error:{message:"Grok returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w};let A=`chatcmpl-grok-${crypto.randomUUID().slice(0,12)}`,B=Math.floor(Date.now()/1e3);if(c){var C;let b;p=new Response((C=o.body,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="";for await(let f of l(C,u,e)){if(f.fingerprint&&(d=f.fingerprint),f.error){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{reasoning_content:f.thinking},finish_reason:null,logprobs:null}]})));continue}if(f.done)break;f.delta&&c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:f.delta},finish_reason:null,logprobs:null}]})))}c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}catch(d){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${d.message||String(d)}]`},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}finally{c.close()}}})),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","X-Accel-Buffering":"no"}})}else p=await n(o.body,a,A,B,u,e);return{response:p,url:g,headers:z,transformedBody:w}}}},42693:(a,b,c)=>{c.d(b,{$O:()=>k,AUTOCLAW_WALLET_ENDPOINT:()=>i,Cw:()=>g,VR:()=>h,_V:()=>j,buildAutoClawWalletHeaders:()=>m,df:()=>e,p8:()=>l});var d=c(55511);let e="100003",f="https://autoglm-api.autoglm.ai",g=`${f}/autoclaw-proxy/proxy/autoclaw`,h=`${f}/userapi/v1/refresh`,i=`${f}/agent-assetmgr/api/v2/wallets?biz_app_id=autoclaw`,j="1.10.0";function k(a){let b=`${e}&${a}&38d2391985e2369a5fb8227d8e6cd5e5`;return(0,d.createHash)("md5").update(b).digest("hex")}function l(a={}){let b=String(Math.floor(Date.now()/1e3));return{accept:"*/*","content-type":"application/json",origin:"https://autoclaw.z.ai",referer:"https://autoclaw.z.ai/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36","x-auth-appid":e,"x-auth-timestamp":b,"x-auth-sign":k(b),"x-product":"autoclaw","x-version":j,"x-tm":"web","x-channel":"official","x-client-type":"web","x-trace-id":(0,d.randomUUID)(),"x-lang":"zh-CN",...a}}function m(a){let b=String(a||"").replace(/^Bearer\s+/i,"");return l({authorization:`Bearer ${b}`})}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(93999)},49059:(a,b,c)=>{c.d(b,{K:()=>e});var d=c(96179);class e extends d.L{constructor(){super("codebuddy-cn")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f=e.reasoning_effort;return"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto"),e}}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.DATA_DIR,"machine-id"),m=h().join(k.DATA_DIR,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.DATA_DIR,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="zevai-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},55330:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>D});var e=c(29939),f=c(98625),g=c(95128),h=c(11655),i=c(61433),j=c(8729),k=c(76467),l=c(61001),m=c(19946),n=c(73870),o=c(94515),p=c(4493),q=c(13120),r=c(38572),s=c(23013),t=c(9708),u=c(90926),v=c(26878),w=c(15376),x=c(16046),y=c(49059),z=c(32447),A=c(22376),B=c(96179);c(74957);var C=a([m]);m=(C.then?(await C)():C)[0];let E={antigravity:new e.c,azure:new f.P,"gemini-cli":new g.V,github:new h.x,iflow:new i.r,qoder:new j.DH,kiro:new k.B,codex:new l.T,cursor:new m.o,cu:new m.o,vertex:new n.w("vertex"),"vertex-partner":new n.w("vertex-partner"),qwen:new o.R,opencode:new p.j,"opencode-go":new q.H,"grok-web":new r.$,"perplexity-web":new s.Ay,"ollama-local":new t.D,commandcode:new u.A,"xiaomi-tokenplan":new v.F,autoclaw:new w.q,"mimo-free":new x.Yh,mmf:new x.Yh,"codebuddy-cn":new y.K,kimchi:new z.BL,"grok-cli":new A.hG,gcli:new A.hG},F=new Map;function D(a){return E[a]?E[a]:(F.has(a)||F.set(a,new B.L(a)),F.get(a))}d()}catch(a){d(a)}})},55456:(a,b,c)=>{c.d(b,{CP:()=>q,yI:()=>n});var d=c(47293),e=c(74075),f=c.n(e);let g="1"===process.env.CURSOR_PROTOBUF_DEBUG,h=(a,...b)=>g&&console.log(`[PROTOBUF:${a}]`,...b);new TextDecoder;let i="1.1.3",j=new Set([1,2,3,9,10,11,27,1,25]);function k(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function l(a,b,c){let d=k(a<<3|b);if(0===b)return m(d,k(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return m(d,k(a.length),a)}return new Uint8Array(0)}function m(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function n(a,b,c=[],e=null,g=!1){h("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}, forceAgentMode=${g}`);let i=function(a,b,c=[],e=null,f=!1){return l(1,2,function(a,b,c=[],e=null,f=!1){let g,i=c?.length>0,j=i||f,n=[],o=[],p=[];for(let b=0;b<a.length;b++){let c=a[b],d=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0,e=Array.isArray(c?.tool_results)&&c.tool_results.length>0;if(c?.role==="assistant"&&d&&e){h("ENCODE",`normalizing mixed assistant tool payload at msg[${b}] (calls=${c.tool_calls.length}, results=${c.tool_results.length})`),p.push({...c,tool_results:[]});let d=a[b+1],e=d?.role==="assistant"&&Array.isArray(d?.tool_results)&&d.tool_results.length>0,f=new Set(c.tool_results.map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),g=new Set((d?.tool_results||[]).map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),i=f.size>0&&f.size===g.size;if(i){for(let a of f)if(!g.has(a)){i=!1;break}}e&&i||p.push({role:"assistant",content:"",tool_results:c.tool_results});continue}p.push(c)}for(let a=0;a<p.length;a++){let b=p[a],c="user"===b.role?1:2,e=(0,d.A)(),f=a===p.length-1;n.push({content:b.content,role:c,messageId:e,isLast:f,hasTools:i,toolResults:b.tool_results||[]}),o.push({messageId:e,role:c})}let q=0;return"medium"===e?q=1:"high"===e&&(q=2),m(...n.map(a=>l(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[],h=null){let i=g.length>0;return m(l(1,2,a),l(2,0,b),l(13,2,c),...h?[l(32,2,h)]:[],...i?g.map(a=>l(18,2,function(a){var b;let c,d,e=function(a){let b="string"==typeof a&&a.length>0?a:"tool";if(b.startsWith("mcp__")){let a=b.slice(5),c=a.indexOf("__");if(c>=0){let b=a.slice(0,c)||"custom",d=a.slice(c+2)||"tool";return`mcp_${b}_${d}`}return`mcp_custom_${a||"tool"}`}return b.startsWith("mcp_")?b:`mcp_custom_${b}`}(a.tool_name||a.name||""),f=a.raw_args||"{}",g=a.result_content||a.result||"",{toolCallId:h,modelCallId:i}=(b=a.tool_call_id||"",c="\nmc_",(d=b.indexOf(c))>=0?{toolCallId:b.slice(0,d),modelCallId:b.slice(d+c.length)}:{toolCallId:b,modelCallId:null}),j=a.tool_index||a.index||1,{serverName:k,selectedTool:n}=function(a){if("string"!=typeof a||!a.startsWith("mcp_"))return{serverName:"custom",selectedTool:a||"tool"};let b=a.slice(4),c=b.indexOf("_");return c<0?{serverName:"custom",selectedTool:b||"tool"}:{serverName:b.slice(0,c)||"custom",selectedTool:b.slice(c+1)||"tool"}}(e);return m(l(1,2,h),l(2,2,e),l(3,0,j>0?j:1),...i?[l(12,2,i)]:[],l(5,2,f),l(8,2,function(a,b,c,d,e=1){return m(l(1,0,19),l(28,2,m(l(1,2,c),l(2,2,d))),l(35,2,a),...b?[l(48,2,b)]:[],l(49,0,e>0?e:1))}(h,i,n,g,j)),l(11,2,function(a,b,c,d,e,f,g=1){let h;return m(l(1,0,19),l(27,2,(h=m(l(1,2,c),l(3,2,e),l(4,2,d)),l(1,2,h))),l(3,2,a),l(9,2,b),l(10,2,e),l(48,0,g>0?g:1),...f?[l(49,2,f)]:[])}(h,e,n,k,f,i,j)))}(a))):[],l(29,0,+!!f),l(47,0,f?2:1),...e&&f?[l(51,2,k(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),l(2,0,1),l(3,2,new Uint8Array(0)),l(4,0,1),l(5,2,m(l(1,2,b),l(4,2,new Uint8Array(0)))),l(8,2,""),l(13,0,1),l(15,2,(g=m(l(1,2,new Uint8Array(0)),l(2,2,new Uint8Array(0))),m(l(1,2,"cursor\\aisettings"),l(3,2,new Uint8Array(0)),l(6,2,g),l(8,0,1),l(9,0,1)))),l(19,0,1),l(23,2,(0,d.A)()),l(26,2,m(l(1,2,process.platform||"linux"),l(2,2,process.arch||"x64"),l(3,2,process.version||"v20.0.0"),l(4,2,process.cwd?.()||"/"),l(5,2,new Date().toISOString()))),l(27,0,+!!j),...j?[l(29,2,k(1))]:[],...o.map(a=>l(30,2,function(a,b,c=null){return m(l(1,2,a),...c?[l(2,2,c)]:[],l(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return l(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},m(...b?[l(1,2,b)]:[],...c?[l(2,2,c)]:[],...Object.keys(d).length>0?[l(3,2,JSON.stringify(d))]:[],l(4,2,"custom"))))}):[],l(35,0,0),l(38,0,0),l(46,0,j?2:1),l(47,2,""),l(48,0,+!j),l(49,0,q),l(51,0,0),l(53,0,1),l(54,2,j?"Agent":"Ask"))}(a,b,c,e,f))}(a,b,c,e,g),j=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(f().gzipSync(Buffer.from(a))),d=1);let e=new Uint8Array(5+c.length);return e[0]=d,e[1]=c.length>>24&255,e[2]=c.length>>16&255,e[3]=c.length>>8&255,e[4]=255&c.length,e.set(c,5),e}(i,!1);return h("BODY",`Protobuf=${i.length}B, Framed=${j.length}B`),j}function o(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function p(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=o(a,b),f=7&d,g=e;if(0===f)[c,g]=o(a,g);else if(2===f){let[b,d]=o(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function q(a){try{let b=p(a);for(let a of b.keys())j.has(a)||h("SCHEMA",`Unknown response field #${a} detected. Schema v${i} may be outdated.`);if(b.has(1)){let a=function(a){let b=p(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=p(b.get(27)[0].value);if(a.has(1)){let b=p(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){h("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return h("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=p(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=p(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){h("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(b){return h("EXTRACT",`Decode failed (schema v${i}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},61001:(a,b,c)=>{c.d(b,{T:()=>x});var d=c(55511),e=c(74957);let f=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
38
38
 
39
39
  ## General
40
40
 
@@ -190,4 +190,4 @@ Respond ONLY with the JSON object, no other text.`,e=Array.isArray(a.messages)?a
190
190
 
191
191
  ${d}`:Array.isArray(f.content)&&f.content.push({type:"text",text:`
192
192
 
193
- ${d}`}):e.unshift({role:"system",content:d}),{...a,messages:e,response_format:{type:"json_object"}}}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}switch(this.provider){case"claude":case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;default:{let a=this.config.baseUrl;if(a?.includes("{accountId}")){let b=d?.providerSpecificData?.accountId;if(!b)throw Error(`${this.provider} requires accountId in providerSpecificData`);return a.replace("{accountId}",b)}return a}}}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};switch(this.provider){case"gemini":a.apiKey?c["x-goog-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break;case"claude":{let b=(0,h.b)();if(b){for(let a of Object.keys(b)){let d=a.replace(/(^|-)([a-z])/g,(a,b,c)=>b+c.toUpperCase());if("anthropic-beta"===a){let e=new Set((c[d]||c[a]||"").split(",").map(a=>a.trim()).filter(Boolean)),f=new Set(b[a].split(",").map(a=>a.trim()).filter(Boolean));for(let a of e)f.add(a);b[a]=Array.from(f).join(",")}d!==a&&void 0!==c[d]&&delete c[d]}Object.assign(c,b)}a.apiKey?c["x-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break}case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":c["x-api-key"]=a.apiKey||a.accessToken,"kimi-coding"===this.provider&&Object.assign(c,(0,f.VK)());break;default:if(this.provider?.startsWith?.("anthropic-compatible-"))a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01");else if("gitlab"===this.provider)c.Authorization=`Bearer ${a.apiKey||a.accessToken}`;else if(this.provider?.startsWith?.("codebuddy")){let b=o(),d=o();a.apiKey?c["X-Api-Key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`,c.Accept="text/event-stream",c["Content-Type"]="application/json; charset=utf-8",c["User-Agent"]="CLI/2.105.2 CodeBuddy/2.105.2",c["X-App"]="cli",c["X-Stainless-Runtime"]="node",c["X-Stainless-Lang"]="js",c["X-Stainless-Helper-Method"]="stream",c["X-Stainless-Retry-Count"]="0",c["X-Requested-With"]="XMLHttpRequest",c["X-Domain"]=a.providerSpecificData?.domain||this.config?.domain||"www.codebuddy.ai",c["X-Request-ID"]=b,c["X-Conversation-ID"]=d,c["X-Conversation-Request-ID"]=d,c["X-Conversation-Message-ID"]=b,c["X-Agent-Intent"]="craft",c["X-IDE-Type"]="CLI",c["X-IDE-Name"]="CLI",c["X-IDE-Version"]="2.105.2",c["X-Private-Data"]="false"}else"kilocode"===this.provider?(c.Authorization=`Bearer ${a.apiKey||a.accessToken}`,a.providerSpecificData?.orgId&&(c["X-Kilocode-OrganizationID"]=a.providerSpecificData.orgId)):"cline"===this.provider||"clinepass"===this.provider?Object.assign(c,(0,g.buildClineHeaders)(a.apiKey||a.accessToken)):this.config?.format==="claude"?(c["x-api-key"]=a.apiKey||a.accessToken,c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):c.Authorization=`Bearer ${a.apiKey||a.accessToken}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let b=a?.providerSpecificData?.baseUrl||"";if(!(""===b||b.includes("api.anthropic.com"))){for(let a of(delete c["anthropic-dangerous-direct-browser-access"],delete c["Anthropic-Dangerous-Direct-Browser-Access"],delete c["x-app"],delete c["X-App"],["anthropic-beta","Anthropic-Beta"]))if(c[a]){let b=c[a].split(",").map(a=>a.trim()).filter(a=>a&&"claude-code-20250219"!==a).join(",");b?c[a]=b:delete c[a]}}}return b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;let d={claude:()=>this.refreshWithJSON(f.NA.anthropic.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.claude.clientId},c),codex:()=>this.refreshWithForm(f.NA.openai.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.codex.clientId,scope:"openid profile email offline_access"},c),qwen:()=>this.refreshWithForm(f.NA.qwen.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.qwen.clientId},c),iflow:()=>this.refreshIflow(a.refreshToken,c),gemini:()=>this.refreshGoogle(a.refreshToken,c),kiro:()=>this.refreshKiro(a.refreshToken,c),codebuddy:()=>this.refreshCodeBuddy(a.refreshToken,c),cline:()=>this.refreshCline(a.refreshToken,c),clinepass:()=>this.refreshCline(a.refreshToken,c),"kimi-coding":()=>this.refreshKimiCoding(a.refreshToken,c),kilocode:()=>this.refreshKilocode(a.refreshToken,c)}[this.provider];if(!d)return null;try{let a=await d();return a&&b?.info?.("TOKEN",`${this.provider} refreshed`),a}catch(a){return b?.error?.("TOKEN",`${this.provider} refresh error: ${a.message}`),null}}async refreshWithJSON(a,b,c=null){let d=await (0,i.proxyAwareFetch)(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(b)},c);if(!d.ok)return await (0,j.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||b.refresh_token,expiresIn:e.expires_in}}async refreshWithForm(a,b,c=null){let d=await (0,i.proxyAwareFetch)(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(b)},c);if(!d.ok)return await (0,j.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||b.refresh_token,expiresIn:e.expires_in}}async refreshIflow(a,b=null){let c=btoa(`${e.xq.iflow.clientId}:${e.xq.iflow.clientSecret}`),d=await (0,i.proxyAwareFetch)(f.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.iflow.clientId,client_secret:e.xq.iflow.clientSecret})},b);if(!d.ok)return await (0,j.aI)(d),null;let g=await d.json();return{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async refreshGoogle(a,b=null){let c=await (0,i.proxyAwareFetch)(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId,client_secret:this.config.clientSecret})},b);if(!c.ok)return await (0,j.aI)(c),null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async refreshKiro(a,b=null){let c=await (0,i.proxyAwareFetch)(e.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/2.12.2"},body:JSON.stringify({refreshToken:a})},b);if(!c.ok)return await (0,j.aI)(c),null;let d=await c.json();return{accessToken:d.accessToken,refreshToken:d.refreshToken||a,expiresIn:d.expiresIn}}async refreshCodeBuddy(a,b=null){let c=this.config?.refreshUrl||e.xq.codebuddy.refreshUrl,d=this.config?.domain||"www.codebuddy.ai",f=await (0,i.proxyAwareFetch)(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"CLI/2.63.2 CodeBuddy/2.63.2","X-Requested-With":"XMLHttpRequest","X-Domain":d,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"},b);if(!f.ok)return await (0,j.aI)(f),null;let g=await f.json(),h=g?.data||g,k=h?.accessToken||h?.access_token;return k?{accessToken:k,refreshToken:h?.refreshToken||h?.refresh_token||a,expiresIn:h?.expiresIn||h?.expires_in||86400}:null}async refreshCline(a,b=null){console.log("[DEBUG] Refreshing Cline token, refreshToken length:",a?.length);let c=await (0,i.proxyAwareFetch)("https://api.cline.bot/api/v1/auth/refresh",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})},b);if(console.log("[DEBUG] Cline refresh response status:",c.status),!c.ok)return console.log("[DEBUG] Cline refresh error:",await c.text()),null;let d=await c.json();console.log("[DEBUG] Cline refresh payload:",JSON.stringify(d).substring(0,200));let e=d?.data||d,f=e?.expiresAt,g=f?Math.max(1,Math.floor((new Date(f).getTime()-Date.now())/1e3)):void 0;return console.log("[DEBUG] Cline refresh success, expiresIn:",g),{accessToken:e?.accessToken,refreshToken:e?.refreshToken||a,expiresIn:g}}async refreshKimiCoding(a,b=null){let c=(0,f.VK)(),d=await (0,i.proxyAwareFetch)("https://auth.kimi.com/api/oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...c},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:"17e5f671-d194-4dfb-9706-5516cb48c098"})},b);if(!d.ok)return await (0,j.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async refreshKilocode(a,b=null){return null}}},98625:(a,b,c)=>{c.d(b,{P:()=>e});var d=c(96179);class e extends d.L{constructor(){super("azure")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.azureEndpoint||process.env.AZURE_ENDPOINT||"https://api.openai.com",f=d?.providerSpecificData?.apiVersion||process.env.AZURE_API_VERSION||"2024-10-01-preview",g=d?.providerSpecificData?.deployment||a||process.env.AZURE_DEPLOYMENT||"gpt-4",h=e.replace(/\/$/,"");return`${h}/openai/deployments/${g}/chat/completions?api-version=${f}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=a?.apiKey||a?.accessToken||process.env.OPENAI_API_KEY;d&&(c["api-key"]=d);let e=a?.providerSpecificData?.organization||process.env.AZURE_ORGANIZATION;return e&&(c["OpenAI-Organization"]=e),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}}}};
193
+ ${d}`}):e.unshift({role:"system",content:d}),{...a,messages:e,response_format:{type:"json_object"}}}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=(d?.providerSpecificData?.baseUrl||"https://api.anthropic.com/v1").replace(/\/$/,"");return`${a}/messages`}switch(this.provider){case"claude":case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;default:{let a=this.config.baseUrl;if(a?.includes("{accountId}")){let b=d?.providerSpecificData?.accountId;if(!b)throw Error(`${this.provider} requires accountId in providerSpecificData`);return a.replace("{accountId}",b)}return a}}}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers};switch(this.provider){case"gemini":a.apiKey?c["x-goog-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break;case"claude":{let b=(0,h.b)();if(b){for(let a of Object.keys(b)){let d=a.replace(/(^|-)([a-z])/g,(a,b,c)=>b+c.toUpperCase());if("anthropic-beta"===a){let e=new Set((c[d]||c[a]||"").split(",").map(a=>a.trim()).filter(Boolean)),f=new Set(b[a].split(",").map(a=>a.trim()).filter(Boolean));for(let a of e)f.add(a);b[a]=Array.from(f).join(",")}d!==a&&void 0!==c[d]&&delete c[d]}Object.assign(c,b)}a.apiKey?c["x-api-key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`;break}case"glm":case"kimi":case"minimax":case"minimax-cn":case"kimi-coding":c["x-api-key"]=a.apiKey||a.accessToken,"kimi-coding"===this.provider&&Object.assign(c,(0,f.VK)());break;default:if(this.provider?.startsWith?.("anthropic-compatible-"))a.apiKey?c["x-api-key"]=a.apiKey:a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),c["anthropic-version"]||(c["anthropic-version"]="2023-06-01");else if("gitlab"===this.provider)c.Authorization=`Bearer ${a.apiKey||a.accessToken}`;else if(this.provider?.startsWith?.("codebuddy")){let b=o(),d=o();a.apiKey?c["X-Api-Key"]=a.apiKey:c.Authorization=`Bearer ${a.accessToken}`,c.Accept="text/event-stream",c["Content-Type"]="application/json; charset=utf-8",c["User-Agent"]="CLI/2.105.2 CodeBuddy/2.105.2",c["X-App"]="cli",c["X-Stainless-Runtime"]="node",c["X-Stainless-Lang"]="js",c["X-Stainless-Helper-Method"]="stream",c["X-Stainless-Retry-Count"]="0",c["X-Requested-With"]="XMLHttpRequest",c["X-Domain"]=a.providerSpecificData?.domain||this.config?.domain||"www.codebuddy.ai",c["X-Request-ID"]=b,c["X-Conversation-ID"]=d,c["X-Conversation-Request-ID"]=d,c["X-Conversation-Message-ID"]=b,c["X-Agent-Intent"]="craft",c["X-IDE-Type"]="CLI",c["X-IDE-Name"]="CLI",c["X-IDE-Version"]="2.105.2",c["X-Private-Data"]="false"}else"kilocode"===this.provider?(c.Authorization=`Bearer ${a.apiKey||a.accessToken}`,a.providerSpecificData?.orgId&&(c["X-Kilocode-OrganizationID"]=a.providerSpecificData.orgId)):"cline"===this.provider||"clinepass"===this.provider?Object.assign(c,(0,g.buildClineHeaders)(a.apiKey||a.accessToken)):this.config?.format==="claude"?(c["x-api-key"]=a.apiKey||a.accessToken,c["anthropic-version"]||(c["anthropic-version"]="2023-06-01")):c.Authorization=`Bearer ${a.apiKey||a.accessToken}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let b=a?.providerSpecificData?.baseUrl||"";if(!(""===b||b.includes("api.anthropic.com"))){for(let a of(delete c["anthropic-dangerous-direct-browser-access"],delete c["Anthropic-Dangerous-Direct-Browser-Access"],delete c["x-app"],delete c["X-App"],["anthropic-beta","Anthropic-Beta"]))if(c[a]){let b=c[a].split(",").map(a=>a.trim()).filter(a=>a&&"claude-code-20250219"!==a).join(",");b?c[a]=b:delete c[a]}}}return b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;let d={claude:()=>this.refreshWithJSON(f.NA.anthropic.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.claude.clientId},c),codex:()=>this.refreshWithForm(f.NA.openai.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.codex.clientId,scope:"openid profile email offline_access"},c),qwen:()=>this.refreshWithForm(f.NA.qwen.token,{grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.qwen.clientId},c),iflow:()=>this.refreshIflow(a.refreshToken,c),gemini:()=>this.refreshGoogle(a.refreshToken,c),kiro:()=>this.refreshKiro(a.refreshToken,c),codebuddy:()=>this.refreshCodeBuddy(a.refreshToken,c),"codebuddy-cn":()=>this.refreshCodeBuddy(a.refreshToken,c),cline:()=>this.refreshCline(a.refreshToken,c),clinepass:()=>this.refreshCline(a.refreshToken,c),"kimi-coding":()=>this.refreshKimiCoding(a.refreshToken,c),kilocode:()=>this.refreshKilocode(a.refreshToken,c)}[this.provider];if(!d)return null;try{let a=await d();return a&&b?.info?.("TOKEN",`${this.provider} refreshed`),a}catch(a){return b?.error?.("TOKEN",`${this.provider} refresh error: ${a.message}`),null}}async refreshWithJSON(a,b,c=null){let d=await (0,i.proxyAwareFetch)(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(b)},c);if(!d.ok)return await (0,j.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||b.refresh_token,expiresIn:e.expires_in}}async refreshWithForm(a,b,c=null){let d=await (0,i.proxyAwareFetch)(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(b)},c);if(!d.ok)return await (0,j.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||b.refresh_token,expiresIn:e.expires_in}}async refreshIflow(a,b=null){let c=btoa(`${e.xq.iflow.clientId}:${e.xq.iflow.clientSecret}`),d=await (0,i.proxyAwareFetch)(f.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.iflow.clientId,client_secret:e.xq.iflow.clientSecret})},b);if(!d.ok)return await (0,j.aI)(d),null;let g=await d.json();return{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async refreshGoogle(a,b=null){let c=await (0,i.proxyAwareFetch)(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId,client_secret:this.config.clientSecret})},b);if(!c.ok)return await (0,j.aI)(c),null;let d=await c.json();return{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async refreshKiro(a,b=null){let c=await (0,i.proxyAwareFetch)(e.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/2.12.2"},body:JSON.stringify({refreshToken:a})},b);if(!c.ok)return await (0,j.aI)(c),null;let d=await c.json();return{accessToken:d.accessToken,refreshToken:d.refreshToken||a,expiresIn:d.expiresIn}}async refreshCodeBuddy(a,b=null){let c=this.config?.refreshUrl||e.xq.codebuddy.refreshUrl,d=this.config?.domain||"www.codebuddy.ai",f=await (0,i.proxyAwareFetch)(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"CLI/2.63.2 CodeBuddy/2.63.2","X-Requested-With":"XMLHttpRequest","X-Domain":d,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"},b);if(!f.ok)return await (0,j.aI)(f),null;let g=await f.json(),h=g?.data||g,k=h?.accessToken||h?.access_token;return k?{accessToken:k,refreshToken:h?.refreshToken||h?.refresh_token||a,expiresIn:h?.expiresIn||h?.expires_in||86400}:null}async refreshCline(a,b=null){let c=await (0,i.proxyAwareFetch)("https://api.cline.bot/api/v1/auth/refresh",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})},b);if(!c.ok)return await c.text(),null;let d=await c.json(),e=d?.data||d,f=e?.expiresAt,g=f?Math.max(1,Math.floor((new Date(f).getTime()-Date.now())/1e3)):void 0;return{accessToken:e?.accessToken,refreshToken:e?.refreshToken||a,expiresIn:g}}async refreshKimiCoding(a,b=null){let c=(0,f.VK)(),d=await (0,i.proxyAwareFetch)("https://auth.kimi.com/api/oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...c},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:"17e5f671-d194-4dfb-9706-5516cb48c098"})},b);if(!d.ok)return await (0,j.aI)(d),null;let e=await d.json();return{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async refreshKilocode(a,b=null){return null}}},98625:(a,b,c)=>{c.d(b,{P:()=>e});var d=c(96179);class e extends d.L{constructor(){super("azure")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.azureEndpoint||process.env.AZURE_ENDPOINT||"https://api.openai.com",f=d?.providerSpecificData?.apiVersion||process.env.AZURE_API_VERSION||"2024-10-01-preview",g=d?.providerSpecificData?.deployment||a||process.env.AZURE_DEPLOYMENT||"gpt-4",h=e.replace(/\/$/,"");return`${h}/openai/deployments/${g}/chat/completions?api-version=${f}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=a?.apiKey||a?.accessToken||process.env.OPENAI_API_KEY;d&&(c["api-key"]=d);let e=a?.providerSpecificData?.organization||process.env.AZURE_ORGANIZATION;return e&&(c["OpenAI-Organization"]=e),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}}}};
@@ -1,4 +1,4 @@
1
1
  "use strict";exports.id=5436,exports.ids=[5436],exports.modules={3359:(a,b,c)=>{c.d(b,{K0:()=>j,Oh:()=>n,c9:()=>q,lL:()=>r,s9:()=>i});var d=c(89718),e=c(44404);let f="gpt-5.6";function g(a){return String(a||"").trim().replace(/^\/+|\/+$/g,"")}function h(a){let b;return`cx/${(b=g(a)).startsWith("cx/")?b.slice(3):b.startsWith("codex/")?b.slice(6):b||f}`}function i(a){let b=g(a);if(!b)return null;if("auto-codex"===b)return{mode:"router",modelString:`cx/${f}`,strictAccount:!1,label:"Auto Codex"};if(b.startsWith("router/")){let a;return{mode:"router",modelString:(a=g(b.slice(7))||f).includes("/")?a:`cx/${a}`,strictAccount:!1,label:"Router Pool"}}if(b.startsWith("original/"))return{mode:"original",modelString:h(b.slice(9)),strictAccount:!0,label:"Original Codex"};if("original"===b)return{mode:"original",modelString:`cx/${f}`,strictAccount:!0,label:"Original Codex"};let c=b.startsWith("account/")?"account/":b.startsWith("codex-account/")?"codex-account/":null;if(c){let a=b.slice(c.length),d=a.indexOf("/"),e=-1===d?a:a.slice(0,d),g=-1===d?f:a.slice(d+1);return e?{mode:"account",accountRef:e,modelString:h(g),strictAccount:!0,label:"Pinned Codex Account"}:null}return null}function j(a){return a?.displayName||a?.name||a?.email||a?.id||"Codex account"}function k(a){let b=String(j(a)).toLowerCase().replace(/@/g,"-").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48)||"account";return`${b}-${String(a?.id||"").slice(0,8)}`}function l(a){return String(a||"").trim().toLowerCase()}function m(a){let b=a?.providerSpecificData||{};return"GPTJson"===b.importedFrom||String(b.tokenSource||"").startsWith("ChatGPT_team")}async function n(a=5e3){let b=await (0,d.getProviderConnections)({provider:"codex",isActive:!0}),c=b.slice(0,a).map(a=>({id:a.id,slug:k(a),label:j(a),email:a.email||null,imported:m(a),priority:a.priority||null})),e=o(b);return{accounts:c,original:e?{id:e.id,slug:k(e),label:j(e),email:e.email||null,imported:m(e),priority:e.priority||null}:null}}function o(a){return Array.isArray(a)&&0!==a.length?a.find(a=>!m(a))||a[0]:null}async function p(a){let b=l(a);if(!b)return null;let c=await (0,d.getProviderConnections)({provider:"codex",isActive:!0}),e=c.find(a=>l(a.id)===b||k(a)===b||l(a.email)===b||l(a.name)===b||l(a.displayName)===b);if(e)return e;let f=c.filter(a=>l(a.id).startsWith(b)||k(a).startsWith(b));return 1===f.length?f[0]:null}async function q(a){if(!a||"original"!==a.mode&&"account"!==a.mode)return null;if("account"===a.mode)return p(a.accountRef);let b=await (0,d.mt)(),c=b.codexGatewayOriginalConnectionId||b.codexOriginalConnectionId||"";if(c){let a=await p(c);if(a)return a}return o(await (0,d.getProviderConnections)({provider:"codex",isActive:!0}))}function r(a=[]){if(!a.some(a=>"codex"===a.provider&&!1!==a.isActive))return[];let b=[{id:"auto-codex",object:"model",owned_by:"zevai-codex-gateway"},...(e.vq.cx||[]).filter(a=>!a.type||"llm"===a.type).map(a=>a.id).flatMap(a=>[{id:`router/${a}`,object:"model",owned_by:"zevai-codex-gateway"},{id:`original/${a}`,object:"model",owned_by:"zevai-codex-gateway"}])];for(let c of a.filter(a=>"codex"===a.provider&&!1!==a.isActive))b.push({id:`account/${k(c)}`,object:"model",owned_by:"zevai-codex-account"});return b}},8937:(a,b,c)=>{c.d(b,{j:()=>v});let d={openai:"https://api.openai.com/v1/images/generations",minimax:"https://api.minimaxi.com/v1/images/generations",openrouter:"https://openrouter.ai/api/v1/images/generations",recraft:"https://external.api.recraft.ai/v1/images/generations",xai:"https://api.x.ai/v1/images/generations"};function e(a){return{buildUrl:()=>d[a],buildHeaders:b=>{let c={"Content-Type":"application/json"},d=b?.apiKey||b?.accessToken;return d&&(c.Authorization=`Bearer ${d}`),"openrouter"===a&&(c["HTTP-Referer"]="https://endpoint-proxy.local",c["X-Title"]="Endpoint Proxy"),c},buildBody:(b,c)=>{let{prompt:d,n:e=1,size:f="1024x1024",quality:g,style:h,response_format:i}=c;if("xai"===a){let a={model:b,prompt:d,n:e};return i&&(a.response_format=i),a}let j={model:b,prompt:d,n:e,size:f};return g&&(j.quality=g),h&&(j.style=h),i&&(j.response_format=i),j},normalize:a=>a}}var f=c(29975),g=c(77598);let h="-image",i="high";function j(a){return a&&"string"==typeof a?/^data:image\//i.test(a)||/^https?:\/\//i.test(a)?a:`data:image/png;base64,${a}`:null}async function k(a,b,c={}){let d=a.body.getReader(),e=new TextDecoder,f="",g=null,h=null,i=0,j=0;for(;;){let a,{done:k,value:l}=await d.read();if(k)break;for(i+=l?.byteLength||0,f+=e.decode(l,{stream:!0});-1!==(a=f.indexOf("\n\n"));){let d=f.slice(0,a);f=f.slice(a+2);let e=d.split("\n"),k=null,l="";for(let a of e)a.startsWith("event:")?k=a.slice(6).trim():a.startsWith("data:")&&(l+=a.slice(5).trim());if(!k)continue;k!==h&&(b?.info?.("IMAGE",`codex progress: ${k}`),h=k);let m=Date.now();if(c.onProgress&&m-j>200&&(j=m,c.onProgress({stage:k,bytesReceived:i})),"response.image_generation_call.partial_image"===k&&l)try{let a=JSON.parse(l);c.onPartialImage&&a?.partial_image_b64&&c.onPartialImage({b64_json:a.partial_image_b64,index:a.partial_image_index})}catch{}if("response.output_item.done"===k&&l)try{let a=JSON.parse(l),b=a?.item;b?.type==="image_generation_call"&&b.result&&(g=b.result)}catch{}}}return g}let l="https://api.dev.runwayml.com/v1",m=new Set(["@cf/black-forest-labs/flux-2-dev","@cf/black-forest-labs/flux-2-klein-4b","@cf/black-forest-labs/flux-2-klein-9b"]),n=["negative_prompt","guidance","seed","num_steps","steps","strength"];function o(a){var b;let c;return{...(b=a.size,!(c=/^(\d+)x(\d+)$/.exec(String(b||"")))?{}:{width:Number(c[1]),height:Number(c[2])}),...Number.isFinite(Number(a.width))?{width:Number(a.width)}:{},...Number.isFinite(Number(a.height))?{height:Number(a.height)}:{}}}async function p(a){if(Array.isArray(a))return{bytes:a,b64:Buffer.from(a).toString("base64")};if("string"!=typeof a)return null;let b=a.trim();if(!b)return null;if(/^https?:\/\//i.test(b)){let a=await (0,f.W6)(b);return{bytes:q(a),b64:a}}let c=/^data:image\/[^;]+;base64,(.+)$/i.exec(b),d=c?c[1]:b;return{bytes:q(d),b64:d}}function q(a){try{return Array.from(Buffer.from(a,"base64"))}catch{return a}}function r(a,b,c){for(let d of n){let e=b[d];null!=e&&""!==e&&c(a,d,e)}}async function s(a){let b={prompt:a.prompt,...o(a)};r(b,a,(a,b,c)=>{a[b]=c});let c=await p(a.image);c&&(b.image_b64=c.b64,b.image=c.bytes);let d=await p(a.mask_image||a.maskImage||a.mask);return d&&(b.mask_b64=d.b64,b.mask=d.bytes,b.mask_image=d.bytes),b}function t(a){var b;if(a?.created&&Array.isArray(a?.data))return a;let c=a?.result??a,d=Array.isArray(c?.responses)?c.responses.find(a=>a?.success!==!1)?.result:null;if(d)return t(d);let e="string"==typeof(b=("string"==typeof c?c:null)||c?.image||c?.data?.[0]?.b64_json||c?.data?.[0]?.url)&&b?/^data:image\/[^;]+;base64,/i.test(b)?{b64_json:b.replace(/^data:image\/[^;]+;base64,/i,"")}:/^https?:\/\//i.test(b)?{url:b}:{b64_json:b}:null;return{created:(0,f.kv)(),data:e?[e]:[]}}let u={openai:e("openai"),minimax:e("minimax"),openrouter:e("openrouter"),recraft:e("recraft"),xai:e("xai"),gemini:{buildUrl:(a,b)=>{let c=b?.apiKey||b?.accessToken,d=a.replace(/^models\//,"");return`https://generativelanguage.googleapis.com/v1beta/models/${d}:generateContent?key=${encodeURIComponent(c)}`},buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,b)=>({contents:[{parts:[{text:b.prompt}]}],generationConfig:{responseModalities:["TEXT","IMAGE"]}}),normalize:(a,b)=>{let c=(a.candidates?.[0]?.content?.parts||[]).filter(a=>a.inlineData?.data).map(a=>({b64_json:a.inlineData.data}));return{created:(0,f.kv)(),data:c.length>0?c:[{b64_json:"",revised_prompt:b}]}}},codex:{stream:!0,buildUrl:()=>"https://chatgpt.com/backend-api/codex/responses",buildHeaders:a=>{let b=a?.providerSpecificData?.chatgptAccountId||function(a){try{let b=String(a||"").split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4,e=JSON.parse(Buffer.from(c+"=".repeat(d),"base64").toString("utf8"));return e?.["https://api.openai.com/auth"]?.chatgpt_account_id||null}catch{return null}}(a?.idToken);return{accept:"text/event-stream, application/json",authorization:`Bearer ${a?.accessToken||""}`,"chatgpt-account-id":b||"","content-type":"application/json",originator:"codex_cli_rs",session_id:(0,g.randomUUID)(),"user-agent":"codex_cli_rs/0.136.0",version:"0.136.0","x-client-request-id":(0,g.randomUUID)()}},buildBody:(a,b)=>{let c=[];Array.isArray(b.images)&&b.images.forEach(a=>{let b=j(a);b&&c.push(b)});let d=j(b.image);d&&c.push(d);let e=b.image_detail||i,f={type:"image_generation",output_format:(b.output_format||"png").toLowerCase()};return b.size&&""!==b.size&&(f.size=b.size),b.quality&&""!==b.quality&&(f.quality=b.quality),b.background&&""!==b.background&&(f.background=b.background),{model:a.endsWith(h)?a.slice(0,-h.length):a,instructions:"",input:[{type:"message",role:"user",content:function(a,b,c=i){let d=[];return b.forEach((a,b)=>{d.push({type:"input_text",text:`<image name=image${b+1}>`}),d.push({type:"input_image",image_url:a,detail:c}),d.push({type:"input_text",text:"</image>"})}),d.push({type:"input_text",text:a}),d}(b.prompt,c,e)}],tools:[f],tool_choice:"auto",parallel_tool_calls:!1,prompt_cache_key:(0,g.randomUUID)(),stream:!0,store:!1,reasoning:null}},async parseResponse(a,{log:b,streamToClient:c,onRequestSuccess:d}){if(c){let c;return{sseResponse:(c=new ReadableStream({async start(c){let e=new TextEncoder,g=(a,b)=>{c.enqueue(e.encode(`event: ${a}
2
2
  data: ${JSON.stringify(b)}
3
3
 
4
- `))};try{let c=await k(a,b,{onProgress:a=>g("progress",a),onPartialImage:a=>g("partial_image",a)});c?(d&&await d(),g("done",{created:(0,f.kv)(),data:[{b64_json:c}]})):g("error",{message:"Codex did not return an image. Account may not be entitled (Plus/Pro required)."})}catch(a){g("error",{message:a?.message||"Stream failed"})}finally{c.close()}}}),new Response(c,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no","Access-Control-Allow-Origin":"*"}}))}}let e=await k(a,b);if(!e)throw Error("Codex did not return an image. Account may not be entitled (Plus/Pro required).");return{created:(0,f.kv)(),data:[{b64_json:e}]}},normalize:a=>a},sdwebui:{noAuth:!0,buildUrl:()=>"http://localhost:7860/sdapi/v1/txt2img",buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,b)=>{let{prompt:c,n:d=1,size:e="1024x1024"}=b,[f,g]=e.split("x").map(Number);return{prompt:c,width:f||512,height:g||512,steps:20,batch_size:d}},normalize:a=>{let b=Array.isArray(a.images)?a.images.map(a=>({b64_json:a})):[];return{created:(0,f.kv)(),data:b}}},comfyui:{noAuth:!0,buildUrl:()=>"http://localhost:8188",buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,b)=>({prompt:b.prompt}),normalize:a=>a},huggingface:{buildUrl:a=>`https://api-inference.huggingface.co/models/${a}`,buildHeaders:a=>{let b={"Content-Type":"application/json"},c=a?.apiKey||a?.accessToken;return c&&(b.Authorization=`Bearer ${c}`),b},buildBody:(a,b)=>({inputs:b.prompt}),async parseResponse(a){let b=await a.arrayBuffer(),c=Buffer.from(b).toString("base64");return{created:(0,f.kv)(),data:[{b64_json:c}]}},normalize:a=>a},nanobanana:{async:!0,buildUrl:()=>"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",buildHeaders:a=>{let b={"Content-Type":"application/json"},c=a?.apiKey||a?.accessToken;return c&&(b.Authorization=`Bearer ${c}`),b},buildBody:(a,b)=>{let c=(0,f.CY)(b.size),d=!!(b.image||Array.isArray(b.images)&&b.images.length),e={prompt:b.prompt,type:d?"IMAGETOIAMGE":"TEXTTOIAMGE",numImages:b.n||1,image_size:c,callBackUrl:"https://localhost/callback"};if(d){let a=Array.isArray(b.images)?b.images.filter(Boolean):[];b.image&&a.push(b.image),e.imageUrls=a}return e},async parseResponse(a,{headers:b}){let c=await a.json();if(200!==c.code)throw Error(c.msg||"NanoBanana submit failed");let d=c.data?.taskId;if(!d)throw Error("NanoBanana: no taskId returned");let e=`https://api.nanobananaapi.ai/api/v1/nanobanana/record-info?taskId=${encodeURIComponent(d)}`,g=Date.now()+f.vv;for(;Date.now()<g;){await (0,f.yy)(f.fv);let a=await fetch(e,{headers:b});if(!a.ok)throw Error(`NanoBanana status ${a.status}`);let c=await a.json(),d=c.data?.successFlag;if(1===d)return c.data;if(2===d||3===d)throw Error(c.data?.errorMessage||"NanoBanana generation failed")}throw Error("NanoBanana polling timeout")},normalize:(a,b)=>{let c=a.response?.resultImageUrl||a.response?.originImageUrl;return c?{created:(0,f.kv)(),data:[{url:c,revised_prompt:b}]}:{created:(0,f.kv)(),data:[]}}},"fal-ai":{async:!0,buildUrl:a=>`https://queue.fal.run/${a}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Key ${b}`}},buildBody:(a,b)=>{let c={prompt:b.prompt,num_images:b.n||1};return b.size&&(c.image_size=(0,f.CY)(b.size)),b.image&&(c.image_url=b.image),c},async parseResponse(a,{headers:b}){let{status_url:c,response_url:d}=await a.json(),e=Date.now()+f.vv;for(;Date.now()<e;){await (0,f.yy)(f.fv);let a=await fetch(c,{headers:b});if(!a.ok)throw Error(`Fal status ${a.status}`);let e=await a.json();if("COMPLETED"===e.status){let a=await fetch(d,{headers:b});return await a.json()}if("FAILED"===e.status)throw Error(e.error||"Fal generation failed")}throw Error("Fal polling timeout")},normalize:a=>{let b=Array.isArray(a.images)?a.images:a.image?[a.image]:[];return{created:(0,f.kv)(),data:b.map(a=>({url:a.url||a}))}}},"stability-ai":{buildUrl:a=>`https://api.stability.ai/v2beta/stable-image/generate/${a.includes("ultra")?"ultra":a.includes("sd3")?"sd3":"core"}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Bearer ${b}`,Accept:"application/json"}},buildBody:(a,b)=>{let c={prompt:b.prompt,output_format:(b.output_format||"png").toLowerCase()};return b.size&&(c.aspect_ratio=(0,f.CY)(b.size)),b.style&&(c.style_preset=b.style),a.includes("sd3")&&(c.model=a),c},normalize:a=>a.image?{created:(0,f.kv)(),data:[{b64_json:a.image}]}:{created:(0,f.kv)(),data:[]}},"black-forest-labs":{async:!0,buildUrl:a=>`https://api.bfl.ai/v1/${a}`,buildHeaders:a=>({"Content-Type":"application/json","x-key":a?.apiKey||a?.accessToken}),buildBody:(a,b)=>{let c={prompt:b.prompt};if(b.size){let[a,d]=b.size.split("x").map(Number);a&&(c.width=a),d&&(c.height=d)}return b.image&&(c.image_prompt=b.image),c},async parseResponse(a,{headers:b}){let c=(await a.json()).polling_url;if(!c)throw Error("BFL: no polling_url returned");let d=Date.now()+f.vv;for(;Date.now()<d;){await (0,f.yy)(f.fv);let a=await fetch(c,{headers:{"x-key":b["x-key"],Accept:"application/json"}});if(!a.ok)throw Error(`BFL status ${a.status}`);let d=await a.json();if("Ready"===d.status)return d;if("Error"===d.status||"Failed"===d.status)throw Error(d.error||"BFL generation failed")}throw Error("BFL polling timeout")},normalize:a=>{let b=a.result?.sample;return b?{created:(0,f.kv)(),data:[{url:b}]}:{created:(0,f.kv)(),data:[]}}},runwayml:{async:!0,buildUrl:a=>`${l}/${a.includes("image")?"text_to_image":"image_to_video"}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Bearer ${b}`,"X-Runway-Version":"2024-11-06"}},buildBody:(a,b)=>{let c=!a.includes("image"),d=(0,f.CY)(b.size);return c?{promptText:b.prompt,model:a,ratio:d,duration:5,...b.image?{promptImage:b.image}:{}}:{promptText:b.prompt,model:a,ratio:d,...b.image?{referenceImages:[{uri:b.image}]}:{}}},async parseResponse(a,{headers:b}){let{id:c}=await a.json();if(!c)throw Error("Runway: no task id returned");let d=`${l}/tasks/${c}`,e=Date.now()+f.vv;for(;Date.now()<e;){await (0,f.yy)(f.fv);let a=await fetch(d,{headers:b});if(!a.ok)throw Error(`Runway status ${a.status}`);let c=await a.json();if("SUCCEEDED"===c.status)return c;if("FAILED"===c.status||"CANCELLED"===c.status)throw Error(c.failure||"Runway task failed")}throw Error("Runway polling timeout")},normalize:a=>{let b=Array.isArray(a.output)?a.output:[];return{created:(0,f.kv)(),data:b.map(a=>({url:a}))}}},"cloudflare-ai":{buildUrl:(a,b)=>{let c=b?.providerSpecificData?.accountId;if(!c)throw Error("cloudflare-ai requires accountId in providerSpecificData");return`https://api.cloudflare.com/client/v4/accounts/${c}/ai/run/${a}`},buildHeaders:(a,b)=>{let c={};"u">typeof FormData&&b instanceof FormData||(c["Content-Type"]="application/json");let d=a?.apiKey||a?.accessToken;return d&&(c.Authorization=`Bearer ${d}`),c},buildBody:async(a,b)=>m.has(a)?function(a){let b=new FormData;for(let[c,d]of(b.append("prompt",a.prompt),Object.entries(o(a))))b.append(c,String(d));return r(b,a,(a,b,c)=>{a.append(b,String(c))}),b}(b):await s(b),async parseResponse(a){if((a.headers.get("Content-Type")||"").toLowerCase().startsWith("image/")){let b=await a.arrayBuffer();return{created:(0,f.kv)(),data:[{b64_json:Buffer.from(b).toString("base64")}]}}return t(await a.json())},normalize:t}};function v(a){return u[a]||null}},18910:(a,b,c)=>{c.d(b,{Pr:()=>i,UP:()=>g,Vu:()=>h});var d=c(12557),e=c(43659);let f=new Map;function g(a){a?f.delete(a):f.clear()}function h(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function i({body:a,models:b,handleSingleModel:c,log:g,comboName:h,comboStrategy:j,comboStickyLimit:k=1}){let l=function(a,b,c,d=1){let e;if(!a||a.length<=1||"round-robin"!==c)return a;let g=b||"__default__",h=Number.isFinite(e=Number.parseInt(d,10))&&e>0?e:1,i=f.get(g),j="number"==typeof i?{index:i,consecutiveUseCount:0}:i||{index:0,consecutiveUseCount:0},k=j.index%a.length,l=function(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}(a,k),m=j.consecutiveUseCount+1;return m>=h?f.set(g,{index:(k+1)%a.length,consecutiveUseCount:0}):f.set(g,{index:k,consecutiveUseCount:m}),l}(b,h,j,k),m=null,n=null,o=null;for(let b=0;b<l.length;b++){let e=l[b];g.info("COMBO",`Trying model ${b+1}/${l.length}: ${e}`);try{let b=await c(a,e);if(b.ok)return g.info("COMBO",`Model ${e} succeeded`),b;let f=b.statusText||"",h=null;try{let a=await b.clone().json();f=a?.error?.message||a?.error||a?.message||f,h=a?.retryAfter||null}catch{}if(h&&(!n||new Date(h)<new Date(n))&&(n=h),"string"!=typeof f)try{f=JSON.stringify(f)}catch{f=String(f)}let{shouldFallback:i}=(0,d.hk)(b.status,f);if(!i)return g.warn("COMBO",`Model ${e} failed (no fallback)`,{status:b.status}),b;m=f||String(b.status),o=b.status,g.warn("COMBO",`Model ${e} failed, trying next`,{status:b.status})}catch(a){m=a.message||String(a),o=500,g.warn("COMBO",`Model ${e} threw error, trying next`,{error:m})}}let p=m&&m.toLowerCase().includes("no credentials")?503:o||503,q=m||"All combo models unavailable";if(n){let a=(0,d.Qo)(n);return g.warn("COMBO",`All models failed | ${q} (${a})`),(0,e.wO)(p,q,n,a)}return g.warn("COMBO",`All models failed | ${q}`),new Response(JSON.stringify({error:{message:q}}),{status:p,headers:{"Content-Type":"application/json"}})}},29975:(a,b,c)=>{c.d(b,{CY:()=>g,W6:()=>h,fv:()=>d,kv:()=>i,vv:()=>e,yy:()=>f});let d=1500,e=12e4,f=a=>new Promise(b=>setTimeout(b,a));function g(a){return a&&"string"==typeof a&&({"1024x1024":"1:1","1024x1792":"9:16","1792x1024":"16:9","1024x1536":"2:3","1536x1024":"3:2"})[a]||"1:1"}async function h(a){let b=await fetch(a);if(!b.ok)throw Error(`Failed to fetch image: ${b.status}`);let c=await b.arrayBuffer();return Buffer.from(c).toString("base64")}function i(){return Math.floor(Date.now()/1e3)}},38775:(a,b,c)=>{c.d(b,{d_:()=>i,mA:()=>h});var d=c(89718),e=c(40669),f=c(3359);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function h(a){let b,c=(0,f.s9)(a);if(c)return{...await h(c.modelString),gateway:{mode:c.mode,accountRef:c.accountRef||null,strictAccount:!!c.strictAccount,requestedModel:a,modelString:c.modelString}};let i=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!i.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===i.providerAlias);if(a)return{provider:a.id,model:i.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===i.providerAlias);if(b)return{provider:b.id,model:i.model};let c=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===i.providerAlias);return c?{provider:c.id,model:i.model}:{provider:i.provider,model:i.model}}return await (0,d.Dj)(i.model)?{provider:null,model:i.model}:(0,e.js)(a,d.getModelAliases)}async function i(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},55436:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{k:()=>o});var e=c(80238),f=c(89718),g=c(38775),h=c(72301),i=c(43659),j=c(41004),k=c(67828),l=c(18910),m=c(7803),n=a([h]);h=(n.then?(await n)():n)[0];let q=new Set(["sdwebui","comfyui"]);async function o(a){let b;try{b=await a.json()}catch{return(0,i.yj)(j.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=a.headers.get("x-connection-id")||null,h=(a.headers.get("accept")||"").includes("text/event-stream"),k="binary"===c.searchParams.get("response_format"),n=b.model,o=(0,e.Tr)(a),q=await (0,f.mt)();if(q.requireApiKey){if(!o)return(0,i.yj)(j.gx.UNAUTHORIZED,"Missing API key");if(!await (0,e.kI)(o))return(0,i.yj)(j.gx.UNAUTHORIZED,"Invalid API key")}if(!n)return(0,i.yj)(j.gx.BAD_REQUEST,"Missing model");if(!b.prompt)return(0,i.yj)(j.gx.BAD_REQUEST,"Missing required field: prompt");let r=await (0,g.d_)(n);if(r){let a=q.comboStrategies||{},c=a[n]?.fallbackStrategy||q.comboStrategy||"fallback",e=q.comboStickyRoundRobinLimit;return m.info("IMAGE",`Combo "${n}" with ${r.length} models (strategy: ${c}, sticky: ${e})`),(0,l.Pr)({body:b,models:r,handleSingleModel:(a,b)=>p(a,b,{wantsStream:h,binaryOutput:k,preferredConnectionId:d}),log:m,comboName:n,comboStrategy:c,comboStickyLimit:e})}return p(b,n,{wantsStream:h,binaryOutput:k,preferredConnectionId:d})}async function p(a,b,{wantsStream:c,binaryOutput:d,preferredConnectionId:f}={}){let l=await (0,g.mA)(b);if(!l.provider)return(0,i.yj)(j.gx.BAD_REQUEST,"Invalid model format");let{provider:m,model:n}=l;if(q.has(m)){let b=await (0,h.l)({body:a,modelInfo:{provider:m,model:n},credentials:null,binaryOutput:d});return b.success?b.response:(0,i.yj)(b.status||j.gx.BAD_GATEWAY,b.error||"Image generation failed")}let o=new Set,r=null,s=null;for(;;){let b=await (0,e.c1)(m,o,n,{preferredConnectionId:f});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=r||b.lastError||"Unavailable",c=s||Number(b.lastErrorCode)||j.gx.SERVICE_UNAVAILABLE;return(0,i.wO)(c,`[${m}/${n}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===o.size)return(0,i.yj)(j.gx.BAD_REQUEST,`No credentials for provider: ${m}`);return(0,i.yj)(s||j.gx.SERVICE_UNAVAILABLE,r||"All accounts unavailable")}let g=await (0,k.eU)(m,b),l=await (0,h.l)({body:a,modelInfo:{provider:m,model:n},credentials:g,streamToClient:c,binaryOutput:d,onCredentialsRefreshed:async a=>{await (0,k.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,e.Pt)(b.connectionId,b,n)}});if(l.success)return l.response;let{shouldFallback:p}=await (0,e.vk)(b.connectionId,l.status,l.error,m,n);if(p){o.add(b.connectionId),r=l.error,s=l.status;continue}return l.response}}d()}catch(a){d(a)}})},72301:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{l:()=>m});var e=c(43659),f=c(41004),g=c(8590),h=c(55330),i=c(8937),j=c(29975),k=a([h]);function l(a){return"u">typeof FormData&&a instanceof FormData||"string"==typeof a?a:JSON.stringify(a)}async function m({body:a,modelInfo:b,credentials:c,log:d,streamToClient:k=!1,binaryOutput:n=!1,onCredentialsRefreshed:o,onRequestSuccess:p}){let q,r,s,t,u,{provider:v,model:w}=b;if(!a.prompt)return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: prompt");let x=(0,i.j)(v);if(!x)return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${v}' does not support image generation`);try{q=x.buildUrl(w,c),s=await x.buildBody(w,a),r=x.buildHeaders(c,s,w,a)}catch(a){return(0,e.A1)(f.gx.BAD_REQUEST,a.message||`Invalid ${v} image request`)}d?.debug?.("IMAGE",`${v.toUpperCase()} | ${w} | prompt="${a.prompt.slice(0,50)}..."`);try{t=await fetch(q,{method:"POST",headers:r,body:l(s)})}catch(b){let a=(0,e.lR)(b,v,w,f.gx.BAD_GATEWAY);return d?.debug?.("IMAGE",`Fetch error: ${a}`),(0,e.A1)(f.gx.BAD_GATEWAY,a)}let y=(0,h.SB)(v);if(!y?.noAuth&&!x.noAuth&&(t.status===f.gx.UNAUTHORIZED||t.status===f.gx.FORBIDDEN)){let b=await (0,g.qZ)(()=>y.refreshCredentials(c,d),3,d);if(b?.accessToken||b?.apiKey){d?.info?.("TOKEN",`${v.toUpperCase()} | refreshed for image generation`),Object.assign(c,b),o&&await o(b);try{let b=await x.buildBody(w,a),d=x.buildHeaders(c,b,w,a),e=x.buildUrl(w,c);t=await fetch(e,{method:"POST",headers:d,body:l(b)})}catch{d?.warn?.("TOKEN",`${v.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${v.toUpperCase()} | refresh failed`)}if(!t.ok){let{statusCode:a,message:b}=await (0,e.zL)(t),c=(0,e.lR)(Error(b),v,w,a);return d?.debug?.("IMAGE",`Provider error: ${c}`),(0,e.A1)(a,c)}try{if(x.parseResponse){if(u=await x.parseResponse(t,{headers:r,log:d,streamToClient:k,onRequestSuccess:p,url:q,requestBody:s,model:w,body:a}),u?.sseResponse)return{success:!0,response:u.sseResponse}}else u=await t.json()}catch(a){return(0,e.A1)(f.gx.BAD_GATEWAY,a.message||`Invalid response from ${v}`)}p&&await p();let z=x.normalize(u,a.prompt),A=z.created&&Array.isArray(z.data)?z:u;if(n){let b=A.data?.[0],c=b?.b64_json;if(!c&&b?.url)try{c=await (0,j.W6)(b.url)}catch{}if(c){let b=Buffer.from(c,"base64"),d=(a.output_format||"png").toLowerCase();return{success:!0,response:new Response(b,{headers:{"Content-Type":"jpeg"===d||"jpg"===d?"image/jpeg":"webp"===d?"image/webp":"image/png","Content-Disposition":`inline; filename="image.${"jpeg"===d?"jpg":d}"`,"Access-Control-Allow-Origin":"*"}})}}}return{success:!0,response:new Response(JSON.stringify(A),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}h=(k.then?(await k)():k)[0],d()}catch(a){d(a)}})}};
4
+ `))};try{let c=await k(a,b,{onProgress:a=>g("progress",a),onPartialImage:a=>g("partial_image",a)});c?(d&&await d(),g("done",{created:(0,f.kv)(),data:[{b64_json:c}]})):g("error",{message:"Codex did not return an image. Account may not be entitled (Plus/Pro required)."})}catch(a){g("error",{message:a?.message||"Stream failed"})}finally{c.close()}}}),new Response(c,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no","Access-Control-Allow-Origin":"*"}}))}}let e=await k(a,b);if(!e)throw Error("Codex did not return an image. Account may not be entitled (Plus/Pro required).");return{created:(0,f.kv)(),data:[{b64_json:e}]}},normalize:a=>a},sdwebui:{noAuth:!0,buildUrl:()=>"http://localhost:7860/sdapi/v1/txt2img",buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,b)=>{let{prompt:c,n:d=1,size:e="1024x1024"}=b,[f,g]=e.split("x").map(Number);return{prompt:c,width:f||512,height:g||512,steps:20,batch_size:d}},normalize:a=>{let b=Array.isArray(a.images)?a.images.map(a=>({b64_json:a})):[];return{created:(0,f.kv)(),data:b}}},comfyui:{noAuth:!0,buildUrl:()=>"http://localhost:8188",buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,b)=>({prompt:b.prompt}),normalize:a=>a},huggingface:{buildUrl:a=>`https://api-inference.huggingface.co/models/${a}`,buildHeaders:a=>{let b={"Content-Type":"application/json"},c=a?.apiKey||a?.accessToken;return c&&(b.Authorization=`Bearer ${c}`),b},buildBody:(a,b)=>({inputs:b.prompt}),async parseResponse(a){let b=await a.arrayBuffer(),c=Buffer.from(b).toString("base64");return{created:(0,f.kv)(),data:[{b64_json:c}]}},normalize:a=>a},nanobanana:{async:!0,buildUrl:()=>"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",buildHeaders:a=>{let b={"Content-Type":"application/json"},c=a?.apiKey||a?.accessToken;return c&&(b.Authorization=`Bearer ${c}`),b},buildBody:(a,b)=>{let c=(0,f.CY)(b.size),d=!!(b.image||Array.isArray(b.images)&&b.images.length),e={prompt:b.prompt,type:d?"IMAGETOIAMGE":"TEXTTOIAMGE",numImages:b.n||1,image_size:c,callBackUrl:"https://localhost/callback"};if(d){let a=Array.isArray(b.images)?b.images.filter(Boolean):[];b.image&&a.push(b.image),e.imageUrls=a}return e},async parseResponse(a,{headers:b}){let c=await a.json();if(200!==c.code)throw Error(c.msg||"NanoBanana submit failed");let d=c.data?.taskId;if(!d)throw Error("NanoBanana: no taskId returned");let e=`https://api.nanobananaapi.ai/api/v1/nanobanana/record-info?taskId=${encodeURIComponent(d)}`,g=Date.now()+f.vv;for(;Date.now()<g;){await (0,f.yy)(f.fv);let a=await fetch(e,{headers:b});if(!a.ok)throw Error(`NanoBanana status ${a.status}`);let c=await a.json(),d=c.data?.successFlag;if(1===d)return c.data;if(2===d||3===d)throw Error(c.data?.errorMessage||"NanoBanana generation failed")}throw Error("NanoBanana polling timeout")},normalize:(a,b)=>{let c=a.response?.resultImageUrl||a.response?.originImageUrl;return c?{created:(0,f.kv)(),data:[{url:c,revised_prompt:b}]}:{created:(0,f.kv)(),data:[]}}},"fal-ai":{async:!0,buildUrl:a=>`https://queue.fal.run/${a}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Key ${b}`}},buildBody:(a,b)=>{let c={prompt:b.prompt,num_images:b.n||1};return b.size&&(c.image_size=(0,f.CY)(b.size)),b.image&&(c.image_url=b.image),c},async parseResponse(a,{headers:b}){let{status_url:c,response_url:d}=await a.json(),e=Date.now()+f.vv;for(;Date.now()<e;){await (0,f.yy)(f.fv);let a=await fetch(c,{headers:b});if(!a.ok)throw Error(`Fal status ${a.status}`);let e=await a.json();if("COMPLETED"===e.status){let a=await fetch(d,{headers:b});return await a.json()}if("FAILED"===e.status)throw Error(e.error||"Fal generation failed")}throw Error("Fal polling timeout")},normalize:a=>{let b=Array.isArray(a.images)?a.images:a.image?[a.image]:[];return{created:(0,f.kv)(),data:b.map(a=>({url:a.url||a}))}}},"stability-ai":{buildUrl:a=>`https://api.stability.ai/v2beta/stable-image/generate/${a.includes("ultra")?"ultra":a.includes("sd3")?"sd3":"core"}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Bearer ${b}`,Accept:"application/json"}},buildBody:(a,b)=>{let c={prompt:b.prompt,output_format:(b.output_format||"png").toLowerCase()};return b.size&&(c.aspect_ratio=(0,f.CY)(b.size)),b.style&&(c.style_preset=b.style),a.includes("sd3")&&(c.model=a),c},normalize:a=>a.image?{created:(0,f.kv)(),data:[{b64_json:a.image}]}:{created:(0,f.kv)(),data:[]}},"black-forest-labs":{async:!0,buildUrl:a=>`https://api.bfl.ai/v1/${a}`,buildHeaders:a=>({"Content-Type":"application/json","x-key":a?.apiKey||a?.accessToken}),buildBody:(a,b)=>{let c={prompt:b.prompt};if(b.size){let[a,d]=b.size.split("x").map(Number);a&&(c.width=a),d&&(c.height=d)}return b.image&&(c.image_prompt=b.image),c},async parseResponse(a,{headers:b}){let c=(await a.json()).polling_url;if(!c)throw Error("BFL: no polling_url returned");let d=Date.now()+f.vv;for(;Date.now()<d;){await (0,f.yy)(f.fv);let a=await fetch(c,{headers:{"x-key":b["x-key"],Accept:"application/json"}});if(!a.ok)throw Error(`BFL status ${a.status}`);let d=await a.json();if("Ready"===d.status)return d;if("Error"===d.status||"Failed"===d.status)throw Error(d.error||"BFL generation failed")}throw Error("BFL polling timeout")},normalize:a=>{let b=a.result?.sample;return b?{created:(0,f.kv)(),data:[{url:b}]}:{created:(0,f.kv)(),data:[]}}},runwayml:{async:!0,buildUrl:a=>`${l}/${a.includes("image")?"text_to_image":"image_to_video"}`,buildHeaders:a=>{let b=a?.apiKey||a?.accessToken;return{"Content-Type":"application/json",Authorization:`Bearer ${b}`,"X-Runway-Version":"2024-11-06"}},buildBody:(a,b)=>{let c=!a.includes("image"),d=(0,f.CY)(b.size);return c?{promptText:b.prompt,model:a,ratio:d,duration:5,...b.image?{promptImage:b.image}:{}}:{promptText:b.prompt,model:a,ratio:d,...b.image?{referenceImages:[{uri:b.image}]}:{}}},async parseResponse(a,{headers:b}){let{id:c}=await a.json();if(!c)throw Error("Runway: no task id returned");let d=`${l}/tasks/${c}`,e=Date.now()+f.vv;for(;Date.now()<e;){await (0,f.yy)(f.fv);let a=await fetch(d,{headers:b});if(!a.ok)throw Error(`Runway status ${a.status}`);let c=await a.json();if("SUCCEEDED"===c.status)return c;if("FAILED"===c.status||"CANCELLED"===c.status)throw Error(c.failure||"Runway task failed")}throw Error("Runway polling timeout")},normalize:a=>{let b=Array.isArray(a.output)?a.output:[];return{created:(0,f.kv)(),data:b.map(a=>({url:a}))}}},"cloudflare-ai":{buildUrl:(a,b)=>{let c=b?.providerSpecificData?.accountId;if(!c)throw Error("cloudflare-ai requires accountId in providerSpecificData");return`https://api.cloudflare.com/client/v4/accounts/${c}/ai/run/${a}`},buildHeaders:(a,b)=>{let c={};"u">typeof FormData&&b instanceof FormData||(c["Content-Type"]="application/json");let d=a?.apiKey||a?.accessToken;return d&&(c.Authorization=`Bearer ${d}`),c},buildBody:async(a,b)=>m.has(a)?function(a){let b=new FormData;for(let[c,d]of(b.append("prompt",a.prompt),Object.entries(o(a))))b.append(c,String(d));return r(b,a,(a,b,c)=>{a.append(b,String(c))}),b}(b):await s(b),async parseResponse(a){if((a.headers.get("Content-Type")||"").toLowerCase().startsWith("image/")){let b=await a.arrayBuffer();return{created:(0,f.kv)(),data:[{b64_json:Buffer.from(b).toString("base64")}]}}return t(await a.json())},normalize:t}};function v(a){return u[a]||null}},18910:(a,b,c)=>{c.d(b,{Pr:()=>i,UP:()=>g,Vu:()=>h});var d=c(12557),e=c(43659);let f=new Map;function g(a){a?f.delete(a):f.clear()}function h(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function i({body:a,models:b,handleSingleModel:c,log:g,comboName:h,comboStrategy:j,comboStickyLimit:k=1}){let l=function(a,b,c,d=1){let e;if(!a||a.length<=1||"round-robin"!==c)return a;let g=b||"__default__",h=Number.isFinite(e=Number.parseInt(d,10))&&e>0?e:1,i=f.get(g),j="number"==typeof i?{index:i,consecutiveUseCount:0}:i||{index:0,consecutiveUseCount:0},k=j.index%a.length,l=function(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}(a,k),m=j.consecutiveUseCount+1;return m>=h?f.set(g,{index:(k+1)%a.length,consecutiveUseCount:0}):f.set(g,{index:k,consecutiveUseCount:m}),l}(b,h,j,k),m=null,n=null,o=null;for(let b=0;b<l.length;b++){let e=l[b];g.info("COMBO",`Trying model ${b+1}/${l.length}: ${e}`);try{let b=await c(a,e);if(b.ok)return g.info("COMBO",`Model ${e} succeeded`),b;let f=b.statusText||"",h=null;try{let a=await b.clone().json();f=a?.error?.message||a?.error||a?.message||f,h=a?.retryAfter||null}catch{}if(h&&(!n||new Date(h)<new Date(n))&&(n=h),"string"!=typeof f)try{f=JSON.stringify(f)}catch{f=String(f)}let{shouldFallback:i}=(0,d.hk)(b.status,f);if(!i)return g.warn("COMBO",`Model ${e} failed (no fallback)`,{status:b.status}),b;m=f||String(b.status),o=b.status,g.warn("COMBO",`Model ${e} failed, trying next`,{status:b.status})}catch(a){m=a.message||String(a),o=500,g.warn("COMBO",`Model ${e} threw error, trying next`,{error:m})}}let p=m&&m.toLowerCase().includes("no credentials")?503:o||503,q=m||"All combo models unavailable";if(n){let a=(0,d.Qo)(n);return g.warn("COMBO",`All models failed | ${q} (${a})`),(0,e.wO)(p,q,n,a)}return g.warn("COMBO",`All models failed | ${q}`),new Response(JSON.stringify({error:{message:q}}),{status:p,headers:{"Content-Type":"application/json"}})}},29975:(a,b,c)=>{c.d(b,{CY:()=>g,W6:()=>h,fv:()=>d,kv:()=>i,vv:()=>e,yy:()=>f});let d=1500,e=12e4,f=a=>new Promise(b=>setTimeout(b,a));function g(a){return a&&"string"==typeof a&&({"1024x1024":"1:1","1024x1792":"9:16","1792x1024":"16:9","1024x1536":"2:3","1536x1024":"3:2"})[a]||"1:1"}async function h(a){let b=await fetch(a);if(!b.ok)throw Error(`Failed to fetch image: ${b.status}`);let c=await b.arrayBuffer();return Buffer.from(c).toString("base64")}function i(){return Math.floor(Date.now()/1e3)}},38775:(a,b,c)=>{c.d(b,{d_:()=>i,mA:()=>h});var d=c(89718),e=c(40669),f=c(3359);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function h(a){let b,c=(0,f.s9)(a);if(c)return{...await h(c.modelString),gateway:{mode:c.mode,accountRef:c.accountRef||null,strictAccount:!!c.strictAccount,requestedModel:a,modelString:c.modelString}};let i=(b=(0,e.Xh)(a),b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b);if(!i.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===i.providerAlias);if(a)return{provider:a.id,model:i.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===i.providerAlias);if(b)return{provider:b.id,model:i.model};let c=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===i.providerAlias);return c?{provider:c.id,model:i.model}:{provider:i.provider,model:i.model}}return await (0,d.Dj)(i.model)?{provider:null,model:i.model}:(0,e.js)(a,d.getModelAliases)}async function i(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},40669:(a,b,c)=>{c.d(b,{Xh:()=>e,js:()=>f});let d={cc:"claude",cx:"codex",gc:"gemini-cli",qw:"qwen",if:"iflow",ag:"antigravity",gh:"github",kr:"kiro",cu:"cursor",kc:"kilocode",kmc:"kimi-coding",cl:"cline",oc:"opencode",ocg:"opencode-go",qd:"qoder",qoder:"qoder",acl:"autoclaw",autoclaw:"autoclaw",cb:"codebuddy","cb-cn":"codebuddy-cn",codebuddy:"codebuddy","codebuddy-cn":"codebuddy-cn",el:"elevenlabs",openai:"openai",vercel:"vercel-ai-gateway","vercel-ai-gateway":"vercel-ai-gateway",anthropic:"anthropic",gemini:"gemini",openrouter:"openrouter",glm:"glm",kimi:"kimi",minimax:"minimax","minimax-cn":"minimax-cn",hf:"huggingface",huggingface:"huggingface",ds:"deepseek",deepseek:"deepseek",cmc:"commandcode",commandcode:"commandcode",groq:"groq",xai:"xai",gcli:"grok-cli","grok-cli":"grok-cli",pa:"perplexity-agent","perplexity-agent":"perplexity-agent",mistral:"mistral",pplx:"perplexity",perplexity:"perplexity",together:"together",fireworks:"fireworks",cerebras:"cerebras",cohere:"cohere",nvidia:"nvidia",nebius:"nebius",siliconflow:"siliconflow",hyp:"hyperbolic",hyperbolic:"hyperbolic",dg:"deepgram",deepgram:"deepgram",aai:"assemblyai",assemblyai:"assemblyai",nb:"nanobanana",nanobanana:"nanobanana",ch:"chutes",chutes:"chutes",ark:"volcengine-ark","volcengine-ark":"volcengine-ark",byteplus:"byteplus",bpm:"byteplus",cursor:"cursor",vx:"vertex",vertex:"vertex",vxp:"vertex-partner","vertex-partner":"vertex-partner",gw:"grok-web","grok-web":"grok-web",pw:"perplexity-web","perplexity-web":"perplexity-web",mimo:"xiaomi-mimo","xiaomi-mimo":"xiaomi-mimo",xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan",mmf:"mimo-free","mimo-free":"mimo-free",venice:"venice",fl:"featherless",featherless:"featherless",cf:"cloudflare-ai","cloudflare-ai":"cloudflare-ai",fal:"fal-ai","fal-ai":"fal-ai",stability:"stability-ai","stability-ai":"stability-ai",bfl:"black-forest-labs","black-forest-labs":"black-forest-labs",recraft:"recraft",topaz:"topaz",runway:"runwayml",runwayml:"runwayml",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly",agentrouter:"agentrouter",aimlapi:"aimlapi",aiml:"aimlapi",novita:"novita",modal:"modal",mdl:"modal",reka:"reka",nlpcloud:"nlpcloud",nlpc:"nlpcloud",bazaarlink:"bazaarlink",bzl:"bazaarlink",completions:"completions",cpl:"completions",enally:"enally",enly:"enally",freetheai:"freetheai",fta:"freetheai",llm7:"llm7",lepton:"lepton",kluster:"kluster",ai21:"ai21","inference-net":"inference-net",inet:"inference-net",predibase:"predibase",bytez:"bytez",morph:"morph",longcat:"longcat",lc:"longcat",puter:"puter",pu:"puter",uncloseai:"uncloseai",unc:"uncloseai",scaleway:"scaleway",scw:"scaleway",deepinfra:"deepinfra",sambanova:"sambanova",samba:"sambanova",nscale:"nscale",baseten:"baseten",publicai:"publicai","nous-research":"nous-research",nous:"nous-research",glhf:"glhf",bb:"blackbox",blackbox:"blackbox"};function e(a){if(!a)return{provider:null,model:null,isAlias:!1,providerAlias:null};if(a.includes("/")){let b=a.indexOf("/"),c=a.slice(0,b),e=a.slice(b+1);return{provider:d[c]||c,model:e,isAlias:!1,providerAlias:c}}return{provider:null,model:a,isAlias:!0,providerAlias:null}}async function f(a,b){let c=e(a);if(!c.isAlias)return{provider:c.provider,model:c.model};let f="function"==typeof b?await b():b,g=function(a,b){var c,e;if(!b)return null;let f=b[a];if(!f)return null;if("string"==typeof f&&f.includes("/")){let a=f.indexOf("/");return{provider:d[c=f.slice(0,a)]||c,model:f.slice(a+1)}}return"object"==typeof f&&f.provider&&f.model?{provider:d[e=f.provider]||e,model:f.model}:null}(c.model,f);return g||{provider:function(a){if(!a)return"openai";let b=a.toLowerCase();return b.startsWith("claude-")?"anthropic":b.startsWith("gemini-")?"gemini":/^gpt-5\.6(-\w+)*$/.test(b)||/^gpt-5\.5(-\w+)*$/.test(b)||/^gpt-5\.4(-\w+)*$/.test(b)||/^gpt-5(\.\d+)?-codex(-\w+)*$/.test(b)?"codex":b.startsWith("gpt-")||b.startsWith("o1")||b.startsWith("o3")||b.startsWith("o4")?"openai":b.startsWith("deepseek-")?"openrouter":"openai"}(c.model),model:c.model}}},55436:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{k:()=>o});var e=c(80238),f=c(89718),g=c(38775),h=c(72301),i=c(43659),j=c(41004),k=c(67828),l=c(18910),m=c(7803),n=a([h]);h=(n.then?(await n)():n)[0];let q=new Set(["sdwebui","comfyui"]);async function o(a){let b;try{b=await a.json()}catch{return(0,i.yj)(j.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=a.headers.get("x-connection-id")||null,h=(a.headers.get("accept")||"").includes("text/event-stream"),k="binary"===c.searchParams.get("response_format"),n=b.model,o=(0,e.Tr)(a),q=await (0,f.mt)();if(q.requireApiKey){if(!o)return(0,i.yj)(j.gx.UNAUTHORIZED,"Missing API key");if(!await (0,e.kI)(o))return(0,i.yj)(j.gx.UNAUTHORIZED,"Invalid API key")}if(!n)return(0,i.yj)(j.gx.BAD_REQUEST,"Missing model");if(!b.prompt)return(0,i.yj)(j.gx.BAD_REQUEST,"Missing required field: prompt");let r=await (0,g.d_)(n);if(r){let a=q.comboStrategies||{},c=a[n]?.fallbackStrategy||q.comboStrategy||"fallback",e=q.comboStickyRoundRobinLimit;return m.info("IMAGE",`Combo "${n}" with ${r.length} models (strategy: ${c}, sticky: ${e})`),(0,l.Pr)({body:b,models:r,handleSingleModel:(a,b)=>p(a,b,{wantsStream:h,binaryOutput:k,preferredConnectionId:d}),log:m,comboName:n,comboStrategy:c,comboStickyLimit:e})}return p(b,n,{wantsStream:h,binaryOutput:k,preferredConnectionId:d})}async function p(a,b,{wantsStream:c,binaryOutput:d,preferredConnectionId:f}={}){let l=await (0,g.mA)(b);if(!l.provider)return(0,i.yj)(j.gx.BAD_REQUEST,"Invalid model format");let{provider:m,model:n}=l;if(q.has(m)){let b=await (0,h.l)({body:a,modelInfo:{provider:m,model:n},credentials:null,binaryOutput:d});return b.success?b.response:(0,i.yj)(b.status||j.gx.BAD_GATEWAY,b.error||"Image generation failed")}let o=new Set,r=null,s=null;for(;;){let b=await (0,e.c1)(m,o,n,{preferredConnectionId:f});if(!b||b.allRateLimited){if(b?.allRateLimited){let a=r||b.lastError||"Unavailable",c=s||Number(b.lastErrorCode)||j.gx.SERVICE_UNAVAILABLE;return(0,i.wO)(c,`[${m}/${n}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===o.size)return(0,i.yj)(j.gx.BAD_REQUEST,`No credentials for provider: ${m}`);return(0,i.yj)(s||j.gx.SERVICE_UNAVAILABLE,r||"All accounts unavailable")}let g=await (0,k.eU)(m,b),l=await (0,h.l)({body:a,modelInfo:{provider:m,model:n},credentials:g,streamToClient:c,binaryOutput:d,onCredentialsRefreshed:async a=>{await (0,k.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,e.Pt)(b.connectionId,b,n)}});if(l.success)return l.response;let{shouldFallback:p}=await (0,e.vk)(b.connectionId,l.status,l.error,m,n);if(p){o.add(b.connectionId),r=l.error,s=l.status;continue}return l.response}}d()}catch(a){d(a)}})},72301:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{l:()=>m});var e=c(43659),f=c(41004),g=c(8590),h=c(55330),i=c(8937),j=c(29975),k=a([h]);function l(a){return"u">typeof FormData&&a instanceof FormData||"string"==typeof a?a:JSON.stringify(a)}async function m({body:a,modelInfo:b,credentials:c,log:d,streamToClient:k=!1,binaryOutput:n=!1,onCredentialsRefreshed:o,onRequestSuccess:p}){let q,r,s,t,u,{provider:v,model:w}=b;if(!a.prompt)return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: prompt");let x=(0,i.j)(v);if(!x)return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${v}' does not support image generation`);try{q=x.buildUrl(w,c),s=await x.buildBody(w,a),r=x.buildHeaders(c,s,w,a)}catch(a){return(0,e.A1)(f.gx.BAD_REQUEST,a.message||`Invalid ${v} image request`)}d?.debug?.("IMAGE",`${v.toUpperCase()} | ${w} | prompt="${a.prompt.slice(0,50)}..."`);try{t=await fetch(q,{method:"POST",headers:r,body:l(s)})}catch(b){let a=(0,e.lR)(b,v,w,f.gx.BAD_GATEWAY);return d?.debug?.("IMAGE",`Fetch error: ${a}`),(0,e.A1)(f.gx.BAD_GATEWAY,a)}let y=(0,h.SB)(v);if(!y?.noAuth&&!x.noAuth&&(t.status===f.gx.UNAUTHORIZED||t.status===f.gx.FORBIDDEN)){let b=await (0,g.qZ)(()=>y.refreshCredentials(c,d),3,d);if(b?.accessToken||b?.apiKey){d?.info?.("TOKEN",`${v.toUpperCase()} | refreshed for image generation`),Object.assign(c,b),o&&await o(b);try{let b=await x.buildBody(w,a),d=x.buildHeaders(c,b,w,a),e=x.buildUrl(w,c);t=await fetch(e,{method:"POST",headers:d,body:l(b)})}catch{d?.warn?.("TOKEN",`${v.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${v.toUpperCase()} | refresh failed`)}if(!t.ok){let{statusCode:a,message:b}=await (0,e.zL)(t),c=(0,e.lR)(Error(b),v,w,a);return d?.debug?.("IMAGE",`Provider error: ${c}`),(0,e.A1)(a,c)}try{if(x.parseResponse){if(u=await x.parseResponse(t,{headers:r,log:d,streamToClient:k,onRequestSuccess:p,url:q,requestBody:s,model:w,body:a}),u?.sseResponse)return{success:!0,response:u.sseResponse}}else u=await t.json()}catch(a){return(0,e.A1)(f.gx.BAD_GATEWAY,a.message||`Invalid response from ${v}`)}p&&await p();let z=x.normalize(u,a.prompt),A=z.created&&Array.isArray(z.data)?z:u;if(n){let b=A.data?.[0],c=b?.b64_json;if(!c&&b?.url)try{c=await (0,j.W6)(b.url)}catch{}if(c){let b=Buffer.from(c,"base64"),d=(a.output_format||"png").toLowerCase();return{success:!0,response:new Response(b,{headers:{"Content-Type":"jpeg"===d||"jpg"===d?"image/jpeg":"webp"===d?"image/webp":"image/png","Content-Disposition":`inline; filename="image.${"jpeg"===d?"jpg":d}"`,"Access-Control-Allow-Origin":"*"}})}}}return{success:!0,response:new Response(JSON.stringify(A),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}h=(k.then?(await k)():k)[0],d()}catch(a){d(a)}})}};
@@ -40,4 +40,4 @@
40
40
  <style>body{font-family:system-ui;display:flex;justify-content:center;align-items:center;height:100vh;margin:0;background:#f5f5f5}.c{text-align:center;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.i{color:${a?"#22c55e":"#ef4444"};font-size:3rem}h1{margin:1rem 0}p{color:#666}</style>
41
41
  </head><body><div class="c"><div class="i">${a?"&#10003;":"&#10007;"}</div><h1>${c}</h1><p>${b}</p><p>Closing in <span id="cd">3</span>s...</p>
42
42
  <script>let n=3;const c=document.getElementById("cd");const t=setInterval(()=>{n--;c.textContent=n;if(n<=0){clearInterval(t);window.close();}},1000);</script>
43
- </div></body></html>`}function o(a){return new Promise(b=>{if(h)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),k=h?j.get(h):null;if(k){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(5433),c.e(4404),c.e(2557),c.e(3155),c.e(3110),c.e(318),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("codex",g,k.redirectUri,k.codeVerifier,h),j=await b({provider:"codex",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});k.status="done",k.connectionId=j.id,k.email=j.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!0,"You can close this window."))}catch(a){k.status="error",k.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!1,a.message))}finally{p()}return}let l=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:l}),d.end(),p()});d.listen(1455,"127.0.0.1",()=>{h=d,i=setTimeout(()=>p(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function p(){i&&(clearTimeout(i),i=null),h&&(h.close(),h=null)}let q=null,r=null,s=new Map;function t({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(s.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function u(a){return s.get(a)||null}function v(a){s.delete(a)}function w(a){return new Promise(b=>{if(q)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),j=h?s.get(h):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(5433),c.e(4404),c.e(2557),c.e(3155),c.e(3110),c.e(318),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("xai",g,j.redirectUri,j.codeVerifier,h),k=await b({provider:"xai",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!1,a.message))}finally{x()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),x()});d.listen(56121,"127.0.0.1",()=>{q=d,r=setTimeout(()=>x(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function x(){r&&(clearTimeout(r),r=null),q&&(q.close(),q=null)}},73159:(a,b,c)=>{c.d(b,{Ue:()=>j,oT:()=>k,qF:()=>h});let d="https://auth.x.ai",e="/oauth2/authorize",f="/oauth2/token",g="/.well-known/openid-configuration",h="openid profile email offline_access grok-cli:access api:access",i="/callback",j=96,k={clientId:"b1a00492-073a-47ea-816f-4c329264a828",issuer:d,authEndpointPath:e,tokenEndpointPath:f,discoveryPath:g,authorizeUrl:`${d}${e}`,tokenUrl:`${d}${f}`,discoveryUrl:`${d}${g}`,scope:h,apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${i}`,loopbackPort:56121,callbackPath:i,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/zevairouter",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>h,Hp:()=>j,LT:()=>i,MZ:()=>s,Nl:()=>y,Nu:()=>o,OV:()=>g,Td:()=>v,Tx:()=>p,WN:()=>q,Ww:()=>A,YT:()=>m,ZL:()=>l,cD:()=>n,f7:()=>x,hF:()=>k,lB:()=>t,ne:()=>z,qp:()=>w,t:()=>r,w1:()=>u});var d=c(21820),e=c(73159);function f(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let g={clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},h={clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},i={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},j={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},k={openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},l={clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},m={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:f(),pluginType:2})};function n(){return{ideType:9,platform:f(),pluginType:2}}let o={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},p={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},q={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},r={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},s={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},t={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},u={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},v={webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},w={clientId:"b1a00492-073a-47ea-816f-4c329264a828",deviceCodeUrl:"https://auth.x.ai/oauth2/device/code",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",scope:e.qF,referrer:"grok-build",refreshLeadMs:3e5},x={defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},y={baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",accountUrl:"https://www.codebuddy.ai/v2/plugin/login/account",accountsUrl:"https://www.codebuddy.ai/v2/plugin/accounts",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",domain:"www.codebuddy.ai",platform:"CLI",pollInterval:5e3},z={baseUrl:"https://www.codebuddy.cn",stateUrl:"https://www.codebuddy.cn/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.cn/v2/plugin/auth/token",accountUrl:"https://www.codebuddy.cn/v2/plugin/login/account",accountsUrl:"https://www.codebuddy.cn/v2/plugin/accounts",refreshUrl:"https://www.codebuddy.cn/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",domain:"www.codebuddy.cn",platform:"CLI",pollInterval:5e3},A=3e5}};
43
+ </div></body></html>`}function o(a){return new Promise(b=>{if(h)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),k=h?j.get(h):null;if(k){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(5433),c.e(4404),c.e(2557),c.e(7276),c.e(3110),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("codex",g,k.redirectUri,k.codeVerifier,h),j=await b({provider:"codex",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});k.status="done",k.connectionId=j.id,k.email=j.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!0,"You can close this window."))}catch(a){k.status="error",k.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!1,a.message))}finally{p()}return}let l=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:l}),d.end(),p()});d.listen(1455,"127.0.0.1",()=>{h=d,i=setTimeout(()=>p(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function p(){i&&(clearTimeout(i),i=null),h&&(h.close(),h=null)}let q=null,r=null,s=new Map;function t({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(s.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function u(a){return s.get(a)||null}function v(a){s.delete(a)}function w(a){return new Promise(b=>{if(q)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),j=h?s.get(h):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(5433),c.e(4404),c.e(2557),c.e(7276),c.e(3110),c.e(5330),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("xai",g,j.redirectUri,j.codeVerifier,h),k=await b({provider:"xai",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!1,a.message))}finally{x()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),x()});d.listen(56121,"127.0.0.1",()=>{q=d,r=setTimeout(()=>x(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function x(){r&&(clearTimeout(r),r=null),q&&(q.close(),q=null)}},73159:(a,b,c)=>{c.d(b,{Ue:()=>j,oT:()=>k,qF:()=>h});let d="https://auth.x.ai",e="/oauth2/authorize",f="/oauth2/token",g="/.well-known/openid-configuration",h="openid profile email offline_access grok-cli:access api:access",i="/callback",j=96,k={clientId:"b1a00492-073a-47ea-816f-4c329264a828",issuer:d,authEndpointPath:e,tokenEndpointPath:f,discoveryPath:g,authorizeUrl:`${d}${e}`,tokenUrl:`${d}${f}`,discoveryUrl:`${d}${g}`,scope:h,apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${i}`,loopbackPort:56121,callbackPath:i,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/zevairouter",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>h,Hp:()=>j,LT:()=>i,MZ:()=>s,Nl:()=>y,Nu:()=>o,OV:()=>g,Td:()=>v,Tx:()=>p,WN:()=>q,Ww:()=>A,YT:()=>m,ZL:()=>l,cD:()=>n,f7:()=>x,hF:()=>k,lB:()=>t,ne:()=>z,qp:()=>w,t:()=>r,w1:()=>u});var d=c(21820),e=c(73159);function f(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let g={clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},h={clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},i={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},j={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},k={openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},l={clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},m={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:f(),pluginType:2})};function n(){return{ideType:9,platform:f(),pluginType:2}}let o={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},p={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},q={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},r={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},s={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},t={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},u={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},v={webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},w={clientId:"b1a00492-073a-47ea-816f-4c329264a828",deviceCodeUrl:"https://auth.x.ai/oauth2/device/code",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",scope:e.qF,referrer:"grok-build",refreshLeadMs:3e5},x={defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},y={baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",accountUrl:"https://www.codebuddy.ai/v2/plugin/login/account",accountsUrl:"https://www.codebuddy.ai/v2/plugin/accounts",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",domain:"www.codebuddy.ai",platform:"CLI",pollInterval:5e3},z={baseUrl:"https://www.codebuddy.cn",stateUrl:"https://www.codebuddy.cn/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.cn/v2/plugin/auth/token",accountUrl:"https://www.codebuddy.cn/v2/plugin/login/account",accountsUrl:"https://www.codebuddy.cn/v2/plugin/accounts",refreshUrl:"https://www.codebuddy.cn/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",domain:"www.codebuddy.cn",platform:"CLI",pollInterval:5e3},A=3e5}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=5800,exports.ids=[5800],exports.modules={85800:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>x});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(62239),i=c(34050);let j=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}}].sort((a,b)=>a.version-b.version);function k(){return j.length?j[j.length-1].version:0}var l=c(8677);let m=null;function n(){if(m)return m;try{let a=g().join(process.cwd(),"package.json");m=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{m="0.0.0"}return m}function o(a){(0,h.Jh)();let b=n(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function p(a,b,c=null,d=null){if(!e().existsSync(a))return null;d?.checkpoint?.();let f=c||g().basename(a),h=g().join(b,f);return e().copyFileSync(a,h),h}function q(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(5))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var r=c(50743);let s=g().join(h.HG,".migrated-from-json"),t=new WeakSet;class u extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function v(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new u(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function w(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function x(a){if(t.has(a))return;let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a);a.exec((0,i.zE)("_meta",i.CG._meta));let c=Number((0,l.dy)(a,"schemaVersion",0)),d=(0,l.dy)(a,"appVersion",null),f=n(),g=null;!b&&(c<k()||d&&d!==f)&&(g=o(c<k()?`schema-${c}-to-${k()}`:`upgrade-${d}-to-${f}`),p(h.AL,g,null,a));let m=function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt((0,l.dy)(a,"schemaVersion","0"),10)||0;if(b>=k())return{applied:0,from:b,to:b};let c=j.filter(a=>a.version>b),d=b;for(let b of c)a.transaction(()=>{b.up(a),(0,l.np)(a,"schemaVersion",b.version)}),d=b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);return{applied:c.length,from:b,to:d}}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}let x=e().existsSync(s),y=w(h.Or.main),z=w(h.Or.usage),A=w(h.Or.disabled),B=w(h.Or.details);if(b&&(y||z||A||B)&&!x){let b=Date.now(),c=o("migrate-from-json");for(let a of Object.values(h.Or))p(a,c);try{a.transaction(()=>{if(y&&"object"==typeof y){for(let[b,c]of(y.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,r.s)(y.settings)]),v(a,"providerConnections",y.providerConnections||[],b=>{let{id:c,provider:d,authType:e,name:f,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=b;a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c,d,e||"oauth",f||null,g||null,h||null,+(!1!==i),(0,r.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),v(a,"providerNodes",y.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),v(a,"proxyPools",y.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),v(a,"apiKeys",y.apiKeys||[],b=>{a.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.key,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),v(a,"combos",y.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,r.s)(b.models||[]),b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(y.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,r.s)(c)]);for(let b of y.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,r.s)(b)])}for(let[b,c]of Object.entries(y.mitmAlias||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[b,(0,r.s)(c||{})]);for(let[b,c]of Object.entries(y.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,r.s)(c||{})])}if(z&&"object"==typeof z){for(let b of z.history||[]){let c=b.tokens||{};a.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.apiKey||null,b.endpoint||null,c.prompt_tokens||c.input_tokens||0,c.completion_tokens||c.output_tokens||0,b.cost||0,b.status||"ok",(0,r.s)(c),(0,r.s)({})])}for(let[b,c]of Object.entries(z.dailySummary||{}))a.run("INSERT OR REPLACE INTO usageDaily(dateKey, data) VALUES(?, ?)",[b,(0,r.s)(c)]);"number"==typeof z.totalRequestsLifetime&&(0,l.np)(a,"totalRequestsLifetime",z.totalRequestsLifetime)}if(A&&"object"==typeof A.disabled)for(let[b,c]of Object.entries(A.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,r.s)(c||[])]);if(B&&Array.isArray(B.records))for(let b of B.records)a.run("INSERT OR REPLACE INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.status||null,(0,r.s)(b)]);(0,l.np)(a,"appVersion",n()),(0,l.np)(a,"migratedAt",new Date().toISOString())})}catch(a){if(a instanceof u)return void console.error(`[DB][migrate] aborted: ${a.message} | legacy JSON kept | backup: ${c}`);throw a}try{e().writeFileSync(s,new Date().toISOString())}catch{}q(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy JSON kept at DATA_DIR | backup: ${c}`),t.add(a);return}if(b){(0,l.np)(a,"appVersion",n()),t.add(a);return}d!==f&&(0,l.np)(a,"appVersion",f),g&&(q(),console.log(`[DB][migrate] App ${d} → ${f} | schema ${m.from} → ${m.to} | backup: ${g}`)),t.add(a)}}};
@@ -0,0 +1 @@
1
+ exports.id=5846,exports.ids=[5846],exports.modules={300:(a,b,c)=>{"use strict";c.d(b,{Zr:()=>e});let d=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>d(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>d(b)(a)}}},e=(a,b)=>(c,e,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...b},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return a((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),c(...a)},e,f);let n=()=>{let a=h.partialize({...e()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=a((...a)=>(c(...a),n()),e,f);f.getInitialState=()=>p;let q=()=>{var a,b;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=e())?b:p)});let o=(null==(b=h.onRehydrateStorage)?void 0:b.call(h,null!=(a=e())?a:p))||void 0;return d(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(a=>{var b;if(f!==j)return;let[d,i]=a;if(c(g=h.merge(i,null!=(b=e())?b:p),!0),d)return n()}).then(()=>{f===j&&(null==o||o(e(),void 0),g=e(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}},19099:(a,b,c)=>{"use strict";var d=c(54839);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"useParams")&&c.d(b,{useParams:function(){return d.useParams}}),c.o(d,"usePathname")&&c.d(b,{usePathname:function(){return d.usePathname}}),c.o(d,"useRouter")&&c.d(b,{useRouter:function(){return d.useRouter}}),c.o(d,"useSearchParams")&&c.d(b,{useSearchParams:function(){return d.useSearchParams}})},31417:(a,b,c)=>{"use strict";c.d(b,{v:()=>g});var d=c(67484);let e=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},f=a=>{let b=a?e(a):e,c=a=>(function(a,b=a=>a){let c=d.useSyncExternalStore(a.subscribe,d.useCallback(()=>b(a.getState()),[a,b]),d.useCallback(()=>b(a.getInitialState()),[a,b]));return d.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},g=a=>a?f(a):f},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55091:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(5735),e=c(22675);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},75329:a=>{a.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_f367f3",variable:"__variable_f367f3"}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6103,exports.ids=[6103],exports.modules={86103:(a,b,c)=>{c.d(b,{generateApiKeyWithMachine:()=>g});var d=c(55511),e=c.n(d);let f=process.env.API_KEY_SECRET||"endpoint-proxy-api-key-secret";function g(a){let b=function(){let a="abcdefghijklmnopqrstuvwxyz0123456789",b="";for(let c=0;c<6;c++)b+=a.charAt(Math.floor(Math.random()*a.length));return b}(),c=e().createHmac("sha256",f).update(a+b).digest("hex").slice(0,8);return{key:`sk-${a}-${b}-${c}`,keyId:b}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6252,exports.ids=[6252],exports.modules={66252:(a,b,c)=>{c.d(b,{createSqlJsAdapter:()=>k});var d=c(73024),e=c.n(d),f=c(46293),g=c.n(f),h=c(34050);let i=null;async function j(){return i||(i=await g()())}async function k(a,b={}){let c,d,f,g=`${a}.sqljs.lock`;try{c=e().openSync(g,"wx")}catch(b){if("EEXIST"!==b.code)throw b;let a=Number.parseInt(e().readFileSync(g,"utf8"),10);try{throw Number.isInteger(a)&&a>0&&process.kill(a,0),Error(`sql.js database is already owned by process ${a||"unknown"}`)}catch(a){if("ESRCH"!==a.code)throw a;e().rmSync(g,{force:!0}),c=e().openSync(g,"wx")}}e().writeFileSync(c,String(process.pid)),e().closeSync(c);let i=()=>{try{e().readFileSync(g,"utf8")===String(process.pid)&&e().rmSync(g,{force:!0})}catch{}};try{d=await j()}catch(a){throw i(),a}try{b.beforeOpen?.({filePath:a});let c=e().existsSync(a)?e().readFileSync(a):null;(f=new d.Database(c)).exec(h.oG)}catch(a){try{f?.close()}catch{}throw i(),a}let l=!1,m=0,n=null;function o(){if(!n)return;let b=Error(`sql.js database at ${a} is unusable: the initial write failed and no persisted image exists to recover from`);throw b.cause=n,b}function p(){let c=f.export(),d=`${a}.tmp-${process.pid}`;l=!0;try{b.beforePersist?.({filePath:a,tempPath:d}),e().writeFileSync(d,Buffer.from(c)),e().renameSync(d,a),l=!1}catch(a){try{e().rmSync(d,{force:!0})}catch{}throw a}}function q(b){let c,g=null;try{e().existsSync(a)&&(g=e().readFileSync(a))}catch(a){throw b.rewindError=a,b}var i=g;try{(c=new d.Database(i)).exec(h.oG)}catch(a){try{c?.close()}catch{}throw a}let j=f;f=c,l=!1;try{j.close()}catch{}null===g&&(n=b)}function r(a){if(o(),m>0)return a();try{let b=a();return p(),b}catch(a){throw q(a),a}}function s(a){if(!(!a||Array.isArray(a)&&0===a.length))return a}let t=!1;return{driver:"sql.js",run:function(a,b=[]){return r(()=>{let c=f.prepare(a);try{for(c.bind(s(b));c.step(););let a=f.getRowsModified(),d=f.exec("SELECT last_insert_rowid() as id")[0]?.values?.[0]?.[0]??null;return{changes:a,lastInsertRowid:d}}finally{c.free()}})},get:function(a,b=[]){o();let c=f.prepare(a);try{if(c.bind(s(b)),c.step())return c.getAsObject();return}finally{c.free()}},all:function(a,b=[]){o();let c=f.prepare(a);try{c.bind(s(b));let a=[];for(;c.step();)a.push(c.getAsObject());return a}finally{c.free()}},exec:function(a){return r(()=>f.exec(a))},transaction:function(a){o();let b=`sp_${Math.random().toString(36).slice(2)}`,c=0===m;f.exec(`SAVEPOINT ${b}`),m++;let d=!1;try{let e=a();return f.exec(`RELEASE ${b}`),d=!0,m--,c&&p(),e}catch(a){if(!d){m--;try{f.exec(`ROLLBACK TO ${b}`),f.exec(`RELEASE ${b}`)}catch{}}throw c&&q(a),a}},close:function(){if(t)return;t=!0;let a=null;try{l&&p()}catch(b){a=b}finally{try{f.close()}catch(b){a||=b}finally{i()}}if(a)throw a},get raw(){return f}}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6492,exports.ids=[6492],exports.modules={46492:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{exchangeTokens:()=>q});var e=c(5210),f=c(55511),g=c.n(f),h=c(94179);c(25467);var i=c(13073),j=c(25482),k=a([e]);e=(k.then?(await k)():k)[0];let r=null;function l(a,b){let c,d=String(a||"").trim();if(!d)throw Error(`xai discovery ${b} is empty`);try{c=new URL(d)}catch(a){throw Error(`xai discovery ${b} is invalid: ${a.message}`)}if("https:"!==c.protocol)throw Error(`xai discovery ${b} must use https: ${d}`);let e=c.hostname.toLowerCase().trim();if("x.ai"!==e&&!e.endsWith(".x.ai"))throw Error(`xai discovery ${b} host ${e} is not on x.ai`);return d}async function m(){if(r)return r;try{let a=await fetch(j.oT.discoveryUrl,{headers:{Accept:"application/json"}});if(a.ok){let b=await a.json();return r={authorizeUrl:l(b.authorization_endpoint,"authorization_endpoint"),tokenUrl:l(b.token_endpoint,"token_endpoint")}}}catch{}return r={authorizeUrl:j.oT.authorizeUrl,tokenUrl:j.oT.tokenUrl}}function n(a){if(!a||"string"!=typeof a)return;let b=a.split(".");if(3===b.length)try{let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),c=(s-a.length%s)%s,d=Buffer.from(a+"=".repeat(c),"base64").toString("utf8"),e=JSON.parse(d);return e.email||e.preferred_username||e.sub||void 0}catch{return}}let s=4;function o(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(s-c.length%s)%s,e=c+"=".repeat(d);return JSON.parse(Buffer.from(e,"base64").toString("utf8"))}catch{return null}}function p(a){let b=o(a);if(b)return b.email||b.preferred_username||b.sub||void 0}let t={claude:{config:i.OV,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d)=>{let e=new URLSearchParams({code:"true",client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c});return`${a.authorizeUrl}?${e.toString()}`},exchangeToken:async(a,b,c,d,e)=>{let f=b,g="";if(f.includes("#")){let a=f.split("#");f=a[0],g=a[1]||""}let h=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({code:f,state:g||e,grant_type:"authorization_code",client_id:a.clientId,redirect_uri:c,code_verifier:d})});if(!h.ok){let a=await h.text();throw Error(`Token exchange failed: ${a}`)}return await h.json()},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope})},codex:{config:i.DI,flowType:"authorization_code_pkce",fixedPort:1455,callbackPath:"/auth/callback",buildAuthUrl:(a,b,c,d)=>{let e={response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,...a.extraParams,state:c},f=Object.entries(e).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${f}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b=function(a){let b=o(a);if(!b)return{};let c=b["https://api.openai.com/auth"]||{};return{email:b.email,chatgptAccountId:c.chatgpt_account_id||b.account_id,chatgptPlanType:c.chatgpt_plan_type||b.plan_type}}(a.id_token),c={accessToken:a.access_token,refreshToken:a.refresh_token,idToken:a.id_token,expiresIn:a.expires_in,lastRefreshAt:new Date().toISOString()},d=b.email||p(a.access_token);return d&&(c.email=d),(b.chatgptAccountId||b.chatgptPlanType)&&(c.providerSpecificData={chatgptAccountId:b.chatgptAccountId,chatgptPlanType:b.chatgptPlanType}),c}},xai:{config:j.oT,flowType:"authorization_code_pkce",fixedPort:j.oT.loopbackPort,callbackPath:j.oT.callbackPath,pkceVerifierBytes:j.Ue,prepareConfig:async a=>{let b=await m();return{...a,authorizeUrl:b.authorizeUrl,tokenUrl:b.tokenUrl}},buildAuthUrl:(a,b,c,d)=>{let e=g().randomBytes(16).toString("hex"),f={response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c,nonce:e,plan:"generic",referrer:"cli-proxy-api"},h=Object.entries(f).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${h}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`xAI token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b={accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope},c=n(a.id_token);return c&&(b.email=c),a.id_token&&(b.providerSpecificData={idToken:a.id_token}),b}},"gemini-cli":{config:i.LT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b=await fetch(`${i.LT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`}}),c=b.ok?await b.json():{},d="";try{let b=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:(0,i.cD)(),mode:1})});if(b.ok){let a=await b.json();d=a.cloudaicompanionProject?.id||a.cloudaicompanionProject||""}}catch(a){console.log("Failed to fetch project ID:",a)}return{userInfo:c,projectId:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},antigravity:{config:i.YT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b=await fetch(`${i.YT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`,"x-request-source":"local"}}),c=b.ok?await b.json():{},d=process.env.ANTIGRAVITY_GCP_PROJECT||process.env.ZEVAI_ANTIGRAVITY_GCP_PROJECT||"",e="";try{let b=await Promise.race([(0,h.gQ)(a.access_token,{preferredProjectId:d||null}),new Promise(a=>setTimeout(()=>a({projectId:null,error:"project resolve timed out"}),2e4))]);(e=b.projectId||d||"")||!b.error||console.warn("[Antigravity OAuth] project resolve:",b.error)}catch(a){console.warn("[Antigravity OAuth] project resolve failed:",a?.message||a)}return{userInfo:c,projectId:e}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},iflow:{config:i.ZL,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({loginMethod:a.extraParams.loginMethod,type:a.extraParams.type,redirect:b,state:c,client_id:a.clientId});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=Buffer.from(`${a.clientId}:${a.clientSecret}`).toString("base64"),e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${d}`},body:new URLSearchParams({grant_type:"authorization_code",code:b,redirect_uri:c,client_id:a.clientId,client_secret:a.clientSecret})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},postExchange:async a=>{let b=await fetch(`${i.ZL.userInfoUrl}?accessToken=${encodeURIComponent(a.access_token)}`,{headers:{Accept:"application/json"}});if(!b.ok){let a=await b.text();throw Error(`Failed to fetch user info: ${a}`)}let c=await b.json();if(!c.success)throw Error(`User info request failed: ${c.message||"Unknown error"}`);let d=c.data||{};if(!d.apiKey||""===d.apiKey.trim())throw Error("Empty API key returned from iFlow");if(!(d.email?.trim()||d.phone?.trim()))throw Error("Missing account email/phone in user info");return{userInfo:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,apiKey:b?.userInfo?.apiKey,email:b?.userInfo?.email||b?.userInfo?.phone,displayName:b?.userInfo?.nickname||b?.userInfo?.name})},qoder:{config:i.hF,flowType:"device_code",requestDeviceCode:async a=>{let{QoderService:b}=await c.e(7726).then(c.bind(c,37726)),d=new b().initiateDeviceFlow();return{device_code:d.nonce,user_code:d.nonce.slice(0,8).toUpperCase(),verification_uri:a.loginUrl,verification_uri_complete:d.verificationUriComplete,expires_in:300,interval:2,codeVerifier:d.codeVerifier,_qoderNonce:d.nonce,_qoderMachineId:d.machineId}},pollToken:async(a,b,d,e)=>{let f,{QoderService:g}=await c.e(7726).then(c.bind(c,37726)),h=new g,i=b||e?._qoderNonce,j=d||e?._qoderVerifier;if(!i||!j)return{ok:!1,data:{error:"invalid_request",error_description:"Missing nonce/verifier"}};try{f=await h.pollDeviceToken({nonce:i,codeVerifier:j})}catch(a){return{ok:!1,data:{error:"poll_failed",error_description:a.message}}}if("pending"===f.status)return{ok:!1,data:{error:"authorization_pending"}};let k=await h.fetchUserInfo(f.accessToken),l=Math.floor((f.expireTime-Date.now())/1e3),m=Math.max(86400,l);return{ok:!0,data:{access_token:f.accessToken,refresh_token:f.refreshToken,expires_in:m,_qoderUserId:f.userId,_qoderMachineId:e?._qoderMachineId||"",_qoderName:k.name,_qoderEmail:k.email,_qoderOrganizationId:k.organizationId}}},mapTokens:a=>{let b=(a._qoderEmail||"").trim(),c=(a._qoderName||"").trim()||null,d=a._qoderUserId||"",e=b||(d?`qoder-user-${d}`:null);return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,email:e,displayName:c,providerSpecificData:{authMethod:"device",userId:d,machineId:a._qoderMachineId||"",organizationId:a._qoderOrganizationId||""}}}},qwen:{config:i.Hp,flowType:"device_code",requestDeviceCode:async(a,b)=>{let c=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scope,code_challenge:b,code_challenge_method:a.codeChallengeMethod})});if(!c.ok){let a=await c.text();throw Error(`Device code request failed: ${a}`)}return await c.json()},pollToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b,code_verifier:c})});return{ok:d.ok,data:await d.json()}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{resourceUrl:a.resource_url}})},github:{config:i.Nu,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scopes})});if(!b.ok){let a=await b.text();throw Error(`Device code request failed: ${a}`)}return await b.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,device_code:b,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})});try{c=await d.json()}catch(b){let a=await d.text();c={error:"invalid_response",error_description:a}}return{ok:d.ok,data:c}},postExchange:async a=>{let b=await fetch(i.Nu.copilotTokenUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":i.Nu.apiVersion,"User-Agent":i.Nu.userAgent}}),c=b.ok?await b.json():{},d=await fetch(i.Nu.userInfoUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":i.Nu.apiVersion,"User-Agent":i.Nu.userAgent}}),e=d.ok?await d.json():{};return{copilotToken:c,userInfo:e}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{copilotToken:b?.copilotToken?.token,copilotTokenExpiresAt:b?.copilotToken?.expires_at,githubUserId:b?.userInfo?.id,githubLogin:b?.userInfo?.login,githubName:b?.userInfo?.name,githubEmail:b?.userInfo?.email}})},kiro:{config:i.Tx,flowType:"device_code",requestDeviceCode:async(a,b,c={})=>{let d=("string"==typeof c.region?c.region.trim():"")||"us-east-1",e=("string"==typeof c.startUrl?c.startUrl.trim():"")||a.startUrl,f="idc"===c.authMethod?"idc":"builder-id",g=`https://oidc.${d}.amazonaws.com/client/register`,h=`https://oidc.${d}.amazonaws.com/device_authorization`,i=await fetch(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientName:a.clientName,clientType:a.clientType,scopes:a.scopes,grantTypes:a.grantTypes,issuerUrl:a.issuerUrl})});if(!i.ok){let a=await i.text();throw Error(`Client registration failed: ${a}`)}let j=await i.json(),k=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:j.clientId,clientSecret:j.clientSecret,startUrl:e})});if(!k.ok){let a=await k.text();throw Error(`Device authorization failed: ${a}`)}let l=await k.json();return{device_code:l.deviceCode,user_code:l.userCode,verification_uri:l.verificationUri,verification_uri_complete:l.verificationUriComplete,expires_in:l.expiresIn,interval:l.interval||5,_clientId:j.clientId,_clientSecret:j.clientSecret,_region:d,_authMethod:f,_startUrl:e}},pollToken:async(a,b,c,d)=>{let e,f=d?._region||"us-east-1",g=`https://oidc.${f}.amazonaws.com/token`,h=await fetch(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:d?._clientId,clientSecret:d?._clientSecret,deviceCode:b,grantType:"urn:ietf:params:oauth:grant-type:device_code"})});try{e=await h.json()}catch(b){let a=await h.text();e={error:"invalid_response",error_description:a}}return e.accessToken?{ok:!0,data:{access_token:e.accessToken,refresh_token:e.refreshToken,expires_in:e.expiresIn,profile_arn:e?.profileArn||null,_clientId:d?._clientId,_clientSecret:d?._clientSecret,_region:d?._region,_authMethod:d?._authMethod,_startUrl:d?._startUrl}}:{ok:!1,data:{error:e.error||"authorization_pending",error_description:e.error_description||e.message}}},mapTokens:a=>{let b=p(a.access_token);return{accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,email:b,providerSpecificData:{profileArn:a?.profile_arn||null,clientId:a._clientId,clientSecret:a._clientSecret,region:a._region||"us-east-1",authMethod:a._authMethod||"builder-id",startUrl:a._startUrl||i.Tx.startUrl}}}},cursor:{config:i.WN,flowType:"import_token",mapTokens:a=>({accessToken:a.accessToken,refreshToken:null,expiresIn:a.expiresIn||86400,providerSpecificData:{machineId:a.machineId,authMethod:"imported"}})},"kimi-coding":{config:i.t,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId})});if(!b.ok){let a=await b.text();throw Error(`Device code request failed: ${a}`)}let c=await b.json();return{device_code:c.device_code,user_code:c.user_code,verification_uri:c.verification_uri||"https://www.kimi.com/code/authorize_device",verification_uri_complete:c.verification_uri_complete||`https://www.kimi.com/code/authorize_device?user_code=${c.user_code}`,expires_in:c.expires_in,interval:c.interval||5}},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b})});try{c=await d.json()}catch(b){let a=await d.text();c={error:"invalid_response",error_description:a}}return{ok:d.ok,data:c}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in})},kilocode:{config:i.MZ,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.initiateUrl,{method:"POST",headers:{"Content-Type":"application/json"}});if(!b.ok){if(429===b.status)throw Error("Too many pending authorization requests. Please try again later.");let a=await b.text();throw Error(`Device auth initiation failed: ${a}`)}let c=await b.json();return{device_code:c.code,user_code:c.code,verification_uri:c.verificationUrl,verification_uri_complete:c.verificationUrl,expires_in:c.expiresIn||300,interval:3}},pollToken:async(a,b)=>{let c=await fetch(`${a.pollUrlBase}/${b}`);if(202===c.status)return{ok:!1,data:{error:"authorization_pending"}};if(403===c.status)return{ok:!1,data:{error:"access_denied",error_description:"Authorization denied by user"}};if(410===c.status)return{ok:!1,data:{error:"expired_token",error_description:"Authorization code expired"}};if(!c.ok)return{ok:!1,data:{error:"poll_failed",error_description:`Poll failed: ${c.status}`}};let d=await c.json();if("approved"===d.status&&d.token){let b=null;try{let c=await fetch(`${a.apiBaseUrl}/api/profile`,{headers:{Authorization:`Bearer ${d.token}`}});if(c.ok){let a=await c.json();b=a.organizations?.[0]?.id||null}}catch{}return{ok:!0,data:{access_token:d.token,_userEmail:d.userEmail,_orgId:b}}}return{ok:!1,data:{error:"authorization_pending"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:null,expiresIn:null,email:a._userEmail,...a._orgId?{providerSpecificData:{orgId:a._orgId}}:{}})},cline:{config:i.lB,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Cline token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})},clinepass:{config:i.w1,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(g){let d=a.tokenUrl||a.tokenExchangeUrl,e=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!e.ok){let a=await e.text();throw Error(`ClinePass token exchange failed: ${a}`)}let f=await e.json();return{access_token:f.data?.accessToken||f.accessToken,refresh_token:f.data?.refreshToken||f.refreshToken,email:f.data?.userInfo?.email||"",expires_at:f.data?.expiresAt||f.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})},"grok-cli":{config:i.qp,flowType:"device_code",requestDeviceCode:async a=>{let b=new URLSearchParams({client_id:a.clientId,scope:a.scope});a.referrer&&b.set("referrer",a.referrer);let c=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)"},body:b});if(!c.ok){let a=await c.text();throw Error(`Grok CLI device code request failed: ${a}`)}return await c.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:b,client_id:a.clientId})});try{c=await d.json()}catch{let a=await d.text();c={error:"invalid_response",error_description:a}}let e=c?.error==="authorization_pending"||c?.error==="slow_down";return{ok:d.ok||e,data:c}},postExchange:async a=>{try{let b=await fetch("https://cli-chat-proxy.grok.com/v1/user",{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)","x-xai-token-auth":"xai-grok-cli","x-grok-client-version":"0.2.93"}});if(b.ok)return{user:await b.json()}}catch{}return{user:null}},mapTokens:(a,b)=>{let c=n(a.id_token)||p(a.access_token)||b?.user?.email||null,d=b?.user?.userId||b?.user?.principalId||null,e=[b?.user?.firstName,b?.user?.lastName].filter(Boolean).join(" ").trim()||null;return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,scope:a.scope,email:c||void 0,displayName:e||void 0,providerSpecificData:{authMethod:"device_code",idToken:a.id_token||null,email:c||null,userId:d,hasGrokCodeAccess:b?.user?.hasGrokCodeAccess??null,subscriptionTier:b?.user?.subscriptionTier??null}}}},kimchi:{config:i.Td,flowType:"browser_token",buildAuthUrl:(a,b,c)=>{let d=(a.webAppUrl||"https://app.kimchi.dev").replace(/\/+$/,""),e=new URLSearchParams({callback:b,state:c});return`${d}/cli-auth?${e.toString()}`},exchangeToken:async(a,b)=>{let c=String(b||"").trim();if(!c)throw Error("Missing Kimchi token");let d=a.validationUrl||"https://api.cast.ai/v1/llm/openai/supported-providers",e=await fetch(d,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});if(!e.ok)throw Error(`Kimchi token validation failed: ${e.status}`);let f={};if(a.userInfoUrl)try{let b=await fetch(a.userInfoUrl,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});b.ok&&(f=await b.json())}catch{f={}}return{access_token:c,token_type:"Bearer",_kimchiUser:f}},mapTokens:a=>{let b=a._kimchiUser||{},c=b.id?String(b.id):"",d=b.username||"",e=b.email||(c?`kimchi-user-${c}`:null);return{accessToken:a.access_token,refreshToken:null,email:e,displayName:b.name||d||null,providerSpecificData:{authMethod:"browser_token",userId:c,username:d}}}},gitlab:{config:i.f7,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d,e={})=>{let f=e.baseUrl||a.defaultBaseUrl,g=e.clientId||"",h=new URLSearchParams({client_id:g,redirect_uri:b,response_type:"code",state:c,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod});return`${f}${a.authorizeUrlPath}?${h.toString()}`},exchangeToken:async(a,b,c,d,e,f={})=>{let g=f.baseUrl||a.defaultBaseUrl,h=f.clientId||"",i=f.clientSecret||"",j=new URLSearchParams({client_id:h,grant_type:"authorization_code",code:b,redirect_uri:c,code_verifier:d});i&&j.set("client_secret",i);let k=await fetch(`${g}${a.tokenUrlPath}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:j.toString()});if(!k.ok)throw Error(`GitLab token exchange failed: ${await k.text()}`);let l=await k.json(),m=await fetch(`${g}${a.userInfoUrlPath}`,{headers:{Authorization:`Bearer ${l.access_token}`}}),n=m.ok?await m.json():{};return{...l,_user:n,_baseUrl:g,_clientId:h}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,providerSpecificData:{username:a._user?.username||"",email:a._user?.email||a._user?.public_email||"",name:a._user?.name||"",baseUrl:a._baseUrl,clientId:a._clientId,authKind:"oauth"}})},codebuddy:{config:i.Nl,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":a.domain,"X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=new URL(a.tokenUrl);c.searchParams.set("state",b);let d=await fetch(c.toString(),{method:"GET",headers:{Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":a.domain,"X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"}});if(!d.ok){let a=await d.text().catch(()=>"");return{ok:!1,data:{error:"request_failed",error_description:a||`${d.status} ${d.statusText}`}}}let e=await d.json();return 0===e.code&&e.data?.accessToken?{ok:!0,data:{access_token:e.data.accessToken,refresh_token:e.data.refreshToken||"",token_type:e.data.tokenType||"Bearer",expires_in:e.data.expiresIn,expires_at:e.data.expiresAt,refresh_expires_in:e.data.refreshExpiresIn,refresh_expires_at:e.data.refreshExpiresAt,domain:e.data.domain||a.domain,raw:e.data}}:11217===e.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:e.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in||(a.expires_at?Math.max(1,Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3)):86400),providerSpecificData:{domain:a.domain||i.Nl.domain,refreshExpiresIn:a.refresh_expires_in,refreshExpiresAt:a.refresh_expires_at,tokenType:a.token_type||"Bearer",rawAuth:a.raw}})},"codebuddy-cn":{config:i.ne,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":a.domain,"X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy CN state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy CN state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=new URL(a.tokenUrl);c.searchParams.set("state",b);let d=await fetch(c.toString(),{method:"GET",headers:{Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":a.domain,"X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"}});if(!d.ok){let a=await d.text().catch(()=>"");return{ok:!1,data:{error:"request_failed",error_description:a||`${d.status} ${d.statusText}`}}}let e=await d.json();return 0===e.code&&e.data?.accessToken?{ok:!0,data:{access_token:e.data.accessToken,refresh_token:e.data.refreshToken||"",token_type:e.data.tokenType||"Bearer",expires_in:e.data.expiresIn,expires_at:e.data.expiresAt,refresh_expires_in:e.data.refreshExpiresIn,refresh_expires_at:e.data.refreshExpiresAt,domain:e.data.domain||a.domain,raw:e.data}}:11217===e.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:e.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in||(a.expires_at?Math.max(1,Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3)):86400),providerSpecificData:{domain:a.domain||i.ne.domain,refreshExpiresIn:a.refresh_expires_in,refreshExpiresAt:a.refresh_expires_at,tokenType:a.token_type||"Bearer",rawAuth:a.raw}})}};async function q(a,b,c,d,e,f){let g=function(a){let b=t[a];if(!b)throw Error(`Unknown provider: ${a}`);return b}(a),h=g.prepareConfig?await g.prepareConfig(g.config,f||{}):g.config,i=await g.exchangeToken(h,b,c,d,e,f||{}),j=null;return g.postExchange&&(j=await g.postExchange(i)),g.mapTokens(i,j)}d()}catch(a){d(a)}})},94179:(a,b,c)=>{c.d(b,{gQ:()=>h});var d=c(48991);let e=new Map,f=new Map,g=null;async function h(a,b={}){if(!a)return{projectId:null,tierId:null,requiresUserProject:!1,error:"missing access token"};try{return await i(a,void 0,b)}catch(a){return{projectId:null,tierId:null,requiresUserProject:!1,error:a?.message||String(a)}}}async function i(a,b,c={}){var e;let f="string"==typeof(e=c.preferredProjectId)?e.trim()||null:e&&"object"==typeof e&&"string"==typeof e.id&&e.id.trim()||null,g=await fetch(d.nZ.loadCodeAssist,{method:"POST",headers:{...d.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify({metadata:d.zv}),signal:b});if(!g.ok){let a=await g.text().catch(()=>"");throw Error(`loadCodeAssist failed: HTTP ${g.status} ${a.slice(0,200)}`)}let h=await g.json(),l=function(a){if(!a)return null;if("string"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.trim();if(b)return b}if(a.cloudaicompanionProject&&"object"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.id;if("string"==typeof b&&b.trim())return b.trim()}return null}(h);if(l)return{projectId:l,tierId:k(h).tierId||null,requiresUserProject:!1,loadRaw:h};let m=k(h),n=m.tierId||"free-tier";if(m.userDefined)return f?{projectId:await j(a,n,b,f)||f,tierId:n,requiresUserProject:!0,loadRaw:h,error:void 0}:(console.warn("[ProjectId] GSuite/DASHER has no free-tier project from loadCodeAssist; caller should reuse a stored/peer managed project id."),{projectId:null,tierId:n,requiresUserProject:!0,loadRaw:h,error:"no managed project on account; use stored or peer projectId"});let o=await j(a,n,b,null);return{projectId:o,tierId:n,requiresUserProject:!1,loadRaw:h,error:o?void 0:"onboardUser did not return a project id"}}async function j(a,b,c,e=null){console.log(`[ProjectId] Onboarding user with tier: ${b}`+(e?` project=${e}`:""));let f={tierId:b,metadata:d.zv};e&&(f.cloudaicompanionProject=e);for(let b=1;b<=5&&!c?.aborted;b++){let g=new AbortController,h=setTimeout(()=>g.abort(),3e4),i=()=>g.abort();c?.addEventListener("abort",i);try{let c=await fetch(d.nZ.onboardUser,{method:"POST",headers:{...d.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify(f),signal:g.signal});if(clearTimeout(h),!c.ok){let a=await c.text().catch(()=>"");throw Error(`onboardUser HTTP ${c.status}: ${a.slice(0,200)}`)}let i=await c.json();if(!0===i.done){let a=function(a){if(!a?.response)return null;let b=a.response.cloudaicompanionProject;if("string"==typeof b){let a=b.trim();if(a)return a}if(b&&"object"==typeof b){let a=b.id;if("string"==typeof a&&a.trim())return a.trim()}return null}(i);if(a)return console.log(`[ProjectId] Successfully onboarded, project ID: ${a}`),a;if(e)return console.log(`[ProjectId] onboard done without id; using preferred project ${e}`),e;throw Error("onboardUser done but no project_id in response")}console.log(`[ProjectId] Onboard attempt ${b}/5: not done yet, waiting...`),await new Promise(a=>setTimeout(a,2e3))}catch(a){if(clearTimeout(h),"AbortError"===a.name){if(console.warn(`[ProjectId] onboardUser attempt ${b} aborted (timeout or connection removed)`),c?.aborted)return null;continue}if(5===b)return console.warn(`[ProjectId] onboardUser failed after 5 attempts: ${a.message}`),null;console.warn(`[ProjectId] onboardUser attempt ${b} failed: ${a.message}, retrying...`),await new Promise(a=>setTimeout(a,2e3))}finally{clearTimeout(h),c?.removeEventListener("abort",i)}}return null}function k(a){let b=null,c=!1;if(a?.currentTier?.id&&"string"==typeof a.currentTier.id&&(b=a.currentTier.id.trim(),c=!!a.currentTier.userDefinedCloudaicompanionProject),Array.isArray(a?.allowedTiers)){for(let d of a.allowedTiers)if(d&&"object"==typeof d&&!0===d.isDefault&&d.id){b=String(d.id).trim(),c=!!d.userDefinedCloudaicompanionProject;break}if(!b){let d=a.allowedTiers.find(a=>a?.id==="free-tier");d?(b="free-tier",c=!!d.userDefinedCloudaicompanionProject):a.allowedTiers[0]?.id&&(b=String(a.allowedTiers[0].id).trim(),c=!!a.allowedTiers[0].userDefinedCloudaicompanionProject)}}return"free-tier"===b&&(c=!1),{tierId:b,userDefined:c}}g=setInterval(()=>{try{let a=Date.now();for(let[b,c]of e)(!c||a-c.fetchedAt>=36e5)&&e.delete(b);for(let[b,c]of f){if(!c||"number"!=typeof c.startedAt){f.delete(b);continue}if(a-c.startedAt>12e4){try{c.controller.abort()}catch(a){}f.delete(b)}}}catch(a){console.warn("[ProjectId] cleanup sweep error:",a?.message??a)}},6e5),g?.unref?.()}};