omniroute 2.0.17 → 2.0.18

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 (230) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +56 -56
  3. package/app/.next/build-manifest.json +2 -2
  4. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  5. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  40. package/app/.next/server/app/_global-error.html +2 -2
  41. package/app/.next/server/app/_global-error.rsc +1 -1
  42. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  46. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  47. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  48. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/acp/agents/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  75. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  81. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  91. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  93. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
  98. package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  99. package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/models/alias/route.js +1 -1
  102. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  103. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  105. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/models/openrouter-catalog/route.js +1 -1
  107. package/app/.next/server/app/api/models/openrouter-catalog/route.js.nft.json +1 -1
  108. package/app/.next/server/app/api/models/openrouter-catalog/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/models/route.js +1 -1
  110. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  112. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  113. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  116. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  120. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  123. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/provider-models/route.js +1 -1
  126. package/app/.next/server/app/api/provider-models/route.js.nft.json +1 -1
  127. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  130. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  131. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  135. package/app/.next/server/app/api/providers/route.js +1 -1
  136. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  138. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  141. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  142. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  144. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  145. package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  147. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  148. package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  150. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  151. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  154. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  155. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  157. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  158. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  160. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  161. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  163. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  164. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  166. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  167. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  169. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  170. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  172. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  173. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/usage/quota/route_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  186. package/app/.next/server/app/api/v1/models/route.js +1 -1
  187. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  188. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  189. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  190. package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
  191. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  192. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  193. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  196. package/app/.next/server/app/api/v1/route.js +1 -1
  197. package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
  198. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  199. package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  202. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  203. package/app/.next/server/app/docs/page.js +1 -1
  204. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  205. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  206. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  207. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  209. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  210. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  213. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  214. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app-paths-manifest.json +56 -56
  216. package/app/.next/server/chunks/1909.js +1 -1
  217. package/app/.next/server/chunks/2050.js +1 -1
  218. package/app/.next/server/chunks/3061.js +2 -0
  219. package/app/.next/server/chunks/359.js +1 -0
  220. package/app/.next/server/chunks/7544.js +3 -3
  221. package/app/.next/server/middleware.js +1 -1
  222. package/app/.next/server/pages/500.html +2 -2
  223. package/app/.next/server/server-reference-manifest.js +1 -1
  224. package/app/.next/server/server-reference-manifest.json +1 -1
  225. package/app/.next/static/chunks/{5846-b1c617f6f02b4a57.js → 5846-f681b81611ec64be.js} +1 -1
  226. package/app/package.json +1 -1
  227. package/package.json +1 -1
  228. package/app/.next/server/chunks/1033.js +0 -2
  229. /package/app/.next/static/{qsTBENTqLIvbRFZuxtqz5 → oJH-NekiejGQxE2GMyfeY}/_buildManifest.js +0 -0
  230. /package/app/.next/static/{qsTBENTqLIvbRFZuxtqz5 → oJH-NekiejGQxE2GMyfeY}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=2050,exports.ids=[293,2050],exports.modules={60293:(a,b,c)=>{c.d(b,{$V:()=>n,EQ:()=>u,Co:()=>m,Bm:()=>w,DEFAULT_API_LIMITS:()=>y,O:()=>t,Uc:()=>p,eo:()=>q,LY:()=>s,MT:()=>j,gx:()=>r,NA:()=>o,xq:()=>l,PROVIDER_PROFILES:()=>x,QS:()=>v,C8:()=>z,TH:()=>k});var d=c(29021),e=c(33873);let f=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],g=0,h=null;var i=c(83596);let j=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),k=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"60000",10),l=(0,i.Z0)();!function(a){let b;if(h&&Date.now()-g<6e4)return;let c=(b=process.env.DATA_DIR||(0,e.join)(process.cwd(),"data"),(0,e.join)(b,"provider-credentials.json"));if(!(0,d.existsSync)(c))return h||console.log("[CREDENTIALS] No external credentials file found, using defaults."),h=a,g=Date.now();try{let b=(0,d.readFileSync)(c,"utf-8"),e=JSON.parse(b),g=0;for(let[b,c]of Object.entries(e)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of f)void 0!==c[d]&&(a[b][d]=c[d],g++)}let i=null!==h;console.log(`[CREDENTIALS] ${i?"Reloaded":"Loaded"} external credentials: ${g} field(s) from ${c}`)}catch(a){console.log(`[CREDENTIALS] Error reading credentials file: ${a.message}. Using defaults.`)}h=a,g=Date.now()}(l);let m="You are Claude Code, Anthropic's official CLI for Claude.",n="Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]",o={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},p=64e3,q=32e3,r={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},s={[r.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[r.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[r.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[r.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[r.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[r.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[r.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[r.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[r.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},t={[r.BAD_REQUEST]:"Bad request",[r.UNAUTHORIZED]:"Invalid API key provided",[r.FORBIDDEN]:"You exceeded your current quota",[r.NOT_FOUND]:"Model not found",[r.RATE_LIMITED]:"Rate limit exceeded",[r.SERVER_ERROR]:"Internal server error",[r.BAD_GATEWAY]:"Bad gateway - upstream provider error",[r.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[r.GATEWAY_TIMEOUT]:"Gateway timeout"},u={base:1e3,max:12e4,maxLevel:15},v={QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},w={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},x={oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4}},y={requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},z=["Please write a 5-10 word title for the following conversation:"]},81249:(a,b,c)=>{c.d(b,{Ct:()=>k,i2:()=>f,kP:()=>l});var d=c(42910);function e(){try{return(0,d.sm)()}catch{return null}}function f(a={}){let b=e();if(!b)return[];let c=[],d=[];a.action&&(c.push("action = ?"),d.push(a.action)),a.actor&&(c.push("actor = ?"),d.push(a.actor));let g=c.length>0?`WHERE ${c.join(" AND ")}`:"",h=a.limit||100,i=a.offset||0;return b.prepare(`SELECT * FROM audit_log ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`).all(...d,h,i).map(a=>({...a,details:a.details?JSON.parse(String(a.details)):null}))}parseInt(process.env.LOG_RETENTION_DAYS||"90",10);let g=new Set,h=new Map,i=!1,j=!1;for(let a of(process.env.NO_LOG_API_KEY_IDS||"").split(",").map(a=>a.trim()).filter(Boolean))g.add(a);function k(a,b){b?g.add(a):g.delete(a),h.set(a,{value:b,timestamp:Date.now()})}function l(a){if(!a)return!1;if(g.has(a))return!0;let b=function(a){let b=e();if(!b||!a||!function(a){if(i)return j;try{j=a.prepare("PRAGMA table_info(api_keys)").all().some(a=>"no_log"===a.name)}catch{j=!1}return i=!0,j}(b))return!1;let c=h.get(a);if(c&&Date.now()-c.timestamp<3e4)return c.value;try{let c=b.prepare("SELECT no_log FROM api_keys WHERE id = ?").get(a),d=!!(c&&1===Number(c.no_log));return h.set(a,{value:d,timestamp:Date.now()}),d}catch{return!1}}(a);return b&&g.add(a),b}},87068:(a,b,c)=>{c.d(b,{Ny:()=>t,Ql:()=>o,iD:()=>v,jR:()=>r,jT:()=>u,oD:()=>f,qZ:()=>y});var d=c(60293),e=c(77598);let f=3e5,g=new Map;async function h(a,b,c,e){let f=d.xq[a],g=f?.refreshUrl||f?.tokenUrl;if(!f||!g)return e?.warn?.("TOKEN_REFRESH",`No refresh endpoint configured for provider: ${a}`),null;if(!b)return e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});f.clientId&&c.set("client_id",f.clientId),f.clientSecret&&c.set("client_secret",f.clientSecret);let d=await fetch(g,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c});if(!d.ok){let b=await d.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:d.status,error:b}),null}let h=await d.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||b,expiresIn:h.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}}async function i(a,b){let c=d.xq.cline?.refreshUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Cline"),null;try{let d=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:d.status,error:a}),null}let e=await d.json(),f=e?.data||e,g=f?.expiresAt,h=g?Math.max(1,Math.floor((new Date(g).getTime()-Date.now())/1e3)):void 0;return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cline token",{hasNewAccessToken:!!f?.accessToken,hasNewRefreshToken:!!f?.refreshToken,expiresIn:h}),{accessToken:f?.accessToken,refreshToken:f?.refreshToken||a,expiresIn:h}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Cline token: ${a.message}`),null}}async function j(a,b){let c=d.xq["kimi-coding"]?.refreshUrl||d.xq["kimi-coding"]?.tokenUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Kimi Coding"),null;try{let e=new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq["kimi-coding"]?.clientId||""}),f=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:e});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Kimi Coding token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Kimi Coding token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Kimi Coding token: ${a.message}`),null}}async function k(a,b){try{let c=await fetch(d.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}}async function l(a,b,c,e){let f=await fetch(d.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return e?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return e?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async function m(a,b){let c=d.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in}}{let a=await e.text().catch(()=>""),c=null;try{let b=JSON.parse(a);c=b?.error}catch{}if("invalid_request"===c)return b?.error?.("TOKEN_REFRESH","Qwen refresh token is invalid or expired. Re-authentication required.",{status:e.status}),{error:"invalid_request"};b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null}async function n(a,b){try{let c=await fetch(d.NA.openai.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:d.xq.codex.clientId,scope:"openid profile email offline_access"})});if(!c.ok){let a=await c.text(),d=null;try{let b=JSON.parse(a);d=b?.error?.code}catch{}if("refresh_token_reused"===d)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used (rotating token consumed). Re-authentication required.",{status:c.status}),{error:"refresh_token_reused"};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}}async function o(a,b,c){try{let e=b?.authMethod,f=b?.clientId,g=b?.clientSecret,h=b?.region;if(f&&g){let b="idc"===e&&h?`https://oidc.${h}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:f,clientSecret:g,refreshToken:a,grantType:"refresh_token"})});if(!d.ok){let a=await d.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:d.status,error:a}),null}let i=await d.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!i.accessToken,expiresIn:i.expiresIn}),{accessToken:i.accessToken,refreshToken:i.refreshToken||a,expiresIn:i.expiresIn}}let i=await fetch(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a})});if(!i.ok){let a=await i.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:i.status,error:a}),null}let j=await i.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!j.accessToken,expiresIn:j.expiresIn}),{accessToken:j.accessToken,refreshToken:j.refreshToken||a,expiresIn:j.expiresIn}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kiro token: ${a.message}`),null}}async function p(a,b){let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),e=await fetch(d.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:e.status,error:a}),null}let f=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}async function q(a,b){let c=await fetch(d.NA.github.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:d.xq.github.clientId,client_secret:d.xq.github.clientSecret})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async function r(a,b){try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":"GithubCopilot/1.0","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot/1.300.0",Accept:"application/json"}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}}async function s(a,b,c){switch(a){case"gemini":case"gemini-cli":case"antigravity":return await l(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return await k(b.refreshToken,c);case"codex":return await n(b.refreshToken,c);case"qwen":return await m(b.refreshToken,c);case"iflow":return await p(b.refreshToken,c);case"github":return await q(b.refreshToken,c);case"kiro":return await o(b.refreshToken,b.providerSpecificData,c);case"cline":return await i(b.refreshToken,c);case"kimi-coding":return await j(b.refreshToken,c);default:return h(a,b.refreshToken,b,c)}}function t(a){if(new Set(["gemini","gemini-cli","antigravity","claude","codex","qwen","iflow","github","kiro","cline","kimi-coding"]).has(a))return!0;let b=d.xq[a];return!!(b?.refreshUrl||b?.tokenUrl)}function u(a){return a&&"object"==typeof a&&("refresh_token_reused"===a.error||"invalid_request"===a.error)}async function v(a,b,c){var d;let f;if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return c?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let h=(d=b.refreshToken,f=(0,e.createHash)("sha256").update(d).digest("hex"),`${a}:${f}`);if(g.has(h))return c?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),g.get(h);let i=s(a,b,c).finally(()=>{g.delete(h)});return g.set(h,i),i}let w={};async function x(a,b){return Promise.race([a(),new Promise(a=>setTimeout(()=>a(null),b))])}async function y(a,b=3,c=null,d="unknown"){let e;if((e=w[d])&&(e.blockedUntil>Date.now()||(delete w[d],0)))return c?.warn?.("TOKEN_REFRESH",`⚡ Circuit breaker active for ${d}, skipping refresh`),null;for(let e=0;e<b;e++){if(e>0){let a=1e3*e;c?.debug?.("TOKEN_REFRESH",`Retry ${e}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await x(a,3e4);if(b)return w[d]&&delete w[d],b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${e+1}/${b} failed: ${a.message}`)}}return!function(a,b=null){w[a]||(w[a]={failures:0,blockedUntil:0}),w[a].failures++,w[a].failures>=5&&(w[a].blockedUntil=Date.now()+18e5,b?.error?.("TOKEN_REFRESH",`🔴 Circuit breaker tripped for ${a}: 5 consecutive failures. Blocked for 30min. Provider needs re-authentication.`))}(d,c),c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed for ${d}`),null}}};
1
+ "use strict";exports.id=2050,exports.ids=[293,2050],exports.modules={60293:(a,b,c)=>{c.d(b,{$V:()=>n,EQ:()=>u,Co:()=>m,Bm:()=>w,DEFAULT_API_LIMITS:()=>y,O:()=>t,Uc:()=>p,eo:()=>q,LY:()=>s,MT:()=>j,gx:()=>r,NA:()=>o,xq:()=>l,PROVIDER_PROFILES:()=>x,QS:()=>v,C8:()=>z,TH:()=>k});var d=c(29021),e=c(33873);let f=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],g=0,h=null;var i=c(83596);let j=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),k=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"60000",10),l=(0,i.Z0)();!function(a){let b;if(h&&Date.now()-g<6e4)return;let c=(b=process.env.DATA_DIR||(0,e.join)(process.cwd(),"data"),(0,e.join)(b,"provider-credentials.json"));if(!(0,d.existsSync)(c))return h||console.log("[CREDENTIALS] No external credentials file found, using defaults."),h=a,g=Date.now();try{let b=(0,d.readFileSync)(c,"utf-8"),e=JSON.parse(b),g=0;for(let[b,c]of Object.entries(e)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of f)void 0!==c[d]&&(a[b][d]=c[d],g++)}let i=null!==h;console.log(`[CREDENTIALS] ${i?"Reloaded":"Loaded"} external credentials: ${g} field(s) from ${c}`)}catch(a){console.log(`[CREDENTIALS] Error reading credentials file: ${a.message}. Using defaults.`)}h=a,g=Date.now()}(l);let m="You are Claude Code, Anthropic's official CLI for Claude.",n="Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]",o={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},p=64e3,q=32e3,r={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},s={[r.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[r.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[r.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[r.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[r.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[r.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[r.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[r.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[r.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},t={[r.BAD_REQUEST]:"Bad request",[r.UNAUTHORIZED]:"Invalid API key provided",[r.FORBIDDEN]:"You exceeded your current quota",[r.NOT_FOUND]:"Model not found",[r.RATE_LIMITED]:"Rate limit exceeded",[r.SERVER_ERROR]:"Internal server error",[r.BAD_GATEWAY]:"Bad gateway - upstream provider error",[r.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[r.GATEWAY_TIMEOUT]:"Gateway timeout"},u={base:1e3,max:12e4,maxLevel:15},v={QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},w={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},x={oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4}},y={requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},z=["Please write a 5-10 word title for the following conversation:"]},81249:(a,b,c)=>{c.d(b,{Ct:()=>k,i2:()=>f,kP:()=>l});var d=c(42910);function e(){try{return(0,d.sm)()}catch{return null}}function f(a={}){let b=e();if(!b)return[];let c=[],d=[];a.action&&(c.push("action = ?"),d.push(a.action)),a.actor&&(c.push("actor = ?"),d.push(a.actor));let g=c.length>0?`WHERE ${c.join(" AND ")}`:"",h=a.limit||100,i=a.offset||0;return b.prepare(`SELECT * FROM audit_log ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`).all(...d,h,i).map(a=>({...a,details:a.details?JSON.parse(String(a.details)):null}))}parseInt(process.env.LOG_RETENTION_DAYS||"90",10);let g=new Set,h=new Map,i=!1,j=!1;for(let a of(process.env.NO_LOG_API_KEY_IDS||"").split(",").map(a=>a.trim()).filter(Boolean))g.add(a);function k(a,b){b?g.add(a):g.delete(a),h.set(a,{value:b,timestamp:Date.now()})}function l(a){if(!a)return!1;if(g.has(a))return!0;let b=function(a){let b=e();if(!b||!a||!function(a){if(i)return j;try{j=a.prepare("PRAGMA table_info(api_keys)").all().some(a=>"no_log"===a.name)}catch{j=!1}return i=!0,j}(b))return!1;let c=h.get(a);if(c&&Date.now()-c.timestamp<3e4)return c.value;try{let c=b.prepare("SELECT no_log FROM api_keys WHERE id = ?").get(a),d=!!(c&&1===Number(c.no_log));return h.set(a,{value:d,timestamp:Date.now()}),d}catch{return!1}}(a);return b&&g.add(a),b}},87068:(a,b,c)=>{c.d(b,{Ny:()=>t,Ql:()=>o,Wm:()=>n,iD:()=>v,jR:()=>r,jT:()=>u,oD:()=>f,qZ:()=>y});var d=c(60293),e=c(77598);let f=3e5,g=new Map;async function h(a,b,c,e){let f=d.xq[a],g=f?.refreshUrl||f?.tokenUrl;if(!f||!g)return e?.warn?.("TOKEN_REFRESH",`No refresh endpoint configured for provider: ${a}`),null;if(!b)return e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});f.clientId&&c.set("client_id",f.clientId),f.clientSecret&&c.set("client_secret",f.clientSecret);let d=await fetch(g,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c});if(!d.ok){let b=await d.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:d.status,error:b}),null}let h=await d.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||b,expiresIn:h.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}}async function i(a,b){let c=d.xq.cline?.refreshUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Cline"),null;try{let d=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:d.status,error:a}),null}let e=await d.json(),f=e?.data||e,g=f?.expiresAt,h=g?Math.max(1,Math.floor((new Date(g).getTime()-Date.now())/1e3)):void 0;return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cline token",{hasNewAccessToken:!!f?.accessToken,hasNewRefreshToken:!!f?.refreshToken,expiresIn:h}),{accessToken:f?.accessToken,refreshToken:f?.refreshToken||a,expiresIn:h}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Cline token: ${a.message}`),null}}async function j(a,b){let c=d.xq["kimi-coding"]?.refreshUrl||d.xq["kimi-coding"]?.tokenUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Kimi Coding"),null;try{let e=new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq["kimi-coding"]?.clientId||""}),f=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:e});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Kimi Coding token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Kimi Coding token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Kimi Coding token: ${a.message}`),null}}async function k(a,b){try{let c=await fetch(d.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}}async function l(a,b,c,e){let f=await fetch(d.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return e?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return e?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async function m(a,b){let c=d.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in}}{let a=await e.text().catch(()=>""),c=null;try{let b=JSON.parse(a);c=b?.error}catch{}if("invalid_request"===c)return b?.error?.("TOKEN_REFRESH","Qwen refresh token is invalid or expired. Re-authentication required.",{status:e.status}),{error:"invalid_request"};b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null}async function n(a,b){try{let c=await fetch(d.NA.openai.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:d.xq.codex.clientId,scope:"openid profile email offline_access"})});if(!c.ok){let a=await c.text(),d=null;try{let b=JSON.parse(a);d=b?.error?.code}catch{}if("refresh_token_reused"===d)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used (rotating token consumed). Re-authentication required.",{status:c.status}),{error:"refresh_token_reused"};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}}async function o(a,b,c){try{let e=b?.authMethod,f=b?.clientId,g=b?.clientSecret,h=b?.region;if(f&&g){let b="idc"===e&&h?`https://oidc.${h}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:f,clientSecret:g,refreshToken:a,grantType:"refresh_token"})});if(!d.ok){let a=await d.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:d.status,error:a}),null}let i=await d.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!i.accessToken,expiresIn:i.expiresIn}),{accessToken:i.accessToken,refreshToken:i.refreshToken||a,expiresIn:i.expiresIn}}let i=await fetch(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a})});if(!i.ok){let a=await i.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:i.status,error:a}),null}let j=await i.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!j.accessToken,expiresIn:j.expiresIn}),{accessToken:j.accessToken,refreshToken:j.refreshToken||a,expiresIn:j.expiresIn}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kiro token: ${a.message}`),null}}async function p(a,b){let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),e=await fetch(d.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:e.status,error:a}),null}let f=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}async function q(a,b){let c=await fetch(d.NA.github.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:d.xq.github.clientId,client_secret:d.xq.github.clientSecret})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async function r(a,b){try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":"GithubCopilot/1.0","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot/1.300.0",Accept:"application/json"}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}}async function s(a,b,c){switch(a){case"gemini":case"gemini-cli":case"antigravity":return await l(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return await k(b.refreshToken,c);case"codex":return await n(b.refreshToken,c);case"qwen":return await m(b.refreshToken,c);case"iflow":return await p(b.refreshToken,c);case"github":return await q(b.refreshToken,c);case"kiro":return await o(b.refreshToken,b.providerSpecificData,c);case"cline":return await i(b.refreshToken,c);case"kimi-coding":return await j(b.refreshToken,c);default:return h(a,b.refreshToken,b,c)}}function t(a){if(new Set(["gemini","gemini-cli","antigravity","claude","codex","qwen","iflow","github","kiro","cline","kimi-coding"]).has(a))return!0;let b=d.xq[a];return!!(b?.refreshUrl||b?.tokenUrl)}function u(a){return a&&"object"==typeof a&&("refresh_token_reused"===a.error||"invalid_request"===a.error)}async function v(a,b,c){var d;let f;if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return c?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let h=(d=b.refreshToken,f=(0,e.createHash)("sha256").update(d).digest("hex"),`${a}:${f}`);if(g.has(h))return c?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),g.get(h);let i=s(a,b,c).finally(()=>{g.delete(h)});return g.set(h,i),i}let w={};async function x(a,b){return Promise.race([a(),new Promise(a=>setTimeout(()=>a(null),b))])}async function y(a,b=3,c=null,d="unknown"){let e;if((e=w[d])&&(e.blockedUntil>Date.now()||(delete w[d],0)))return c?.warn?.("TOKEN_REFRESH",`⚡ Circuit breaker active for ${d}, skipping refresh`),null;for(let e=0;e<b;e++){if(e>0){let a=1e3*e;c?.debug?.("TOKEN_REFRESH",`Retry ${e}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await x(a,3e4);if(b)return w[d]&&delete w[d],b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${e+1}/${b} failed: ${a.message}`)}}return!function(a,b=null){w[a]||(w[a]={failures:0,blockedUntil:0}),w[a].failures++,w[a].failures>=5&&(w[a].blockedUntil=Date.now()+18e5,b?.error?.("TOKEN_REFRESH",`🔴 Circuit breaker tripped for ${a}: 5 consecutive failures. Blocked for 30min. Provider needs re-authentication.`))}(d,c),c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed for ${d}`),null}}};
@@ -0,0 +1,2 @@
1
+ exports.id=3061,exports.ids=[3061,4755],exports.modules={8959:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DI:()=>m,IS:()=>i,JH:()=>l,Q2:()=>n,fg:()=>k,gb:()=>h,js:()=>o,mq:()=>g,zN:()=>j});var e=c(43701),f=a([e]);e=(f.then?(await f)():f)[0];let i={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},j={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},k={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"}},l="openai-compatible-",m="anthropic-compatible-";function g(a){return"string"==typeof a&&a.startsWith(l)}function h(a){return"string"==typeof a&&a.startsWith(m)}let n={...i,...j,...k},o=Object.values(n).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(n).reduce((a,b)=>(a[b.id]=b.alias,a),{}),(0,e.LA)(i,"FREE_PROVIDERS"),(0,e.LA)(j,"OAUTH_PROVIDERS"),(0,e.LA)(k,"APIKEY_PROVIDERS"),d()}catch(a){d(a)}})},15102:(a,b,c)=>{"use strict";c.d(b,{Uk:()=>f,bV:()=>e,lw:()=>g});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"gpt-image-1",name:"GPT Image 1"},{id:"dall-e-3",name:"DALL-E 3"},{id:"dall-e-2",name:"DALL-E 2"}],supportedSizes:["1024x1024","1024x1792","1792x1024","256x256","512x512"]},xai:{id:"xai",baseUrl:"https://api.x.ai/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"grok-2-image-1212",name:"Grok 2 Image"}],supportedSizes:["1024x1024"]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/FLUX.1.1-pro",name:"FLUX 1.1 Pro"},{id:"black-forest-labs/FLUX.1-schnell-Free",name:"FLUX 1 Schnell (Free)"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["1024x1024","512x512"]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"accounts/fireworks/models/flux-1-dev-fp8",name:"FLUX 1 Dev FP8"},{id:"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0",name:"SDXL 1024 v1.0"}],supportedSizes:["1024x1024","512x512"]},antigravity:{id:"antigravity",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"oauth",authHeader:"bearer",format:"gemini-image",models:[{id:"gemini-2.5-flash-preview-image-generation",name:"Nano Banana"}],supportedSizes:["1024x1024"]},nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/images/generations",fallbackUrl:"https://api.studio.nebius.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/flux-schnell",name:"FLUX.1 Schnell"},{id:"black-forest-labs/flux-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/image/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"SDXL1.0-base",name:"SDXL 1.0 Base"},{id:"SD2",name:"Stable Diffusion 2"},{id:"FLUX.1-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},nanobanana:{id:"nanobanana",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",proUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate-pro",statusUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info",authType:"apikey",authHeader:"bearer",format:"nanobanana",models:[{id:"nanobanana-flash",name:"NanoBanana Flash (Gemini 2.5 Flash)"},{id:"nanobanana-pro",name:"NanoBanana Pro (Gemini 3 Pro)"}],supportedSizes:["1024x1024","1024x1280","1024x1536","1536x1024","1280x1024"]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860/sdapi/v1/txt2img",authType:"none",authHeader:"none",format:"sdwebui",models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["512x512","768x768","1024x1024"]},comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"flux-dev",name:"FLUX Dev"},{id:"sdxl",name:"SDXL"}],supportedSizes:["512x512","768x768","1024x1024"]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,supportedSizes:c.supportedSizes});return a}},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},30255:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Xg:()=>e.PROVIDER_ID_TO_ALIAS,eh:()=>h,vq:()=>e.vq});var e=c(23969),f=c(8959),g=a([f]);f=(g.then?(await g)():g)[0],Object.entries(f.Q2).filter(([,a])=>a.passthroughModels).map(([a])=>a);let h=Object.entries(e.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})));d()}catch(a){d(a)}})},33136:(a,b,c)=>{"use strict";c.d(b,{$q:()=>f,lR:()=>h,m:()=>g});var d=c(66436);let e={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"stable-audio-open",name:"Stable Audio Open"},{id:"musicgen-medium",name:"MusicGen Medium"}]}};function f(a){return e[a]||null}function g(a){return(0,d.AA)(a,e)}function h(){return(0,d.tv)(e)}},43701:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{LA:()=>g});var e=c(42971),f=a([e]);let h=(e=(f.then?(await f)():f)[0]).z.object({id:e.z.string().min(1),alias:e.z.string().min(1),name:e.z.string().min(1),icon:e.z.string().min(1),color:e.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:e.z.string().optional(),website:e.z.string().url().optional(),passthroughModels:e.z.boolean().optional()}),i=e.z.record(e.z.string(),h);function g(a,b){let c=i.safeParse(a);if(!c.success){let a=c.error.issues.map(a=>` ${a.path.join(".")}: ${a.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${b} has invalid entries:
2
+ ${a}`),Error(`Provider validation failed for ${b}`)}}d()}catch(a){d(a)}})},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()}},66436:(a,b,c)=>{"use strict";function d(a,b){if(!a)return{provider:null,model:null};for(let[c]of Object.entries(b))if(a.startsWith(c+"/"))return{provider:c,model:a.slice(c.length+1)};for(let[c,d]of Object.entries(b))if(d.models.some(b=>b.id===a))return{provider:c,model:a};return{provider:null,model:a}}function e(a,b){let c=[];for(let[d,e]of Object.entries(a)){let a=b?b(d,e):{};for(let b of e.models)c.push({id:`${d}/${b.id}`,name:b.name,provider:d,...a})}return c}function f(a,b){if("none"===a.authType||"none"===a.authHeader||!b)return{};switch(a.authHeader){case"token":return{Authorization:`Token ${b}`};case"xi-api-key":return{"xi-api-key":b};case"x-api-key":return{"x-api-key":b};default:return{Authorization:`Bearer ${b}`}}}c.d(b,{AA:()=>d,fn:()=>f,tv:()=>e})},78335:()=>{},81565:(a,b,c)=>{"use strict";c.d(b,{FW:()=>i,Yj:()=>f,ah:()=>k,pD:()=>j,uM:()=>g});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcription",name:"GPT-4o Transcription"}]},groq:{id:"groq",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]},assemblyai:{id:"assemblyai",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",async:!0,format:"assemblyai",models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"nvidia-asr",models:[{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/transcriptions",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-asr",name:"Qwen3 ASR"}]}},e={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",models:[{id:"tts-1",name:"TTS 1"},{id:"tts-1-hd",name:"TTS 1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"aura-asteria-en",name:"Aura Asteria (EN)"},{id:"aura-luna-en",name:"Aura Luna (EN)"},{id:"aura-stella-en",name:"Aura Stella (EN)"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"nvidia/fastpitch",name:"FastPitch"},{id:"nvidia/tacotron2",name:"Tacotron2"}]},elevenlabs:{id:"elevenlabs",baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},coqui:{id:"coqui",baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},tortoise:{id:"tortoise",baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/speech",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-tts",name:"Qwen3 TTS"}]}};function f(a){return d[a]||null}function g(a){return e[a]||null}function h(a,b){if(!a)return{provider:null,model:null};for(let[c,d]of Object.entries(b))if(a.startsWith(c+"/"))return{provider:c,model:a.slice(c.length+1)};for(let[c,d]of Object.entries(b))if(d.models.some(b=>b.id===a))return{provider:c,model:a};return{provider:null,model:a}}function i(a){return h(a,d)}function j(a){return h(a,e)}function k(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,subtype:"transcription"});for(let[b,c]of Object.entries(e))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,subtype:"speech"});return a}},83262:(a,b,c)=>{"use strict";c.d(b,{Lb:()=>e,QG:()=>f,zD:()=>g});let d={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};let b=a.indexOf("/");if(b>0){for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};return{provider:a.slice(0,b),model:a.slice(b+1)}}for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,dimensions:d.dimensions});return a}},88258:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{y:()=>r});var e=c(92556),f=c(30255),g=c(8959),h=c(22901),i=c(9415),j=c(83262),k=c(15102),l=c(94954),m=c(81565),n=c(96721),o=c(90416),p=c(33136),q=a([f,g]);[f,g]=q.then?(await q)():q;let s={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"};async function r(a,b={"Access-Control-Allow-Origin":e.J5}){try{let c={};try{c=await (0,h.V7)()}catch{}if(!0===c.requireAuthForModels&&!await (0,i.wR)(a))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:d,providerIdToAlias:e}=function(){let a={},b={};for(let c of Object.values(g.Q2)){let d=c?.id,e=c?.alias||d;d&&(a[d]=d,a[e]=d,b[d]||(b[d]=e))}for(let[b,c]of Object.entries(f.Xg)){if(f.vq[b]){a[b]=a[b]||c;continue}if(f.vq[c]){a[c]=a[c]||b;continue}a[c]=a[c]||b}for(let b of Object.keys(f.vq))a[b]||(a[b]=b);for(let[c,d]of Object.entries(a))b[d]||(b[d]=c);for(let[c,d]of Object.entries(s))a[c]||(a[c]=d),a[d]||(a[d]=d),b[d]||(b[d]=c);return{aliasToProviderId:a,providerIdToAlias:b}}(),q=new Set(Array.isArray(c.blockedProviders)?c.blockedProviders:[]),r=[];try{(r=await (0,h.getProviderConnections)()).length,r=r.filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, showing only combos/custom models")}let t=[];try{t=await (0,h.Fh)()}catch(a){console.log("Could not fetch provider nodes")}let u={},v={};for(let a of t)a.prefix&&(u[a.id]=a.prefix),a.type&&(v[a.id]=a.type);let w=[];try{w=await (0,h.Uv)()}catch(a){console.log("Could not fetch combos")}let x=new Set;for(let a of r){let b=e[a.provider]||a.provider;x.add(b),x.add(a.provider)}let y=[],z=Math.floor(Date.now()/1e3);for(let a of w)!1!==a.isActive&&y.push({id:a.name,object:"model",created:z,owned_by:"combo",permission:[],root:a.name,parent:null});for(let[a,b]of Object.entries(f.vq)){let c=d[a]||a,e=s[a]||c;if(!(q.has(a)||q.has(e))&&(x.has(a)||x.has(e)))for(let c of b){let b=`${a}/${c.id}`;y.push({id:b,object:"model",created:z,owned_by:e,permission:[],root:c.id,parent:null}),e!==a&&y.push({id:`${e}/${c.id}`,object:"model",created:z,owned_by:e,permission:[],root:c.id,parent:b})}}let A=a=>{if(0===x.size)return!1;let b=e[a]||a;return x.has(b)||x.has(a)};for(let a of(0,j.zD)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"embedding",dimensions:a.dimensions});for(let a of(0,k.lw)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"image",supported_sizes:a.supportedSizes});for(let a of(0,l.xt)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"rerank"});for(let a of(0,m.ah)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"audio",subtype:a.subtype});for(let a of(0,n.iI)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"moderation"});for(let a of(0,o.nC)()){let b=(0,o.L4)(a.provider);(b?.authType==="none"||A(a.provider))&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"video"})}for(let a of(0,p.lR)()){let b=(0,p.$q)(a.provider);(b?.authType==="none"||A(a.provider))&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"music"})}try{let a=await (0,h.NL)();for(let[b,c]of Object.entries(a)){let a=Array.isArray(c)?c.filter(a=>!!a&&"object"==typeof a&&!Array.isArray(a)):[],d=u[b],f=d||e[b]||b,g=s[f]||b,h=v[b];if(x.has(f)||x.has(g)||x.has(b)||h&&x.has(h))for(let b of a){let a,c="string"==typeof b.id?b.id:null;if(!c)continue;let e=`${f}/${c}`;if(y.some(a=>a.id===e))continue;let h=Array.isArray(b.supportedEndpoints)?b.supportedEndpoints:["chat"],i="string"==typeof b.apiFormat?b.apiFormat:"chat-completions";if(h.includes("embeddings")?a="embedding":h.includes("images")?a="image":h.includes("audio")&&(a="audio"),y.push({id:e,object:"model",created:z,owned_by:g,permission:[],root:c,parent:null,custom:!0,...a?{type:a}:{},..."chat-completions"!==i?{api_format:i}:{},...h.length>1||!h.includes("chat")?{supported_endpoints:h}:{}}),g!==f&&!d){let b=`${g}/${c}`;if(y.some(a=>a.id===b))continue;y.push({id:b,object:"model",created:z,owned_by:g,permission:[],root:c,parent:e,custom:!0,...a?{type:a}:{}})}}}}catch(a){console.log("Could not fetch custom models")}return Response.json({object:"list",data:y},{headers:b})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}d()}catch(a){d(a)}})},90416:(a,b,c)=>{"use strict";c.d(b,{L4:()=>f,Y3:()=>g,nC:()=>h});var d=c(66436);let e={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};function f(a){return e[a]||null}function g(a){return(0,d.AA)(a,e)}function h(){return(0,d.tv)(e)}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},92305:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15693),g=c(3295);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},92556:(a,b,c)=>{"use strict";c.d(b,{$N:()=>e,J5:()=>d});let d=process.env.CORS_ORIGIN||"*",e={"Access-Control-Allow-Origin":d,"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-api-key, anthropic-version"}},94755:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},94954:(a,b,c)=>{"use strict";c.d(b,{AN:()=>f,Bo:()=>e,xt:()=>g});let d={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b});return a}},96487:()=>{},96721:(a,b,c)=>{"use strict";c.d(b,{iI:()=>g,mX:()=>e,vb:()=>f});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b});return a}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=359,exports.ids=[359],exports.modules={9415:(a,b,c)=>{c.d(b,{wR:()=>f});var d=c(55649),e=c(65573);async function f(a){let b=a.headers.get("authorization");if(b?.startsWith("Bearer ")){let a=b.slice(7);try{let{validateApiKey:b}=await Promise.resolve().then(c.bind(c,80500));if(await b(a))return!0}catch{}}if(process.env.JWT_SECRET)try{let a=await (0,e.UL)(),b=a.get("auth_token")?.value;if(b){let a=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,d.V)(b,a),!0}}catch{}return!1}c(22901)},55649:(a,b,c)=>{c.d(b,{V:()=>s});var d=c(56642),e=c(30121),f=c(48682),g=c(63952);async function h(a,b,c,d){let h=await (0,g.j)(a,b,"verify");(0,f.O)(a,h);let i=(0,e.B)(a,h.algorithm);try{return await crypto.subtle.verify(i,h,c,d)}catch{return!1}}var i=c(99129),j=c(73575),k=c(41842),l=c(36281),m=c(24762),n=c(80308),o=c(55956);async function p(a,b,c){let e,f;if(!(0,l.G)(a))throw new i.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new i.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new i.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new i.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new i.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,l.G)(a.header))throw new i.Ye("JWS Unprotected Header incorrect type");let g={};if(a.protected)try{let b=(0,d.D)(a.protected);g=JSON.parse(j.D0.decode(b))}catch{throw new i.Ye("JWS Protected Header is invalid")}if(!(0,k.f)(g,a.header))throw new i.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let p={...g,...a.header},q=(0,n.n)(i.Ye,new Map([["b64",!0]]),c?.crit,g,p),r=!0;if(q.has("b64")&&"boolean"!=typeof(r=g.b64))throw new i.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:s}=p;if("string"!=typeof s||!s)throw new i.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let t=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(t&&!t.has(s))throw new i.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(r){if("string"!=typeof a.payload)throw new i.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new i.Ye("JWS Payload must be a string or an Uint8Array instance");let u=!1;"function"==typeof b&&(b=await b(g,a),u=!0),(0,m.y)(s,b,"verify");let v=(0,j.xW)(void 0!==a.protected?(0,j.lF)(a.protected):new Uint8Array,(0,j.lF)("."),"string"==typeof a.payload?r?(0,j.lF)(a.payload):j.Rd.encode(a.payload):a.payload);try{e=(0,d.D)(a.signature)}catch{throw new i.Ye("Failed to base64url decode the signature")}let w=await (0,o.l)(b,s);if(!await h(s,w,e,v))throw new i.h2;if(r)try{f=(0,d.D)(a.payload)}catch{throw new i.Ye("Failed to base64url decode the payload")}else f="string"==typeof a.payload?j.Rd.encode(a.payload):a.payload;let x={payload:f};return(void 0!==a.protected&&(x.protectedHeader=g),void 0!==a.header&&(x.unprotectedHeader=a.header),u)?{...x,key:w}:x}async function q(a,b,c){if(a instanceof Uint8Array&&(a=j.D0.decode(a)),"string"!=typeof a)throw new i.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new i.Ye("Invalid Compact JWS");let h=await p({payload:e,protected:d,signature:f},b,c),k={payload:h.payload,protectedHeader:h.protectedHeader};return"function"==typeof b?{...k,key:h.key}:k}var r=c(17347);async function s(a,b,c){let d=await q(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new i.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,r.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},81249:(a,b,c)=>{c.d(b,{Ct:()=>k,i2:()=>f,kP:()=>l});var d=c(42910);function e(){try{return(0,d.sm)()}catch{return null}}function f(a={}){let b=e();if(!b)return[];let c=[],d=[];a.action&&(c.push("action = ?"),d.push(a.action)),a.actor&&(c.push("actor = ?"),d.push(a.actor));let g=c.length>0?`WHERE ${c.join(" AND ")}`:"",h=a.limit||100,i=a.offset||0;return b.prepare(`SELECT * FROM audit_log ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`).all(...d,h,i).map(a=>({...a,details:a.details?JSON.parse(String(a.details)):null}))}parseInt(process.env.LOG_RETENTION_DAYS||"90",10);let g=new Set,h=new Map,i=!1,j=!1;for(let a of(process.env.NO_LOG_API_KEY_IDS||"").split(",").map(a=>a.trim()).filter(Boolean))g.add(a);function k(a,b){b?g.add(a):g.delete(a),h.set(a,{value:b,timestamp:Date.now()})}function l(a){if(!a)return!1;if(g.has(a))return!0;let b=function(a){let b=e();if(!b||!a||!function(a){if(i)return j;try{j=a.prepare("PRAGMA table_info(api_keys)").all().some(a=>"no_log"===a.name)}catch{j=!1}return i=!0,j}(b))return!1;let c=h.get(a);if(c&&Date.now()-c.timestamp<3e4)return c.value;try{let c=b.prepare("SELECT no_log FROM api_keys WHERE id = ?").get(a),d=!!(c&&1===Number(c.no_log));return h.set(a,{value:d,timestamp:Date.now()}),d}catch{return!1}}(a);return b&&g.add(a),b}}};
@@ -12,7 +12,7 @@
12
12
 
13
13
  `))}}k>=1e3&&console.warn("[Kiro] Max iterations reached in event parsing")},flush(a){if(!g.finishEmitted){g.finishEmitted=!0;let c={id:e,object:"chat.completion.chunk",created:f,model:b,choices:[{index:0,delta:{},finish_reason:g.hasToolCalls?"tool_calls":"stop"}]};a.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(c)}
14
14
 
15
- `))}a.enqueue(new TextEncoder().encode("data: [DONE]\n\n"))}});return new Response(a.body.pipeThrough(h),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{return await (0,g.Ql)(a.refreshToken,a.providerSpecificData,b)}catch(c){let a=c instanceof Error?c:Error(String(c));return b?.error?.("TOKEN",`Kiro refresh error: ${a.message}`),null}}}},37544:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>n});var e=c(14938),f=c(24978),g=c(39033),h=c(71751),i=c(36589),j=c(93831),k=c(93792),l=c(18221);c(39859);var m=a([k]);k=(m.then?(await m)():m)[0];let o={antigravity:new e.c,"gemini-cli":new f.V,github:new g.x,iflow:new h.r,kiro:new i.B,codex:new j.T,cursor:new k.o,cu:new k.o},p=new Map;function n(a){return o[a]?o[a]:(p.has(a)||p.set(a,new l.L(a)),p.get(a))}d()}catch(a){d(a)}})},39033:(a,b,c)=>{c.d(b,{x:()=>g});var d=c(39859),e=c(60293),f=c(23969);class g extends d.H{constructor(){super("github",e.xq.github)}buildUrl(a,b,c=0){return"openai-responses"===(0,f.ux)("gh",a)?this.config.responsesBaseUrl||this.config.baseUrl?.replace(/\/chat\/completions\/?$/,"/responses")||"https://api.githubcopilot.com/responses":this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-request-id":crypto.randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:b?"text/event-stream":"application/json"}}async refreshCopilotToken(a,b){try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":"GithubCopilot/1.0","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot/1.300.0",Accept:"application/json"}});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b){try{let c=await fetch(e.NA.github.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})});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b){let c=await this.refreshCopilotToken(a.accessToken,b);if(!c&&a.refreshToken){let d=await this.refreshGitHubToken(a.refreshToken,b);if(d?.accessToken)return(c=await this.refreshCopilotToken(d.accessToken,b))?{...d,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:d}return c?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},39859:(a,b,c)=>{c.d(b,{H:()=>f});var d=c(60293),e=c(78103);class f{constructor(a,b){this.provider=a,this.config=b}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=("string"==typeof d?.providerSpecificData?.baseUrl?d.providerSpecificData.baseUrl:"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=this.config?.id||this.provider;if(d){let a=`${d.toUpperCase().replace(/[^A-Z0-9]/g,"_")}_USER_AGENT`,b=process.env[a]?.trim();b&&(c["User-Agent"]=b,c["user-agent"]&&(c["user-agent"]=b))}return a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b){return null}needsRefresh(a){return!!a.expiresAt&&new Date(a.expiresAt).getTime()-Date.now()<3e5}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:f,signal:g,log:h}){let i=this.getFallbackCount(),j=null,k=0;for(let l=0;l<i;l++){let m=this.buildUrl(a,c,l,f),n=this.buildHeaders(f,c),o=this.transformRequest(a,b,c,f);try{let a=c?null:AbortSignal.timeout(d.MT),b=g&&a?function(a,b){let c=new AbortController,d=()=>{c.signal.aborted||c.abort()};return a.aborted||b.aborted?d():(a.addEventListener("abort",d,{once:!0}),b.addEventListener("abort",d,{once:!0})),c.signal}(g,a):g||a,f=n,i=JSON.stringify(o);if((0,e.IL)(this.provider)){let a=(0,e.BI)(this.provider,n,o);f=a.headers,i=a.bodyString}let j={method:"POST",headers:f,body:i};b&&(j.signal=b);let p=await fetch(m,j);if(this.shouldRetry(p.status,l)){h?.debug?.("RETRY",`${p.status} on ${m}, trying fallback ${l+1}`),k=p.status;continue}return{response:p,url:m,headers:n,transformedBody:o}}catch(b){let a=b instanceof Error?b:Error(String(b));if("TimeoutError"===a.name&&h?.warn?.("TIMEOUT",`Fetch timeout after ${d.MT}ms on ${m}`),j=a,l+1<i){h?.debug?.("RETRY",`Error on ${m}, trying fallback ${l+1}`);continue}throw a}}throw j||Error(`All ${i} URLs failed with status ${k}`)}}},50101:(a,b,c)=>{c.d(b,{Gh:()=>j,IF:()=>n,O9:()=>g,OF:()=>m,WL:()=>h,f5:()=>k,lm:()=>f});var d=c(19704),e=c(55120);let f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function g(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function h(a,b){if(!a||"object"!=typeof a)return a;let c={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},d=c[b];b===e.h.GEMINI_CLI||b===e.h.ANTIGRAVITY?d=c[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?d=c[e.h.OPENAI_RESPONSES]:d||(d=c.default);let f={};for(let b of d)void 0!==a[b]&&(f[b]=a[b]);return f}function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function j(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function k(a){if(!a||"object"!=typeof a)return null;if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return i({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens})}return a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens?i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens}):a.usageMetadata&&"object"==typeof a.usageMetadata?i({prompt_tokens:a.usageMetadata?.promptTokenCount||0,completion_tokens:a.usageMetadata?.candidatesTokenCount||0,total_tokens:a.usageMetadata?.totalTokenCount,cached_tokens:a.usageMetadata?.cachedContentTokenCount,reasoning_tokens:a.usageMetadata?.thoughtsTokenCount}):null}function l(a){if(!a||"string"!=typeof a)return 0;let b=a.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu);return(b?b.length:0)+Math.ceil(1.3*a.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(a=>a&&a.trim().length>0).length)}function m(a,b,c=e.h.OPENAI){var d,f;return d=function(a){if(!a||"object"!=typeof a)return 0;try{let b=0,c=0;if(a.tools&&Array.isArray(a.tools)){let d=JSON.stringify(a.tools);b=Math.ceil(d.length/6);let{tools:e,...f}=a;c=l(JSON.stringify(f))}else c=l(JSON.stringify(a));return c+b}catch(a){return 0}}(a),f=b&&!(b<=0)?Math.max(1,Math.ceil(b/3.5)):0,c===e.h.CLAUDE?g({input_tokens:d,output_tokens:f,estimated:!0}):g({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function n(a,b,c=null,e=null,g=null){if(!b||"object"!=typeof b)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=e?e.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${f.reset}`;b.estimated&&(l+=` ${f.yellow}(estimated)${f.reset}`);let m=b.cache_read_input_tokens||b.cached_tokens;m&&(l+=` | cache_read=${m}`);let o=b.cache_creation_input_tokens;o&&(l+=` | cache_create=${o}`);let p=b.reasoning_tokens;p&&(l+=` | reasoning=${p}`),console.log(l);let q={input:i,output:j,cacheRead:m||0,cacheCreation:o||0,reasoning:p||0};(0,d.sZ)({model:c,provider:a,connectionId:e,apiKeyId:g?.id||void 0,apiKeyName:g?.name||void 0,tokens:q}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:q,status:"200 OK"}).catch(()=>{})}},51082:(a,b,c)=>{c.d(b,{CP:()=>p,yI:()=>m});var d=c(94755),e=c(74075),f=c.n(e);let g=(a,...b)=>console.log(`[PROTOBUF:${a}]`,...b),h="1.1.3",i=new Set([1,2,3,9,10,11,27,1,25]);function j(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function k(a,b,c){let d=j(a<<3|b);if(0===b)return l(d,j(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 l(d,j(a.length),a)}return new Uint8Array(0)}function l(...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 m(a,b,c=[],e=null){g("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}`);let h=function(a,b,c=[],e=null){return k(1,2,function(a,b,c=[],e=null){let f,g=c?.length>0,h=[],i=[];for(let b=0;b<a.length;b++){let c=a[b],e="user"===c.role?1:2,f=(0,d.A)(),j=b===a.length-1;h.push({content:c.content,role:e,messageId:f,isLast:j,hasTools:g,toolResults:c.tool_results||[]}),i.push({messageId:f,role:e})}let m=0;return"medium"===e?m=1:"high"===e&&(m=2),l(...h.map(a=>k(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[]){return l(k(1,2,a),k(2,0,b),k(13,2,c),...g.length>0?g.map(a=>{let b,c,d,e;return k(18,2,(b=a.tool_call_id||"",c=a.name||"",d=a.index||0,e=a.raw_args||"{}",l(k(1,2,b),k(2,2,c),k(3,0,d),k(5,2,e))))}):[],k(29,0,+!!f),k(47,0,f?2:1),...e&&f?[k(51,2,j(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),k(2,0,1),k(3,2,new Uint8Array(0)),k(4,0,1),k(5,2,l(k(1,2,b),k(4,2,new Uint8Array(0)))),k(8,2,""),k(13,0,1),k(15,2,(f=l(k(1,2,new Uint8Array(0)),k(2,2,new Uint8Array(0))),l(k(1,2,"cursor\\aisettings"),k(3,2,new Uint8Array(0)),k(6,2,f),k(8,0,1),k(9,0,1)))),k(19,0,1),k(23,2,(0,d.A)()),k(26,2,l(k(1,2,process.platform||"linux"),k(2,2,process.arch||"x64"),k(3,2,process.version||"v20.0.0"),k(4,2,process.cwd?.()||"/"),k(5,2,new Date().toISOString()))),k(27,0,+!!g),...g?[k(29,2,j(1))]:[],...i.map(a=>k(30,2,function(a,b,c=null){return l(k(1,2,a),...c?[k(2,2,c)]:[],k(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return k(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},l(...b?[k(1,2,b)]:[],...c?[k(2,2,c)]:[],...Object.keys(d).length>0?[k(3,2,JSON.stringify(d))]:[],k(4,2,"custom"))))}):[],k(35,0,0),k(38,0,0),k(46,0,g?2:1),k(47,2,""),k(48,0,+!g),k(49,0,m),k(51,0,0),k(53,0,1),k(54,2,g?"Agent":"Ask"))}(a,b,c,e))}(a,b,c,e),i=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}(h,!1);return g("BODY",`Protobuf=${h.length}B, Framed=${i.length}B`),i}function n(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 o(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]=n(a,b),f=7&d,g=e;if(0===f)[c,g]=n(a,g);else if(2===f){let[b,d]=n(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 p(a){try{let b=o(a);for(let a of b.keys())i.has(a)||g("SCHEMA",`Unknown response field #${a} detected. Schema v${h} may be outdated.`);if(b.has(1)){let a=function(a){let b=o(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=o(b.get(27)[0].value);if(a.has(1)){let b=o(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){g("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 g("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=o(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=o(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){g("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 g("EXTRACT",`Decode failed (schema v${h}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},71751:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(39859),g=c(60293);class h extends f.H{constructor(){super("iflow",g.xq.iflow)}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${e().randomUUID()}`,d=Date.now(),f=this.config.headers?.["User-Agent"]||"iFlow-Cli",g=a.apiKey||a.accessToken||"",h=this.createIFlowSignature(f,c,d,g),i={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":h};return a.apiKey?i.Authorization=`Bearer ${a.apiKey}`:a.accessToken&&(i.Authorization=`Bearer ${a.accessToken}`),b&&(i.Accept="text/event-stream"),i}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return b}}},78103:(a,b,c)=>{c.d(b,{BI:()=>e,IL:()=>h,fT:()=>g});let d={codex:{headerOrder:["Host","Content-Type","Authorization","Accept","User-Agent","Accept-Encoding"],bodyFieldOrder:["model","messages","temperature","top_p","max_tokens","stream","tools","tool_choice","response_format","n","stop"],userAgent:"codex-cli"},claude:{headerOrder:["Host","Content-Type","x-api-key","anthropic-version","Accept","User-Agent","Accept-Encoding"],bodyFieldOrder:["model","max_tokens","messages","system","temperature","top_p","top_k","stream","tools","tool_choice","metadata"],userAgent:"claude-code"},github:{headerOrder:["Host","Authorization","X-Request-Id","Vscode-Sessionid","Vscode-Machineid","Editor-Version","Editor-Plugin-Version","Copilot-Integration-Id","Openai-Organization","Openai-Intent","Content-Type","User-Agent","Accept","Accept-Encoding"],bodyFieldOrder:["messages","model","temperature","top_p","max_tokens","n","stream","intent","intent_threshold","intent_content"],userAgent:"GitHubCopilotChat"},antigravity:{headerOrder:["Host","Content-Type","Authorization","User-Agent","Accept","Accept-Encoding"],bodyFieldOrder:["project","model","userAgent","requestType","requestId","request"],userAgent:"antigravity"}};function e(a,b,c){let e=d[a?.toLowerCase()];return e?(e.userAgent&&(b["User-Agent"]=e.userAgent),e.extraHeaders&&Object.assign(b,e.extraHeaders),{headers:function(a,b){if(!b?.length||!a)return a;let c={},d=new Map;for(let[b,c]of Object.entries(a))d.set(b.toLowerCase(),[b,c]);for(let a of b){let b=d.get(a.toLowerCase());b&&(c[b[0]]=b[1],d.delete(a.toLowerCase()))}for(let[,[a,b]]of d)c[a]=b;return c}(b,e.headerOrder),bodyString:JSON.stringify(c&&"object"==typeof c&&!Array.isArray(c)?function(a,b){if(!b?.length||!a||"object"!=typeof a)return a;let c={},d=new Set(Object.keys(a));for(let e of b)e in a&&(c[e]=a[e],d.delete(e));for(let b of d)c[b]=a[b];return c}(c,e.bodyFieldOrder):c)}):{headers:b,bodyString:JSON.stringify(c)}}let f=new Set;function g(a){f=new Set((a||[]).map(a=>a.toLowerCase()))}function h(a){let b=a?.toLowerCase().replace(/[^a-z0-9]/g,"_");if(f.has(a?.toLowerCase()))return!0;let c=`CLI_COMPAT_${b?.toUpperCase()}`;return"1"===process.env[c]||"true"===process.env[c]||"1"===process.env.CLI_COMPAT_ALL||"true"===process.env.CLI_COMPAT_ALL}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){i=i||0;for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i},93792:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>r});var e=c(39859),f=c(60293),g=c(51082),h=c(50101),i=c(55120),j=c(92773),k=c(55511),l=c.n(k),m=c(85081),n=c(74075),o=c.n(n);let a=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{a=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}function p(a,b){if(a.length>10&&123===a[0]&&34===a[1])try{if(a.toString("utf-8").startsWith('{"error"'))return console.log("[DECOMPRESS] Detected JSON error, skipping decompression"),a}catch{}if(1===b||2===b||3===b)try{return o().gunzipSync(a)}catch(c){console.log(`[DECOMPRESS ERROR] flags=${b}, payloadSize=${a.length}, error=${c.message}`),console.log("[DECOMPRESS ERROR] First 50 bytes (hex):",a.slice(0,50).toString("hex")),console.log("[DECOMPRESS ERROR] First 50 bytes (utf8):",a.slice(0,50).toString("utf8").replace(/[^\x20-\x7E]/g,"."))}return a}function q(a){let b=a?.error?.details?.[0]?.debug?.details?.title||a?.error?.details?.[0]?.debug?.details?.detail||a?.error?.message||"API Error",c=a?.error?.code==="resource_exhausted";return new Response(JSON.stringify({error:{message:b,type:c?"rate_limit_error":"api_error",code:a?.error?.details?.[0]?.debug?.error||"unknown"}}),{status:c?f.gx.RATE_LIMITED:f.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}class r extends e.H{constructor(){super("cursor",f.xq.cursor)}buildUrl(){return`${this.config.baseUrl}${this.config.chatPath||""}`}generateChecksum(a){let b=Math.floor(Date.now()/1e6),c=new Uint8Array([b>>40&255,b>>32&255,b>>24&255,b>>16&255,b>>8&255,255&b]),d=165;for(let a=0;a<c.length;a++)c[a]=(c[a]^d)+a%256&255,d=c[a];let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",f="";for(let a=0;a<c.length;a+=3){let b=c[a],d=a+1<c.length?c[a+1]:0,g=a+2<c.length?c[a+2]:0;f+=e[b>>2],f+=e[(3&b)<<4|d>>4],a+1<c.length&&(f+=e[(15&d)<<2|g>>6]),a+2<c.length&&(f+=e[63&g])}return`${f}${a}`}buildHeaders(a){let b=a.accessToken,c=a.providerSpecificData?.machineId,d=a.providerSpecificData?.ghostMode!==!1;if(!c)throw Error("Machine ID is required for Cursor API");let e=b.includes("::")?b.split("::")[1]:b;return{authorization:`Bearer ${e}`,"connect-accept-encoding":"gzip","connect-protocol-version":"1","content-type":"application/connect+proto","user-agent":"connect-es/1.6.1","x-amzn-trace-id":`Root=${l().randomUUID()}`,"x-client-key":l().createHash("sha256").update(e).digest("hex"),"x-cursor-checksum":this.generateChecksum(c),"x-cursor-client-version":"2.3.41","x-cursor-client-type":"ide","x-cursor-client-os":"win32"===process.platform?"windows":"darwin"===process.platform?"macos":"linux","x-cursor-client-arch":"arm64"===process.arch?"aarch64":"x64","x-cursor-client-device-type":"desktop","x-cursor-config-version":l().randomUUID(),"x-cursor-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC","x-ghost-mode":d?"true":"false","x-request-id":l().randomUUID(),"x-session-id":(0,m.Ay)(e,m.Ay.DNS)}}transformRequest(a,b,c,d){let e=(0,j.k)(a,b,c,d),f=e.messages||[],h=e.tools||b.tools||[],i=b.reasoning_effort||null;return(0,g.yI)(f,a,h,i)}async makeFetchRequest(a,b,c,d){let e=await fetch(a,{method:"POST",headers:b,body:c,signal:d});return{status:e.status,headers:Object.fromEntries(e.headers.entries()),body:Buffer.from(await e.arrayBuffer())}}makeHttp2Request(b,c,d,e){if(!a)throw Error("http2 module not available");return new Promise((g,h)=>{let i=new URL(b),j=a.connect(`https://${i.host}`),k=[],l={};j.on("error",h);let m=j.request({":method":"POST",":path":i.pathname,":authority":i.host,":scheme":"https",...c});m.on("response",a=>{l=a}),m.on("data",a=>{k.push(a)}),m.on("end",()=>{j.close(),g({status:"number"==typeof l[":status"]?l[":status"]:Number(l[":status"]||f.gx.SERVER_ERROR),headers:l,body:Buffer.concat(k)})}),m.on("error",a=>{j.close(),h(a)}),e&&e.addEventListener("abort",()=>{m.close(),j.close(),h(Error("Request aborted"))}),m.write(d),m.end()})}async execute({model:b,body:c,stream:d,credentials:e,signal:g,log:h}){let i=this.buildUrl(),j=this.buildHeaders(e),k=this.transformRequest(b,c,d,e);try{let e=a?await this.makeHttp2Request(i,j,k,g):await this.makeFetchRequest(i,j,k,g);if(200!==e.status){let a=e.body?.toString()||"Unknown error";return{response:new Response(JSON.stringify({error:{message:`[${e.status}]: ${a}`,type:"invalid_request_error",code:""}}),{status:e.status,headers:{"Content-Type":"application/json"}}),url:i,headers:j,transformedBody:c}}return{response:!1!==d?this.transformProtobufToSSE(e.body,b,c):this.transformProtobufToJSON(e.body,b,c),url:i,headers:j,transformedBody:c}}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:f.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:i,headers:j,transformedBody:c}}}transformProtobufToJSON(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),j=0,k="",l=[],m=new Map,n=0;for(console.log(`[CURSOR BUFFER] Total length: ${a.length} bytes`);j<a.length;){if(j+5>a.length){console.log(`[CURSOR BUFFER] Reached end, offset=${j}, remaining=${a.length-j}`);break}let b=a[j],c=a.readUInt32BE(j+1);if(console.log(`[CURSOR BUFFER] Frame ${n+1}: flags=0x${b.toString(16).padStart(2,"0")}, length=${c}`),j+5+c>a.length){console.log(`[CURSOR BUFFER] Incomplete frame, offset=${j}, length=${c}, buffer.length=${a.length}`);break}let d=a.slice(j+5,j+5+c);if(j+=5+c,n++,!(d=p(d,b))){console.log(`[CURSOR BUFFER] Frame ${n}: decompression failed, skipping`);continue}try{let a=d.toString("utf-8");if(a.startsWith("{")&&a.includes('"error"'))return q(JSON.parse(a))}catch{}let e=(0,g.CP)(new Uint8Array(d));if(console.log(`[CURSOR DECODED] Frame ${n}:`,e),e.error)return new Response(JSON.stringify({error:{message:e.error,type:"rate_limit_error",code:"rate_limited"}}),{status:f.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}});if(e.toolCall){let a=e.toolCall;if(m.has(a.id)){let b=m.get(a.id);b.function.arguments+=a.function.arguments,b.isLast=a.isLast}else m.set(a.id,{...a});if(a.isLast){let b=m.get(a.id);l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}})}}e.text&&(k+=e.text)}for(let[a,b]of(console.log(`[CURSOR BUFFER] Parsed ${n} frames, toolCallsMap size: ${m.size}, finalized toolCalls: ${l.length}`),m.entries()))l.find(b=>b.id===a)||(console.log(`[CURSOR BUFFER] Finalizing incomplete tool call: ${a}, isLast=${b.isLast}`),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}}));console.log(`[CURSOR BUFFER] Final toolCalls count: ${l.length}`);let o={role:"assistant",content:k||null};l.length>0&&(o.tool_calls=l);let r=(0,h.OF)(c,k.length,i.h.OPENAI),s={id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:o,finish_reason:l.length>0?"tool_calls":"stop"}],usage:r};return new Response(JSON.stringify(s),{status:200,headers:{"Content-Type":"application/json"}})}transformProtobufToSSE(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),j=[],k=0,l="",m=[],n=new Map,o=0;for(console.log(`[CURSOR BUFFER SSE] Total length: ${a.length} bytes`);k<a.length;){if(k+5>a.length){console.log(`[CURSOR BUFFER SSE] Reached end, offset=${k}, remaining=${a.length-k}`);break}let c=a[k],h=a.readUInt32BE(k+1);if(console.log(`[CURSOR BUFFER SSE] Frame ${o+1}: flags=0x${c.toString(16).padStart(2,"0")}, length=${h}`),k+5+h>a.length){console.log(`[CURSOR BUFFER SSE] Incomplete frame, offset=${k}, length=${h}, buffer.length=${a.length}`);break}let i=a.slice(k+5,k+5+h);if(k+=5+h,o++,!(i=p(i,c))){console.log(`[CURSOR BUFFER SSE] Frame ${o}: decompression failed, skipping`);continue}try{let a=i.toString("utf-8");if(a.startsWith("{")&&a.includes('"error"'))return q(JSON.parse(a))}catch{}let r=(0,g.CP)(new Uint8Array(i));if(console.log(`[CURSOR DECODED SSE] Frame ${o}:`,r),r.error)return new Response(JSON.stringify({error:{message:r.error,type:"rate_limit_error",code:"rate_limited"}}),{status:f.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}});if(r.toolCall){let a=r.toolCall;if(0===j.length&&j.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}
15
+ `))}a.enqueue(new TextEncoder().encode("data: [DONE]\n\n"))}});return new Response(a.body.pipeThrough(h),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{return await (0,g.Ql)(a.refreshToken,a.providerSpecificData,b)}catch(c){let a=c instanceof Error?c:Error(String(c));return b?.error?.("TOKEN",`Kiro refresh error: ${a.message}`),null}}}},37544:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>n});var e=c(14938),f=c(24978),g=c(39033),h=c(71751),i=c(36589),j=c(93831),k=c(93792),l=c(18221);c(39859);var m=a([k]);k=(m.then?(await m)():m)[0];let o={antigravity:new e.c,"gemini-cli":new f.V,github:new g.x,iflow:new h.r,kiro:new i.B,codex:new j.T,cursor:new k.o,cu:new k.o},p=new Map;function n(a){return o[a]?o[a]:(p.has(a)||p.set(a,new l.L(a)),p.get(a))}d()}catch(a){d(a)}})},39033:(a,b,c)=>{c.d(b,{x:()=>g});var d=c(39859),e=c(60293),f=c(23969);class g extends d.H{constructor(){super("github",e.xq.github)}buildUrl(a,b,c=0){return"openai-responses"===(0,f.ux)("gh",a)?this.config.responsesBaseUrl||this.config.baseUrl?.replace(/\/chat\/completions\/?$/,"/responses")||"https://api.githubcopilot.com/responses":this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-request-id":crypto.randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:b?"text/event-stream":"application/json"}}async refreshCopilotToken(a,b){try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":"GithubCopilot/1.0","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot/1.300.0",Accept:"application/json"}});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b){try{let c=await fetch(e.NA.github.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})});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b){let c=await this.refreshCopilotToken(a.accessToken,b);if(!c&&a.refreshToken){let d=await this.refreshGitHubToken(a.refreshToken,b);if(d?.accessToken)return(c=await this.refreshCopilotToken(d.accessToken,b))?{...d,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:d}return c?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},39859:(a,b,c)=>{c.d(b,{H:()=>f});var d=c(60293),e=c(78103);class f{constructor(a,b){this.provider=a,this.config=b}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=("string"==typeof d?.providerSpecificData?.baseUrl?d.providerSpecificData.baseUrl:"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=this.config?.id||this.provider;if(d){let a=`${d.toUpperCase().replace(/[^A-Z0-9]/g,"_")}_USER_AGENT`,b=process.env[a]?.trim();b&&(c["User-Agent"]=b,c["user-agent"]&&(c["user-agent"]=b))}return a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b){return null}needsRefresh(a){return!!a.expiresAt&&new Date(a.expiresAt).getTime()-Date.now()<3e5}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:f,signal:g,log:h}){let i=this.getFallbackCount(),j=null,k=0;for(let l=0;l<i;l++){let m=this.buildUrl(a,c,l,f),n=this.buildHeaders(f,c),o=this.transformRequest(a,b,c,f);try{let a=c?null:AbortSignal.timeout(d.MT),b=g&&a?function(a,b){let c=new AbortController,d=()=>{c.signal.aborted||c.abort()};return a.aborted||b.aborted?d():(a.addEventListener("abort",d,{once:!0}),b.addEventListener("abort",d,{once:!0})),c.signal}(g,a):g||a,f=n,i=JSON.stringify(o);if((0,e.IL)(this.provider)){let a=(0,e.BI)(this.provider,n,o);f=a.headers,i=a.bodyString}let j={method:"POST",headers:f,body:i};b&&(j.signal=b);let p=await fetch(m,j);if(this.shouldRetry(p.status,l)){h?.debug?.("RETRY",`${p.status} on ${m}, trying fallback ${l+1}`),k=p.status;continue}return{response:p,url:m,headers:n,transformedBody:o}}catch(b){let a=b instanceof Error?b:Error(String(b));if("TimeoutError"===a.name&&h?.warn?.("TIMEOUT",`Fetch timeout after ${d.MT}ms on ${m}`),j=a,l+1<i){h?.debug?.("RETRY",`Error on ${m}, trying fallback ${l+1}`);continue}throw a}}throw j||Error(`All ${i} URLs failed with status ${k}`)}}},50101:(a,b,c)=>{c.d(b,{Gh:()=>j,IF:()=>n,O9:()=>g,OF:()=>m,WL:()=>h,f5:()=>k,lm:()=>f});var d=c(19704),e=c(55120);let f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function g(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function h(a,b){if(!a||"object"!=typeof a)return a;let c={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},d=c[b];b===e.h.GEMINI_CLI||b===e.h.ANTIGRAVITY?d=c[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?d=c[e.h.OPENAI_RESPONSES]:d||(d=c.default);let f={};for(let b of d)void 0!==a[b]&&(f[b]=a[b]);return f}function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function j(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function k(a){if(!a||"object"!=typeof a)return null;if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return i({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens})}return a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens?i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens}):a.usageMetadata&&"object"==typeof a.usageMetadata?i({prompt_tokens:a.usageMetadata?.promptTokenCount||0,completion_tokens:a.usageMetadata?.candidatesTokenCount||0,total_tokens:a.usageMetadata?.totalTokenCount,cached_tokens:a.usageMetadata?.cachedContentTokenCount,reasoning_tokens:a.usageMetadata?.thoughtsTokenCount}):null}function l(a){if(!a||"string"!=typeof a)return 0;let b=a.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu);return(b?b.length:0)+Math.ceil(1.3*a.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(a=>a&&a.trim().length>0).length)}function m(a,b,c=e.h.OPENAI){var d,f;return d=function(a){if(!a||"object"!=typeof a)return 0;try{let b=0,c=0;if(a.tools&&Array.isArray(a.tools)){let d=JSON.stringify(a.tools);b=Math.ceil(d.length/6);let{tools:e,...f}=a;c=l(JSON.stringify(f))}else c=l(JSON.stringify(a));return c+b}catch(a){return 0}}(a),f=b&&!(b<=0)?Math.max(1,Math.ceil(b/3.5)):0,c===e.h.CLAUDE?g({input_tokens:d,output_tokens:f,estimated:!0}):g({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function n(a,b,c=null,e=null,g=null){if(!b||"object"!=typeof b)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=e?e.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${f.reset}`;b.estimated&&(l+=` ${f.yellow}(estimated)${f.reset}`);let m=b.cache_read_input_tokens||b.cached_tokens;m&&(l+=` | cache_read=${m}`);let o=b.cache_creation_input_tokens;o&&(l+=` | cache_create=${o}`);let p=b.reasoning_tokens;p&&(l+=` | reasoning=${p}`),console.log(l);let q={input:i,output:j,cacheRead:m||0,cacheCreation:o||0,reasoning:p||0};(0,d.sZ)({model:c,provider:a,connectionId:e,apiKeyId:g?.id||void 0,apiKeyName:g?.name||void 0,tokens:q}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:q,status:"200 OK"}).catch(()=>{})}},51082:(a,b,c)=>{c.d(b,{CP:()=>p,yI:()=>m});var d=c(94755),e=c(74075),f=c.n(e);let g=(a,...b)=>console.log(`[PROTOBUF:${a}]`,...b),h="1.1.3",i=new Set([1,2,3,9,10,11,27,1,25]);function j(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function k(a,b,c){let d=j(a<<3|b);if(0===b)return l(d,j(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 l(d,j(a.length),a)}return new Uint8Array(0)}function l(...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 m(a,b,c=[],e=null){g("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}`);let h=function(a,b,c=[],e=null){return k(1,2,function(a,b,c=[],e=null){let f,g=c?.length>0,h=[],i=[];for(let b=0;b<a.length;b++){let c=a[b],e="user"===c.role?1:2,f=(0,d.A)(),j=b===a.length-1;h.push({content:c.content,role:e,messageId:f,isLast:j,hasTools:g,toolResults:c.tool_results||[]}),i.push({messageId:f,role:e})}let m=0;return"medium"===e?m=1:"high"===e&&(m=2),l(...h.map(a=>k(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[]){return l(k(1,2,a),k(2,0,b),k(13,2,c),...g.length>0?g.map(a=>{let b,c,d,e;return k(18,2,(b=a.tool_call_id||"",c=a.name||"",d=a.index||0,e=a.raw_args||"{}",l(k(1,2,b),k(2,2,c),k(3,0,d),k(5,2,e))))}):[],k(29,0,+!!f),k(47,0,f?2:1),...e&&f?[k(51,2,j(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),k(2,0,1),k(3,2,new Uint8Array(0)),k(4,0,1),k(5,2,l(k(1,2,b),k(4,2,new Uint8Array(0)))),k(8,2,""),k(13,0,1),k(15,2,(f=l(k(1,2,new Uint8Array(0)),k(2,2,new Uint8Array(0))),l(k(1,2,"cursor\\aisettings"),k(3,2,new Uint8Array(0)),k(6,2,f),k(8,0,1),k(9,0,1)))),k(19,0,1),k(23,2,(0,d.A)()),k(26,2,l(k(1,2,process.platform||"linux"),k(2,2,process.arch||"x64"),k(3,2,process.version||"v20.0.0"),k(4,2,process.cwd?.()||"/"),k(5,2,new Date().toISOString()))),k(27,0,+!!g),...g?[k(29,2,j(1))]:[],...i.map(a=>k(30,2,function(a,b,c=null){return l(k(1,2,a),...c?[k(2,2,c)]:[],k(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return k(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},l(...b?[k(1,2,b)]:[],...c?[k(2,2,c)]:[],...Object.keys(d).length>0?[k(3,2,JSON.stringify(d))]:[],k(4,2,"custom"))))}):[],k(35,0,0),k(38,0,0),k(46,0,g?2:1),k(47,2,""),k(48,0,+!g),k(49,0,m),k(51,0,0),k(53,0,1),k(54,2,g?"Agent":"Ask"))}(a,b,c,e))}(a,b,c,e),i=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}(h,!1);return g("BODY",`Protobuf=${h.length}B, Framed=${i.length}B`),i}function n(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 o(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]=n(a,b),f=7&d,g=e;if(0===f)[c,g]=n(a,g);else if(2===f){let[b,d]=n(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 p(a){try{let b=o(a);for(let a of b.keys())i.has(a)||g("SCHEMA",`Unknown response field #${a} detected. Schema v${h} may be outdated.`);if(b.has(1)){let a=function(a){let b=o(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=o(b.get(27)[0].value);if(a.has(1)){let b=o(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){g("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 g("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=o(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=o(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){g("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 g("EXTRACT",`Decode failed (schema v${h}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},71751:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(39859),g=c(60293);class h extends f.H{constructor(){super("iflow",g.xq.iflow)}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${e().randomUUID()}`,d=Date.now(),f=this.config.headers?.["User-Agent"]||"iFlow-Cli",g=a.apiKey||a.accessToken||"",h=this.createIFlowSignature(f,c,d,g),i={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":h};return a.apiKey?i.Authorization=`Bearer ${a.apiKey}`:a.accessToken&&(i.Authorization=`Bearer ${a.accessToken}`),b&&(i.Accept="text/event-stream"),i}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return b}}},78103:(a,b,c)=>{c.d(b,{BI:()=>e,IL:()=>h,fT:()=>g});let d={codex:{headerOrder:["Host","Content-Type","Authorization","Accept","User-Agent","Accept-Encoding"],bodyFieldOrder:["model","messages","temperature","top_p","max_tokens","stream","tools","tool_choice","response_format","n","stop"],userAgent:"codex-cli"},claude:{headerOrder:["Host","Content-Type","x-api-key","anthropic-version","Accept","User-Agent","Accept-Encoding"],bodyFieldOrder:["model","max_tokens","messages","system","temperature","top_p","top_k","stream","tools","tool_choice","metadata"],userAgent:"claude-code"},github:{headerOrder:["Host","Authorization","X-Request-Id","Vscode-Sessionid","Vscode-Machineid","Editor-Version","Editor-Plugin-Version","Copilot-Integration-Id","Openai-Organization","Openai-Intent","Content-Type","User-Agent","Accept","Accept-Encoding"],bodyFieldOrder:["messages","model","temperature","top_p","max_tokens","n","stream","intent","intent_threshold","intent_content"],userAgent:"GitHubCopilotChat"},antigravity:{headerOrder:["Host","Content-Type","Authorization","User-Agent","Accept","Accept-Encoding"],bodyFieldOrder:["project","model","userAgent","requestType","requestId","request"],userAgent:"antigravity"}};function e(a,b,c){let e=d[a?.toLowerCase()];return e?(e.userAgent&&(b["User-Agent"]=e.userAgent),e.extraHeaders&&Object.assign(b,e.extraHeaders),{headers:function(a,b){if(!b?.length||!a)return a;let c={},d=new Map;for(let[b,c]of Object.entries(a))d.set(b.toLowerCase(),[b,c]);for(let a of b){let b=d.get(a.toLowerCase());b&&(c[b[0]]=b[1],d.delete(a.toLowerCase()))}for(let[,[a,b]]of d)c[a]=b;return c}(b,e.headerOrder),bodyString:JSON.stringify(c&&"object"==typeof c&&!Array.isArray(c)?function(a,b){if(!b?.length||!a||"object"!=typeof a)return a;let c={},d=new Set(Object.keys(a));for(let e of b)e in a&&(c[e]=a[e],d.delete(e));for(let b of d)c[b]=a[b];return c}(c,e.bodyFieldOrder):c)}):{headers:b,bodyString:JSON.stringify(c)}}let f=new Set;function g(a){f=new Set((a||[]).map(a=>a.toLowerCase()))}function h(a){let b=a?.toLowerCase().replace(/[^a-z0-9]/g,"_");if(f.has(a?.toLowerCase()))return!0;let c=`CLI_COMPAT_${b?.toUpperCase()}`;return"1"===process.env[c]||"true"===process.env[c]||"1"===process.env.CLI_COMPAT_ALL||"true"===process.env.CLI_COMPAT_ALL}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){i=i||0;for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i},93792:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>r});var e=c(39859),f=c(60293),g=c(51082),h=c(50101),i=c(55120),j=c(92773),k=c(55511),l=c.n(k),m=c(85081),n=c(74075),o=c.n(n);let a=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{a=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}function p(a,b){if(a.length>10&&123===a[0]&&34===a[1])try{if(a.toString("utf-8").startsWith('{"error"'))return console.log("[DECOMPRESS] Detected JSON error, skipping decompression"),a}catch{}if(1===b||2===b||3===b)try{return o().gunzipSync(a)}catch(c){try{return o().inflateSync(a)}catch(d){try{return o().inflateRawSync(a)}catch(e){console.log(`[DECOMPRESS ERROR] flags=${b}, payloadSize=${a.length}, gzip=${c.message}, deflate=${d.message}, raw=${e.message}`),console.log("[DECOMPRESS ERROR] First 50 bytes (hex):",a.slice(0,50).toString("hex")),console.log("[DECOMPRESS ERROR] First 50 bytes (utf8):",a.slice(0,50).toString("utf8").replace(/[^\x20-\x7E]/g,"."))}}}return a}function q(a){let b=a?.error?.details?.[0]?.debug?.details?.title||a?.error?.details?.[0]?.debug?.details?.detail||a?.error?.message||"API Error",c=a?.error?.code==="resource_exhausted";return new Response(JSON.stringify({error:{message:b,type:c?"rate_limit_error":"api_error",code:a?.error?.details?.[0]?.debug?.error||"unknown"}}),{status:c?f.gx.RATE_LIMITED:f.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}class r extends e.H{constructor(){super("cursor",f.xq.cursor)}buildUrl(){return`${this.config.baseUrl}${this.config.chatPath||""}`}generateChecksum(a){let b=Math.floor(Date.now()/1e6),c=new Uint8Array([b>>40&255,b>>32&255,b>>24&255,b>>16&255,b>>8&255,255&b]),d=165;for(let a=0;a<c.length;a++)c[a]=(c[a]^d)+a%256&255,d=c[a];let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",f="";for(let a=0;a<c.length;a+=3){let b=c[a],d=a+1<c.length?c[a+1]:0,g=a+2<c.length?c[a+2]:0;f+=e[b>>2],f+=e[(3&b)<<4|d>>4],a+1<c.length&&(f+=e[(15&d)<<2|g>>6]),a+2<c.length&&(f+=e[63&g])}return`${f}${a}`}buildHeaders(a){let b=a.accessToken,c=a.providerSpecificData?.machineId,d=a.providerSpecificData?.ghostMode!==!1;if(!c)throw Error("Machine ID is required for Cursor API");let e=b.includes("::")?b.split("::")[1]:b;return{authorization:`Bearer ${e}`,"connect-accept-encoding":"gzip","connect-protocol-version":"1","content-type":"application/connect+proto","user-agent":"connect-es/1.6.1","x-amzn-trace-id":`Root=${l().randomUUID()}`,"x-client-key":l().createHash("sha256").update(e).digest("hex"),"x-cursor-checksum":this.generateChecksum(c),"x-cursor-client-version":"2.3.41","x-cursor-client-type":"ide","x-cursor-client-os":"win32"===process.platform?"windows":"darwin"===process.platform?"macos":"linux","x-cursor-client-arch":"arm64"===process.arch?"aarch64":"x64","x-cursor-client-device-type":"desktop","x-cursor-config-version":l().randomUUID(),"x-cursor-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC","x-ghost-mode":d?"true":"false","x-request-id":l().randomUUID(),"x-session-id":(0,m.Ay)(e,m.Ay.DNS)}}transformRequest(a,b,c,d){let e=(0,j.k)(a,b,c,d),f=e.messages||[],h=e.tools||b.tools||[],i=b.reasoning_effort||null;return(0,g.yI)(f,a,h,i)}async makeFetchRequest(a,b,c,d){let e=await fetch(a,{method:"POST",headers:b,body:c,signal:d});return{status:e.status,headers:Object.fromEntries(e.headers.entries()),body:Buffer.from(await e.arrayBuffer())}}makeHttp2Request(b,c,d,e){if(!a)throw Error("http2 module not available");return new Promise((g,h)=>{let i=new URL(b),j=a.connect(`https://${i.host}`),k=[],l={};j.on("error",h);let m=j.request({":method":"POST",":path":i.pathname,":authority":i.host,":scheme":"https",...c});m.on("response",a=>{l=a}),m.on("data",a=>{k.push(a)}),m.on("end",()=>{j.close(),g({status:"number"==typeof l[":status"]?l[":status"]:Number(l[":status"]||f.gx.SERVER_ERROR),headers:l,body:Buffer.concat(k)})}),m.on("error",a=>{j.close(),h(a)}),e&&e.addEventListener("abort",()=>{m.close(),j.close(),h(Error("Request aborted"))}),m.write(d),m.end()})}async execute({model:b,body:c,stream:d,credentials:e,signal:g,log:h}){let i=this.buildUrl(),j=this.buildHeaders(e),k=this.transformRequest(b,c,d,e);try{let e=a?await this.makeHttp2Request(i,j,k,g):await this.makeFetchRequest(i,j,k,g);if(200!==e.status){let a=e.body?.toString()||"Unknown error";return{response:new Response(JSON.stringify({error:{message:`[${e.status}]: ${a}`,type:"invalid_request_error",code:""}}),{status:e.status,headers:{"Content-Type":"application/json"}}),url:i,headers:j,transformedBody:c}}return{response:!1!==d?this.transformProtobufToSSE(e.body,b,c):this.transformProtobufToJSON(e.body,b,c),url:i,headers:j,transformedBody:c}}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:f.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:i,headers:j,transformedBody:c}}}transformProtobufToJSON(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),j=0,k="",l=[],m=new Map,n=0;for(console.log(`[CURSOR BUFFER] Total length: ${a.length} bytes`);j<a.length;){if(j+5>a.length){console.log(`[CURSOR BUFFER] Reached end, offset=${j}, remaining=${a.length-j}`);break}let b=a[j],c=a.readUInt32BE(j+1);if(console.log(`[CURSOR BUFFER] Frame ${n+1}: flags=0x${b.toString(16).padStart(2,"0")}, length=${c}`),j+5+c>a.length){console.log(`[CURSOR BUFFER] Incomplete frame, offset=${j}, length=${c}, buffer.length=${a.length}`);break}let d=a.slice(j+5,j+5+c);if(j+=5+c,n++,!(d=p(d,b))){console.log(`[CURSOR BUFFER] Frame ${n}: decompression failed, skipping`);continue}try{let a=d.toString("utf-8");if(a.startsWith("{")&&a.includes('"error"'))return q(JSON.parse(a))}catch{}let e=(0,g.CP)(new Uint8Array(d));if(console.log(`[CURSOR DECODED] Frame ${n}:`,e),e.error)return new Response(JSON.stringify({error:{message:e.error,type:"rate_limit_error",code:"rate_limited"}}),{status:f.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}});if(e.toolCall){let a=e.toolCall;if(m.has(a.id)){let b=m.get(a.id);b.function.arguments+=a.function.arguments,b.isLast=a.isLast}else m.set(a.id,{...a});if(a.isLast){let b=m.get(a.id);l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}})}}e.text&&(k+=e.text)}for(let[a,b]of(console.log(`[CURSOR BUFFER] Parsed ${n} frames, toolCallsMap size: ${m.size}, finalized toolCalls: ${l.length}`),m.entries()))l.find(b=>b.id===a)||(console.log(`[CURSOR BUFFER] Finalizing incomplete tool call: ${a}, isLast=${b.isLast}`),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}}));console.log(`[CURSOR BUFFER] Final toolCalls count: ${l.length}`);let o={role:"assistant",content:k||null};l.length>0&&(o.tool_calls=l);let r=(0,h.OF)(c,k.length,i.h.OPENAI),s={id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:o,finish_reason:l.length>0?"tool_calls":"stop"}],usage:r};return new Response(JSON.stringify(s),{status:200,headers:{"Content-Type":"application/json"}})}transformProtobufToSSE(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),j=[],k=0,l="",m=[],n=new Map,o=0;for(console.log(`[CURSOR BUFFER SSE] Total length: ${a.length} bytes`);k<a.length;){if(k+5>a.length){console.log(`[CURSOR BUFFER SSE] Reached end, offset=${k}, remaining=${a.length-k}`);break}let c=a[k],h=a.readUInt32BE(k+1);if(console.log(`[CURSOR BUFFER SSE] Frame ${o+1}: flags=0x${c.toString(16).padStart(2,"0")}, length=${h}`),k+5+h>a.length){console.log(`[CURSOR BUFFER SSE] Incomplete frame, offset=${k}, length=${h}, buffer.length=${a.length}`);break}let i=a.slice(k+5,k+5+h);if(k+=5+h,o++,!(i=p(i,c))){console.log(`[CURSOR BUFFER SSE] Frame ${o}: decompression failed, skipping`);continue}try{let a=i.toString("utf-8");if(a.startsWith("{")&&a.includes('"error"'))return q(JSON.parse(a))}catch{}let r=(0,g.CP)(new Uint8Array(i));if(console.log(`[CURSOR DECODED SSE] Frame ${o}:`,r),r.error)return new Response(JSON.stringify({error:{message:r.error,type:"rate_limit_error",code:"rate_limited"}}),{status:f.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}});if(r.toolCall){let a=r.toolCall;if(0===j.length&&j.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}
16
16
 
17
17
  `),n.has(a.id)){let c=n.get(a.id);c.function.arguments.length,c.function.arguments+=a.function.arguments,c.isLast=a.isLast,a.function.arguments&&j.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{tool_calls:[{index:c.index,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}]},finish_reason:null}]})}
18
18
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  `);let r=(0,h.OF)(c,l.length,i.h.OPENAI);return j.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{},finish_reason:m.length>0?"tool_calls":"stop"}],usage:r})}
26
26
 
27
- `),j.push("data: [DONE]\n\n"),new Response(j.join(""),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(){return null}}d()}catch(a){d(a)}},1)},93831:(a,b,c)=>{c.d(b,{T:()=>j});var d=c(39859);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
27
+ `),j.push("data: [DONE]\n\n"),new Response(j.join(""),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(){return null}}d()}catch(a){d(a)}},1)},93831:(a,b,c)=>{c.d(b,{T:()=>k});var d=c(39859);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
28
28
 
29
29
  ## General
30
30
 
@@ -140,4 +140,4 @@ You are producing plain text that will later be styled by the CLI. Follow these
140
140
  * Optionally include line/column (1‑based): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
141
141
  * Do not use URIs like file://, vscode://, or https://.
142
142
  * Do not provide range of lines
143
- * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(60293);let g=["none","low","medium","high","xhigh"],h={"gpt-5.3-codex":"xhigh","gpt-5.2-codex":"xhigh","gpt-5.1-codex-max":"xhigh","gpt-5-mini":"high","gpt-5.1-mini":"high","gpt-4.1-mini":"high"};function i(a,b){let c=h[a]??"xhigh";return g.indexOf(b)>g.indexOf(c)?(console.debug(`[Codex] clampEffort: "${b}" → "${c}" (model: ${a})`),c):b}class j extends d.H{constructor(){super("codex",f.xq.codex)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,!0),d=a?.providerSpecificData?.workspaceId;return d&&(c["chatgpt-account-id"]=d),c}transformRequest(a,b,c,d){b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1;let f=null,g=a;for(let c of["none","low","medium","high","xhigh"])if(a.endsWith(`-${c}`)){f=c,b.model=b.model.replace(`-${c}`,""),g=b.model;break}if(b.reasoning)b.reasoning.effort&&(b.reasoning.effort=i(g,b.reasoning.effort));else{let a=i(g,b.reasoning_effort||f||"medium");b.reasoning={effort:a}}return delete b.reasoning_effort,delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,b}}}};
143
+ * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(60293),g=c(87068);let h=["none","low","medium","high","xhigh"],i={"gpt-5.3-codex":"xhigh","gpt-5.2-codex":"xhigh","gpt-5.1-codex-max":"xhigh","gpt-5-mini":"high","gpt-5.1-mini":"high","gpt-4.1-mini":"high"};function j(a,b){let c=i[a]??"xhigh";return h.indexOf(b)>h.indexOf(c)?(console.debug(`[Codex] clampEffort: "${b}" → "${c}" (model: ${a})`),c):b}class k extends d.H{constructor(){super("codex",f.xq.codex)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,!0),d=a?.providerSpecificData?.workspaceId;return d&&(c["chatgpt-account-id"]=d),c}async refreshCredentials(a,b){if(!a?.refreshToken)return b?.warn?.("TOKEN_REFRESH","Codex: no refresh token available, re-authentication required"),null;let c=await (0,g.Wm)(a.refreshToken,b);return!c||c.error?(b?.warn?.("TOKEN_REFRESH",`Codex: token refresh failed${c?.error?` (${c.error})`:""} — re-authentication required`),null):c}transformRequest(a,b,c,d){b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1;let f=null,g=a;for(let c of["none","low","medium","high","xhigh"])if(a.endsWith(`-${c}`)){f=c,b.model=b.model.replace(`-${c}`,""),g=b.model;break}if(b.reasoning)b.reasoning.effort&&(b.reasoning.effort=j(g,b.reasoning.effort));else{let a=j(g,b.reasoning_effort||f||"medium");b.reasoning={effort:a}}return delete b.reasoning_effort,delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,b}}}};