omniroute 2.8.4 → 2.8.6

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 (267) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/build-manifest.json +2 -2
  3. package/app/.next/prerender-manifest.json +3 -3
  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/search-tools/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/usage/page_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.html +2 -2
  40. package/app/.next/server/app/_global-error.rsc +1 -1
  41. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.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/_head.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  46. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/api/acp/agents/route.js +1 -1
  48. package/app/.next/server/app/api/acp/agents/route.js.nft.json +1 -1
  49. package/app/.next/server/app/api/auth/login/route.js +1 -1
  50. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  51. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  52. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  53. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  54. package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
  55. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  56. package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
  57. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  58. package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
  59. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  60. package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
  61. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  62. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  63. package/app/.next/server/app/api/combos/route.js +1 -1
  64. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  65. package/app/.next/server/app/api/combos/test/route.js +1 -1
  66. package/app/.next/server/app/api/combos/test/route.js.nft.json +1 -1
  67. package/app/.next/server/app/api/db-backups/export/route.js +1 -1
  68. package/app/.next/server/app/api/db-backups/export/route.js.nft.json +1 -1
  69. package/app/.next/server/app/api/db-backups/import/route.js +1 -1
  70. package/app/.next/server/app/api/db-backups/import/route.js.nft.json +1 -1
  71. package/app/.next/server/app/api/db-backups/route.js +1 -1
  72. package/app/.next/server/app/api/db-backups/route.js.nft.json +1 -1
  73. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  74. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  75. package/app/.next/server/app/api/keys/route.js +1 -1
  76. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  77. package/app/.next/server/app/api/logs/detail/route.js +1 -1
  78. package/app/.next/server/app/api/logs/detail/route.js.nft.json +1 -1
  79. package/app/.next/server/app/api/models/alias/route.js +1 -1
  80. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  81. package/app/.next/server/app/api/models/openrouter-catalog/route.js +1 -1
  82. package/app/.next/server/app/api/models/openrouter-catalog/route.js.nft.json +1 -1
  83. package/app/.next/server/app/api/models/route.js +1 -1
  84. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  85. package/app/.next/server/app/api/monitoring/health/route.js +1 -1
  86. package/app/.next/server/app/api/monitoring/health/route.js.nft.json +1 -1
  87. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  88. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  89. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  90. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  91. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  92. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  93. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  94. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  95. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  96. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  97. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  98. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  99. package/app/.next/server/app/api/pricing/models/route.js +1 -1
  100. package/app/.next/server/app/api/pricing/models/route.js.nft.json +1 -1
  101. package/app/.next/server/app/api/pricing/route.js +1 -1
  102. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  103. package/app/.next/server/app/api/provider-models/route.js +2 -2
  104. package/app/.next/server/app/api/provider-models/route.js.nft.json +1 -1
  105. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  106. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  107. package/app/.next/server/app/api/provider-nodes/route.js +1 -1
  108. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  109. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  110. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/providers/[id]/refresh/route.js +1 -1
  112. package/app/.next/server/app/api/providers/[id]/refresh/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  114. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  115. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  116. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/providers/client/route.js +1 -1
  118. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  119. package/app/.next/server/app/api/providers/route.js +1 -1
  120. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  121. package/app/.next/server/app/api/providers/test-batch/route.js +2 -2
  122. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  123. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  124. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  125. package/app/.next/server/app/api/rate-limits/route.js +1 -1
  126. package/app/.next/server/app/api/rate-limits/route.js.nft.json +1 -1
  127. package/app/.next/server/app/api/resilience/route.js +1 -1
  128. package/app/.next/server/app/api/resilience/route.js.nft.json +1 -1
  129. package/app/.next/server/app/api/search/providers/route.js +1 -1
  130. package/app/.next/server/app/api/search/providers/route.js.nft.json +1 -1
  131. package/app/.next/server/app/api/search/stats/route.js +1 -1
  132. package/app/.next/server/app/api/search/stats/route.js.nft.json +1 -1
  133. package/app/.next/server/app/api/settings/codex-service-tier/route.js +1 -1
  134. package/app/.next/server/app/api/settings/codex-service-tier/route.js.nft.json +1 -1
  135. package/app/.next/server/app/api/settings/combo-defaults/route.js +1 -1
  136. package/app/.next/server/app/api/settings/combo-defaults/route.js.nft.json +1 -1
  137. package/app/.next/server/app/api/settings/proxies/assignments/route.js +2 -2
  138. package/app/.next/server/app/api/settings/proxies/bulk-assign/route.js +2 -2
  139. package/app/.next/server/app/api/settings/proxies/route.js +1 -1
  140. package/app/.next/server/app/api/settings/proxy/route.js +2 -2
  141. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  142. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  143. package/app/.next/server/app/api/settings/route.js +1 -1
  144. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  145. package/app/.next/server/app/api/settings/system-prompt/route.js +1 -1
  146. package/app/.next/server/app/api/settings/system-prompt/route.js.nft.json +1 -1
  147. package/app/.next/server/app/api/settings/thinking-budget/route.js +1 -1
  148. package/app/.next/server/app/api/settings/thinking-budget/route.js.nft.json +1 -1
  149. package/app/.next/server/app/api/sync/cloud/route.js +1 -1
  150. package/app/.next/server/app/api/sync/cloud/route.js.nft.json +1 -1
  151. package/app/.next/server/app/api/sync/initialize/route.js +1 -1
  152. package/app/.next/server/app/api/sync/initialize/route.js.nft.json +1 -1
  153. package/app/.next/server/app/api/system/version/route.js +1 -1
  154. package/app/.next/server/app/api/system/version/route.js.nft.json +1 -1
  155. package/app/.next/server/app/api/translator/send/route.js +1 -1
  156. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  157. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  158. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  159. package/app/.next/server/app/api/usage/quota/route.js +1 -1
  160. package/app/.next/server/app/api/usage/quota/route.js.nft.json +1 -1
  161. package/app/.next/server/app/api/v1/management/proxies/assignments/route.js +1 -1
  162. package/app/.next/server/app/api/v1/management/proxies/assignments/route.js.nft.json +1 -1
  163. package/app/.next/server/app/api/v1/management/proxies/bulk-assign/route.js +1 -1
  164. package/app/.next/server/app/api/v1/management/proxies/bulk-assign/route.js.nft.json +1 -1
  165. package/app/.next/server/app/api/v1/management/proxies/health/route.js +1 -1
  166. package/app/.next/server/app/api/v1/management/proxies/health/route.js.nft.json +1 -1
  167. package/app/.next/server/app/api/v1/management/proxies/route.js +1 -1
  168. package/app/.next/server/app/api/v1/management/proxies/route.js.nft.json +1 -1
  169. package/app/.next/server/app/api/v1/models/route.js +1 -1
  170. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  171. package/app/.next/server/app/api/v1/route.js +1 -1
  172. package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
  173. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  177. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  178. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  180. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  181. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  183. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  184. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  185. package/app/.next/server/chunks/[root-of-the-server]__09c944b3._.js +1 -1
  186. package/app/.next/server/chunks/[root-of-the-server]__134baf4c._.js +1 -1
  187. package/app/.next/server/chunks/[root-of-the-server]__179c5303._.js +1 -1
  188. package/app/.next/server/chunks/[root-of-the-server]__237e5042._.js +1 -1
  189. package/app/.next/server/chunks/[root-of-the-server]__46fad57a._.js +1 -1
  190. package/app/.next/server/chunks/[root-of-the-server]__784fb7c5._.js +1 -1
  191. package/app/.next/server/chunks/[root-of-the-server]__7d9b23e7._.js +1 -1
  192. package/app/.next/server/chunks/[root-of-the-server]__80e3bfc3._.js +2 -2
  193. package/app/.next/server/chunks/[root-of-the-server]__84e445b2._.js +1 -1
  194. package/app/.next/server/chunks/[root-of-the-server]__92cb0def._.js +1 -1
  195. package/app/.next/server/chunks/[root-of-the-server]__9bbd49c8._.js +1 -1
  196. package/app/.next/server/chunks/[root-of-the-server]__a630d6ef._.js +5 -5
  197. package/app/.next/server/chunks/[root-of-the-server]__add0a68c._.js +1 -1
  198. package/app/.next/server/chunks/[root-of-the-server]__c393c81f._.js +1 -1
  199. package/app/.next/server/chunks/[root-of-the-server]__c8e3c8a9._.js +50 -0
  200. package/app/.next/server/chunks/[root-of-the-server]__cd42b732._.js +1 -1
  201. package/app/.next/server/chunks/[root-of-the-server]__d4563e10._.js +1 -1
  202. package/app/.next/server/chunks/[root-of-the-server]__db2f9fe0._.js +1 -1
  203. package/app/.next/server/chunks/[root-of-the-server]__e27a89bd._.js +1 -1
  204. package/app/.next/server/chunks/[root-of-the-server]__e56edf04._.js +1 -1
  205. package/app/.next/server/chunks/[root-of-the-server]__e6e94646._.js +1 -1
  206. package/app/.next/server/chunks/[root-of-the-server]__eb98039a._.js +1 -1
  207. package/app/.next/server/chunks/[root-of-the-server]__f31b4656._.js +1 -1
  208. package/app/.next/server/chunks/_05c48915._.js +1 -1
  209. package/app/.next/server/chunks/_1244636c._.js +2 -2
  210. package/app/.next/server/chunks/_14963fed._.js +1 -1
  211. package/app/.next/server/chunks/_1717e651._.js +1 -1
  212. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  213. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  214. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  215. package/app/.next/server/chunks/_5bbb2e7a._.js +1 -1
  216. package/app/.next/server/chunks/_68683848._.js +1 -1
  217. package/app/.next/server/chunks/_c05b9de3._.js +1 -1
  218. package/app/.next/server/chunks/_c795fc74._.js +1 -1
  219. package/app/.next/server/chunks/_ee7b7859._.js +1 -1
  220. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  221. package/app/.next/server/chunks/open-sse_cf4d5692._.js +1 -1
  222. package/app/.next/server/chunks/open-sse_config_constants_ts_9583de19._.js +1 -1
  223. package/app/.next/server/chunks/open-sse_services_826884e1._.js +2 -1
  224. package/app/.next/server/chunks/open-sse_translator_index_ts_f5fd0821._.js +2 -2
  225. package/app/.next/server/chunks/src_lib_localDb_ts_83220848._.js +1 -1
  226. package/app/.next/server/chunks/src_shared_validation_schemas_ts_4e63863a._.js +1 -1
  227. package/app/.next/server/chunks/ssr/[root-of-the-server]__9affb65e._.js +1 -1
  228. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  229. package/app/.next/server/chunks/ssr/src_9197fb9b._.js +2 -2
  230. package/app/.next/server/chunks/ssr/src_d3225e36._.js +1 -1
  231. package/app/.next/server/chunks/ssr/src_i18n_messages_en_json_c3d5c412._.js +1 -1
  232. package/app/.next/server/chunks/ssr/src_i18n_messages_zh-CN_json_f4112d90._.js +1 -1
  233. package/app/.next/server/chunks/ssr/src_lib_initCloudSync_ts_982b9d4d._.js +1 -1
  234. package/app/.next/server/pages/500.html +2 -2
  235. package/app/.next/server/server-reference-manifest.js +1 -1
  236. package/app/.next/server/server-reference-manifest.json +1 -1
  237. package/app/.next/static/chunks/1042694db0c08f1f.css +1 -0
  238. package/app/.next/static/chunks/{0f71d7fbf89bb737.js → 34569b4e9d93c0ad.js} +2 -2
  239. package/app/.next/static/chunks/{1e206030e7793015.js → 353ef826fbae436d.js} +1 -1
  240. package/app/.next/static/chunks/91761ba00c702cff.js +1 -0
  241. package/app/CHANGELOG.md +56 -0
  242. package/app/docs/openapi.yaml +1 -1
  243. package/app/open-sse/config/constants.ts +3 -3
  244. package/app/open-sse/handlers/chatCore.ts +6 -2
  245. package/app/open-sse/services/comboAgentMiddleware.ts +9 -1
  246. package/app/open-sse/services/roleNormalizer.ts +14 -19
  247. package/app/open-sse/translator/index.ts +27 -3
  248. package/app/package-lock.json +2 -2
  249. package/app/package.json +1 -1
  250. package/app/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.tsx +12 -0
  251. package/app/src/app/(dashboard)/dashboard/cli-tools/components/AntigravityToolCard.tsx +5 -5
  252. package/app/src/app/(dashboard)/dashboard/providers/[id]/page.tsx +381 -62
  253. package/app/src/app/api/provider-models/route.ts +47 -6
  254. package/app/src/i18n/messages/en.json +10 -0
  255. package/app/src/i18n/messages/zh-CN.json +10 -0
  256. package/app/src/lib/db/models.ts +130 -13
  257. package/app/src/lib/localDb.ts +5 -0
  258. package/app/src/shared/constants/cliTools.ts +2 -2
  259. package/app/src/shared/validation/schemas.ts +1 -0
  260. package/app/tests/e2e/providers-bailian-coding-plan.spec.ts +14 -0
  261. package/package.json +1 -1
  262. package/app/.next/server/chunks/[root-of-the-server]__3972de72._.js +0 -50
  263. package/app/.next/static/chunks/af071ff826ecff1b.css +0 -1
  264. package/app/.next/static/chunks/d19ab4efcaddd1db.js +0 -1
  265. /package/app/.next/static/{Ys6bRJXPNt8j-MKOjvZwp → m9BrfW8GQTdaCjvX6OgP2}/_buildManifest.js +0 -0
  266. /package/app/.next/static/{Ys6bRJXPNt8j-MKOjvZwp → m9BrfW8GQTdaCjvX6OgP2}/_clientMiddlewareManifest.json +0 -0
  267. /package/app/.next/static/{Ys6bRJXPNt8j-MKOjvZwp → m9BrfW8GQTdaCjvX6OgP2}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[969738,e=>{"use strict";e.i(245272);var o=e.i(385498),r=e.i(542949),t=e.i(151205),i=e.i(125852),s=e.i(548941),n=e.i(954031),d=e.i(751183),c=e.i(935050),l=e.i(403122);e.s(["addCustomModel",()=>r.addCustomModel,"assignProxyToScope",()=>n.assignProxyToScope,"backupDbFile",()=>c.backupDbFile,"bulkAssignProxyToScope",()=>n.bulkAssignProxyToScope,"cleanupProviderConnections",()=>o.cleanupProviderConnections,"clearApiKeyCaches",()=>i.clearApiKeyCaches,"clearSyncedPricing",()=>d.clearSyncedPricing,"createApiKey",()=>i.createApiKey,"createCombo",()=>t.createCombo,"createProviderConnection",()=>o.createProviderConnection,"createProviderNode",()=>o.createProviderNode,"createProxy",()=>n.createProxy,"deleteApiKey",()=>i.deleteApiKey,"deleteCombo",()=>t.deleteCombo,"deleteModelAlias",()=>r.deleteModelAlias,"deleteProviderConnection",()=>o.deleteProviderConnection,"deleteProviderConnectionsByProvider",()=>o.deleteProviderConnectionsByProvider,"deleteProviderNode",()=>o.deleteProviderNode,"deleteProxyById",()=>n.deleteProxyById,"deleteProxyForLevel",()=>s.deleteProxyForLevel,"getAllCustomModels",()=>r.getAllCustomModels,"getApiKeyById",()=>i.getApiKeyById,"getApiKeyMetadata",()=>i.getApiKeyMetadata,"getApiKeys",()=>i.getApiKeys,"getCachedPricing",()=>l.getCachedPricing,"getCachedProviderConnections",()=>l.getCachedProviderConnections,"getCachedSettings",()=>l.getCachedSettings,"getComboById",()=>t.getComboById,"getComboByName",()=>t.getComboByName,"getCombos",()=>t.getCombos,"getCustomModels",()=>r.getCustomModels,"getMitmAlias",()=>r.getMitmAlias,"getModelAliases",()=>r.getModelAliases,"getPricing",()=>s.getPricing,"getPricingForModel",()=>s.getPricingForModel,"getProviderConnectionById",()=>o.getProviderConnectionById,"getProviderConnections",()=>o.getProviderConnections,"getProviderNodeById",()=>o.getProviderNodeById,"getProviderNodes",()=>o.getProviderNodes,"getProxyAssignments",()=>n.getProxyAssignments,"getProxyById",()=>n.getProxyById,"getProxyConfig",()=>s.getProxyConfig,"getProxyForLevel",()=>s.getProxyForLevel,"getProxyHealthStats",()=>n.getProxyHealthStats,"getProxyWhereUsed",()=>n.getProxyWhereUsed,"getSettings",()=>s.getSettings,"getSyncStatus",()=>d.getSyncStatus,"getSyncedPricing",()=>d.getSyncedPricing,"initPricingSync",()=>d.initPricingSync,"invalidateDbCache",()=>l.invalidateDbCache,"isCloudEnabled",()=>s.isCloudEnabled,"isModelAllowedForKey",()=>i.isModelAllowedForKey,"listDbBackups",()=>c.listDbBackups,"listProxies",()=>n.listProxies,"migrateLegacyProxyConfigToRegistry",()=>n.migrateLegacyProxyConfigToRegistry,"removeCustomModel",()=>r.removeCustomModel,"reorderProviderConnections",()=>o.reorderProviderConnections,"resetAllPricing",()=>s.resetAllPricing,"resetApiKeyState",()=>i.resetApiKeyState,"resetPricing",()=>s.resetPricing,"resolveProxyForConnection",()=>s.resolveProxyForConnection,"resolveProxyForConnectionFromRegistry",()=>n.resolveProxyForConnectionFromRegistry,"restoreDbBackup",()=>c.restoreDbBackup,"saveSyncedPricing",()=>d.saveSyncedPricing,"setMitmAliasAll",()=>r.setMitmAliasAll,"setModelAlias",()=>r.setModelAlias,"setProxyConfig",()=>s.setProxyConfig,"setProxyForLevel",()=>s.setProxyForLevel,"startPeriodicSync",()=>d.startPeriodicSync,"stopPeriodicSync",()=>d.stopPeriodicSync,"syncPricingFromSources",()=>d.syncPricingFromSources,"updateApiKeyPermissions",()=>i.updateApiKeyPermissions,"updateCombo",()=>t.updateCombo,"updateCustomModel",()=>r.updateCustomModel,"updatePricing",()=>s.updatePricing,"updateProviderConnection",()=>o.updateProviderConnection,"updateProviderNode",()=>o.updateProviderNode,"updateProxy",()=>n.updateProxy,"updateSettings",()=>s.updateSettings,"validateApiKey",()=>i.validateApiKey])},606102,e=>{e.v(o=>Promise.all(["server/chunks/[root-of-the-server]__2eb43d5a._.js","server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js","server/chunks/src_lib_db_101676dc._.js"].map(o=>e.l(o))).then(()=>o(548941)))},789543,e=>{e.v(o=>Promise.all(["server/chunks/src_lib_db_1e548c32._.js","server/chunks/[root-of-the-server]__925d0486._.js"].map(o=>e.l(o))).then(()=>o(385498)))},579042,e=>{e.v(o=>Promise.all(["server/chunks/[root-of-the-server]__561b1039._.js"].map(o=>e.l(o))).then(()=>o(65448)))},49794,e=>{e.v(o=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(o=>e.l(o))).then(()=>o(404503)))},386305,e=>{e.v(o=>Promise.all(["server/chunks/open-sse_config_providerModels_ts_70e95e2d._.js","server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js"].map(o=>e.l(o))).then(()=>o(878947)))}];
1
+ module.exports=[969738,e=>{"use strict";e.i(245272);var o=e.i(385498),r=e.i(542949),t=e.i(151205),i=e.i(125852),s=e.i(548941),d=e.i(954031),n=e.i(751183),l=e.i(935050),c=e.i(403122);e.s(["addCustomModel",()=>r.addCustomModel,"assignProxyToScope",()=>d.assignProxyToScope,"backupDbFile",()=>l.backupDbFile,"bulkAssignProxyToScope",()=>d.bulkAssignProxyToScope,"cleanupProviderConnections",()=>o.cleanupProviderConnections,"clearApiKeyCaches",()=>i.clearApiKeyCaches,"clearSyncedPricing",()=>n.clearSyncedPricing,"createApiKey",()=>i.createApiKey,"createCombo",()=>t.createCombo,"createProviderConnection",()=>o.createProviderConnection,"createProviderNode",()=>o.createProviderNode,"createProxy",()=>d.createProxy,"deleteApiKey",()=>i.deleteApiKey,"deleteCombo",()=>t.deleteCombo,"deleteModelAlias",()=>r.deleteModelAlias,"deleteProviderConnection",()=>o.deleteProviderConnection,"deleteProviderConnectionsByProvider",()=>o.deleteProviderConnectionsByProvider,"deleteProviderNode",()=>o.deleteProviderNode,"deleteProxyById",()=>d.deleteProxyById,"deleteProxyForLevel",()=>s.deleteProxyForLevel,"getAllCustomModels",()=>r.getAllCustomModels,"getApiKeyById",()=>i.getApiKeyById,"getApiKeyMetadata",()=>i.getApiKeyMetadata,"getApiKeys",()=>i.getApiKeys,"getCachedPricing",()=>c.getCachedPricing,"getCachedProviderConnections",()=>c.getCachedProviderConnections,"getCachedSettings",()=>c.getCachedSettings,"getComboById",()=>t.getComboById,"getComboByName",()=>t.getComboByName,"getCombos",()=>t.getCombos,"getCustomModels",()=>r.getCustomModels,"getMitmAlias",()=>r.getMitmAlias,"getModelAliases",()=>r.getModelAliases,"getModelCompatOverrides",()=>r.getModelCompatOverrides,"getModelNormalizeToolCallId",()=>r.getModelNormalizeToolCallId,"getModelPreserveOpenAIDeveloperRole",()=>r.getModelPreserveOpenAIDeveloperRole,"getPricing",()=>s.getPricing,"getPricingForModel",()=>s.getPricingForModel,"getProviderConnectionById",()=>o.getProviderConnectionById,"getProviderConnections",()=>o.getProviderConnections,"getProviderNodeById",()=>o.getProviderNodeById,"getProviderNodes",()=>o.getProviderNodes,"getProxyAssignments",()=>d.getProxyAssignments,"getProxyById",()=>d.getProxyById,"getProxyConfig",()=>s.getProxyConfig,"getProxyForLevel",()=>s.getProxyForLevel,"getProxyHealthStats",()=>d.getProxyHealthStats,"getProxyWhereUsed",()=>d.getProxyWhereUsed,"getSettings",()=>s.getSettings,"getSyncStatus",()=>n.getSyncStatus,"getSyncedPricing",()=>n.getSyncedPricing,"initPricingSync",()=>n.initPricingSync,"invalidateDbCache",()=>c.invalidateDbCache,"isCloudEnabled",()=>s.isCloudEnabled,"isModelAllowedForKey",()=>i.isModelAllowedForKey,"listDbBackups",()=>l.listDbBackups,"listProxies",()=>d.listProxies,"mergeModelCompatOverride",()=>r.mergeModelCompatOverride,"migrateLegacyProxyConfigToRegistry",()=>d.migrateLegacyProxyConfigToRegistry,"removeCustomModel",()=>r.removeCustomModel,"removeModelCompatOverride",()=>r.removeModelCompatOverride,"reorderProviderConnections",()=>o.reorderProviderConnections,"resetAllPricing",()=>s.resetAllPricing,"resetApiKeyState",()=>i.resetApiKeyState,"resetPricing",()=>s.resetPricing,"resolveProxyForConnection",()=>s.resolveProxyForConnection,"resolveProxyForConnectionFromRegistry",()=>d.resolveProxyForConnectionFromRegistry,"restoreDbBackup",()=>l.restoreDbBackup,"saveSyncedPricing",()=>n.saveSyncedPricing,"setMitmAliasAll",()=>r.setMitmAliasAll,"setModelAlias",()=>r.setModelAlias,"setProxyConfig",()=>s.setProxyConfig,"setProxyForLevel",()=>s.setProxyForLevel,"startPeriodicSync",()=>n.startPeriodicSync,"stopPeriodicSync",()=>n.stopPeriodicSync,"syncPricingFromSources",()=>n.syncPricingFromSources,"updateApiKeyPermissions",()=>i.updateApiKeyPermissions,"updateCombo",()=>t.updateCombo,"updateCustomModel",()=>r.updateCustomModel,"updatePricing",()=>s.updatePricing,"updateProviderConnection",()=>o.updateProviderConnection,"updateProviderNode",()=>o.updateProviderNode,"updateProxy",()=>d.updateProxy,"updateSettings",()=>s.updateSettings,"validateApiKey",()=>i.validateApiKey])},606102,e=>{e.v(o=>Promise.all(["server/chunks/[root-of-the-server]__2eb43d5a._.js","server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js","server/chunks/src_lib_db_101676dc._.js"].map(o=>e.l(o))).then(()=>o(548941)))},789543,e=>{e.v(o=>Promise.all(["server/chunks/src_lib_db_1e548c32._.js","server/chunks/[root-of-the-server]__925d0486._.js"].map(o=>e.l(o))).then(()=>o(385498)))},579042,e=>{e.v(o=>Promise.all(["server/chunks/[root-of-the-server]__561b1039._.js"].map(o=>e.l(o))).then(()=>o(65448)))},49794,e=>{e.v(o=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(o=>e.l(o))).then(()=>o(404503)))},386305,e=>{e.v(o=>Promise.all(["server/chunks/open-sse_config_providerModels_ts_70e95e2d._.js","server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js"].map(o=>e.l(o))).then(()=>o(878947)))}];
2
2
 
3
3
  //# sourceMappingURL=_c795fc74._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[969738,e=>{"use strict";e.i(245272);var o=e.i(385498),r=e.i(542949),t=e.i(151205),i=e.i(125852),s=e.i(548941),d=e.i(954031),n=e.i(751183),c=e.i(935050),l=e.i(403122);e.s(["addCustomModel",()=>r.addCustomModel,"assignProxyToScope",()=>d.assignProxyToScope,"backupDbFile",()=>c.backupDbFile,"bulkAssignProxyToScope",()=>d.bulkAssignProxyToScope,"cleanupProviderConnections",()=>o.cleanupProviderConnections,"clearApiKeyCaches",()=>i.clearApiKeyCaches,"clearSyncedPricing",()=>n.clearSyncedPricing,"createApiKey",()=>i.createApiKey,"createCombo",()=>t.createCombo,"createProviderConnection",()=>o.createProviderConnection,"createProviderNode",()=>o.createProviderNode,"createProxy",()=>d.createProxy,"deleteApiKey",()=>i.deleteApiKey,"deleteCombo",()=>t.deleteCombo,"deleteModelAlias",()=>r.deleteModelAlias,"deleteProviderConnection",()=>o.deleteProviderConnection,"deleteProviderConnectionsByProvider",()=>o.deleteProviderConnectionsByProvider,"deleteProviderNode",()=>o.deleteProviderNode,"deleteProxyById",()=>d.deleteProxyById,"deleteProxyForLevel",()=>s.deleteProxyForLevel,"getAllCustomModels",()=>r.getAllCustomModels,"getApiKeyById",()=>i.getApiKeyById,"getApiKeyMetadata",()=>i.getApiKeyMetadata,"getApiKeys",()=>i.getApiKeys,"getCachedPricing",()=>l.getCachedPricing,"getCachedProviderConnections",()=>l.getCachedProviderConnections,"getCachedSettings",()=>l.getCachedSettings,"getComboById",()=>t.getComboById,"getComboByName",()=>t.getComboByName,"getCombos",()=>t.getCombos,"getCustomModels",()=>r.getCustomModels,"getMitmAlias",()=>r.getMitmAlias,"getModelAliases",()=>r.getModelAliases,"getPricing",()=>s.getPricing,"getPricingForModel",()=>s.getPricingForModel,"getProviderConnectionById",()=>o.getProviderConnectionById,"getProviderConnections",()=>o.getProviderConnections,"getProviderNodeById",()=>o.getProviderNodeById,"getProviderNodes",()=>o.getProviderNodes,"getProxyAssignments",()=>d.getProxyAssignments,"getProxyById",()=>d.getProxyById,"getProxyConfig",()=>s.getProxyConfig,"getProxyForLevel",()=>s.getProxyForLevel,"getProxyHealthStats",()=>d.getProxyHealthStats,"getProxyWhereUsed",()=>d.getProxyWhereUsed,"getSettings",()=>s.getSettings,"getSyncStatus",()=>n.getSyncStatus,"getSyncedPricing",()=>n.getSyncedPricing,"initPricingSync",()=>n.initPricingSync,"invalidateDbCache",()=>l.invalidateDbCache,"isCloudEnabled",()=>s.isCloudEnabled,"isModelAllowedForKey",()=>i.isModelAllowedForKey,"listDbBackups",()=>c.listDbBackups,"listProxies",()=>d.listProxies,"migrateLegacyProxyConfigToRegistry",()=>d.migrateLegacyProxyConfigToRegistry,"removeCustomModel",()=>r.removeCustomModel,"reorderProviderConnections",()=>o.reorderProviderConnections,"resetAllPricing",()=>s.resetAllPricing,"resetApiKeyState",()=>i.resetApiKeyState,"resetPricing",()=>s.resetPricing,"resolveProxyForConnection",()=>s.resolveProxyForConnection,"resolveProxyForConnectionFromRegistry",()=>d.resolveProxyForConnectionFromRegistry,"restoreDbBackup",()=>c.restoreDbBackup,"saveSyncedPricing",()=>n.saveSyncedPricing,"setMitmAliasAll",()=>r.setMitmAliasAll,"setModelAlias",()=>r.setModelAlias,"setProxyConfig",()=>s.setProxyConfig,"setProxyForLevel",()=>s.setProxyForLevel,"startPeriodicSync",()=>n.startPeriodicSync,"stopPeriodicSync",()=>n.stopPeriodicSync,"syncPricingFromSources",()=>n.syncPricingFromSources,"updateApiKeyPermissions",()=>i.updateApiKeyPermissions,"updateCombo",()=>t.updateCombo,"updateCustomModel",()=>r.updateCustomModel,"updatePricing",()=>s.updatePricing,"updateProviderConnection",()=>o.updateProviderConnection,"updateProviderNode",()=>o.updateProviderNode,"updateProxy",()=>d.updateProxy,"updateSettings",()=>s.updateSettings,"validateApiKey",()=>i.validateApiKey])},606102,e=>{e.v(o=>Promise.all(["server/chunks/[root-of-the-server]__8ac40d6d._.js","server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js","server/chunks/src_lib_db_101676dc._.js"].map(o=>e.l(o))).then(()=>o(548941)))},789543,e=>{e.v(o=>Promise.all(["server/chunks/src_lib_db_995df221._.js","server/chunks/[root-of-the-server]__925d0486._.js"].map(o=>e.l(o))).then(()=>o(385498)))},579042,e=>{e.v(o=>Promise.all(["server/chunks/[root-of-the-server]__561b1039._.js"].map(o=>e.l(o))).then(()=>o(65448)))},49794,e=>{e.v(o=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(o=>e.l(o))).then(()=>o(404503)))},386305,e=>{e.v(o=>Promise.all(["server/chunks/open-sse_config_providerModels_ts_70e95e2d._.js","server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js"].map(o=>e.l(o))).then(()=>o(878947)))}];
1
+ module.exports=[969738,e=>{"use strict";e.i(245272);var o=e.i(385498),r=e.i(542949),t=e.i(151205),i=e.i(125852),s=e.i(548941),d=e.i(954031),n=e.i(751183),l=e.i(935050),c=e.i(403122);e.s(["addCustomModel",()=>r.addCustomModel,"assignProxyToScope",()=>d.assignProxyToScope,"backupDbFile",()=>l.backupDbFile,"bulkAssignProxyToScope",()=>d.bulkAssignProxyToScope,"cleanupProviderConnections",()=>o.cleanupProviderConnections,"clearApiKeyCaches",()=>i.clearApiKeyCaches,"clearSyncedPricing",()=>n.clearSyncedPricing,"createApiKey",()=>i.createApiKey,"createCombo",()=>t.createCombo,"createProviderConnection",()=>o.createProviderConnection,"createProviderNode",()=>o.createProviderNode,"createProxy",()=>d.createProxy,"deleteApiKey",()=>i.deleteApiKey,"deleteCombo",()=>t.deleteCombo,"deleteModelAlias",()=>r.deleteModelAlias,"deleteProviderConnection",()=>o.deleteProviderConnection,"deleteProviderConnectionsByProvider",()=>o.deleteProviderConnectionsByProvider,"deleteProviderNode",()=>o.deleteProviderNode,"deleteProxyById",()=>d.deleteProxyById,"deleteProxyForLevel",()=>s.deleteProxyForLevel,"getAllCustomModels",()=>r.getAllCustomModels,"getApiKeyById",()=>i.getApiKeyById,"getApiKeyMetadata",()=>i.getApiKeyMetadata,"getApiKeys",()=>i.getApiKeys,"getCachedPricing",()=>c.getCachedPricing,"getCachedProviderConnections",()=>c.getCachedProviderConnections,"getCachedSettings",()=>c.getCachedSettings,"getComboById",()=>t.getComboById,"getComboByName",()=>t.getComboByName,"getCombos",()=>t.getCombos,"getCustomModels",()=>r.getCustomModels,"getMitmAlias",()=>r.getMitmAlias,"getModelAliases",()=>r.getModelAliases,"getModelCompatOverrides",()=>r.getModelCompatOverrides,"getModelNormalizeToolCallId",()=>r.getModelNormalizeToolCallId,"getModelPreserveOpenAIDeveloperRole",()=>r.getModelPreserveOpenAIDeveloperRole,"getPricing",()=>s.getPricing,"getPricingForModel",()=>s.getPricingForModel,"getProviderConnectionById",()=>o.getProviderConnectionById,"getProviderConnections",()=>o.getProviderConnections,"getProviderNodeById",()=>o.getProviderNodeById,"getProviderNodes",()=>o.getProviderNodes,"getProxyAssignments",()=>d.getProxyAssignments,"getProxyById",()=>d.getProxyById,"getProxyConfig",()=>s.getProxyConfig,"getProxyForLevel",()=>s.getProxyForLevel,"getProxyHealthStats",()=>d.getProxyHealthStats,"getProxyWhereUsed",()=>d.getProxyWhereUsed,"getSettings",()=>s.getSettings,"getSyncStatus",()=>n.getSyncStatus,"getSyncedPricing",()=>n.getSyncedPricing,"initPricingSync",()=>n.initPricingSync,"invalidateDbCache",()=>c.invalidateDbCache,"isCloudEnabled",()=>s.isCloudEnabled,"isModelAllowedForKey",()=>i.isModelAllowedForKey,"listDbBackups",()=>l.listDbBackups,"listProxies",()=>d.listProxies,"mergeModelCompatOverride",()=>r.mergeModelCompatOverride,"migrateLegacyProxyConfigToRegistry",()=>d.migrateLegacyProxyConfigToRegistry,"removeCustomModel",()=>r.removeCustomModel,"removeModelCompatOverride",()=>r.removeModelCompatOverride,"reorderProviderConnections",()=>o.reorderProviderConnections,"resetAllPricing",()=>s.resetAllPricing,"resetApiKeyState",()=>i.resetApiKeyState,"resetPricing",()=>s.resetPricing,"resolveProxyForConnection",()=>s.resolveProxyForConnection,"resolveProxyForConnectionFromRegistry",()=>d.resolveProxyForConnectionFromRegistry,"restoreDbBackup",()=>l.restoreDbBackup,"saveSyncedPricing",()=>n.saveSyncedPricing,"setMitmAliasAll",()=>r.setMitmAliasAll,"setModelAlias",()=>r.setModelAlias,"setProxyConfig",()=>s.setProxyConfig,"setProxyForLevel",()=>s.setProxyForLevel,"startPeriodicSync",()=>n.startPeriodicSync,"stopPeriodicSync",()=>n.stopPeriodicSync,"syncPricingFromSources",()=>n.syncPricingFromSources,"updateApiKeyPermissions",()=>i.updateApiKeyPermissions,"updateCombo",()=>t.updateCombo,"updateCustomModel",()=>r.updateCustomModel,"updatePricing",()=>s.updatePricing,"updateProviderConnection",()=>o.updateProviderConnection,"updateProviderNode",()=>o.updateProviderNode,"updateProxy",()=>d.updateProxy,"updateSettings",()=>s.updateSettings,"validateApiKey",()=>i.validateApiKey])},606102,e=>{e.v(o=>Promise.all(["server/chunks/[root-of-the-server]__8ac40d6d._.js","server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js","server/chunks/src_lib_db_101676dc._.js"].map(o=>e.l(o))).then(()=>o(548941)))},789543,e=>{e.v(o=>Promise.all(["server/chunks/src_lib_db_995df221._.js","server/chunks/[root-of-the-server]__925d0486._.js"].map(o=>e.l(o))).then(()=>o(385498)))},579042,e=>{e.v(o=>Promise.all(["server/chunks/[root-of-the-server]__561b1039._.js"].map(o=>e.l(o))).then(()=>o(65448)))},49794,e=>{e.v(o=>Promise.all(["server/chunks/src_shared_constants_pricing_ts_65de0558._.js"].map(o=>e.l(o))).then(()=>o(404503)))},386305,e=>{e.v(o=>Promise.all(["server/chunks/open-sse_config_providerModels_ts_70e95e2d._.js","server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js"].map(o=>e.l(o))).then(()=>o(878947)))}];
2
2
 
3
3
  //# sourceMappingURL=_ee7b7859._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[675336,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392),p=e.i(195975),m=t([u,c]);[u,c]=m.then?(await m)():m;let R=()=>(0,i.getCliPrimaryConfigPath)("droid"),y=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function h(){try{let e=await (0,i.getCliRuntimeStatus)("droid");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Factory Droid CLI is installed but not runnable":"Factory Droid CLI is not installed"});let t=await y();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.customModels&&t.customModels.some(e=>"custom:OmniRoute-0"===e.id),settingsPath:R()})}catch(e){return console.log("Error checking droid settings:",e),n.NextResponse.json({error:"Failed to check droid settings"},{status:500})}}async function f(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,apiKey:p,model:m}=r.data,h=o.default.dirname(R()),f=R();await s.default.mkdir(h,{recursive:!0}),await (0,l.createBackup)("droid",f);let g={};try{let e=await s.default.readFile(f,"utf-8");g=JSON.parse(e)}catch{}g.customModels||(g.customModels=[]),g.customModels=g.customModels.filter(e=>"custom:OmniRoute-0"!==e.id);let y=a.endsWith("/v1")?a:`${a}/v1`;g.customModels.unshift({model:m,id:"custom:OmniRoute-0",index:0,baseUrl:y,apiKey:p||"your_api_key",displayName:m,maxOutputTokens:131072,noImageSupport:!1,provider:"openai"}),await s.default.writeFile(f,JSON.stringify(g,null,2));try{(0,d.saveCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"Factory Droid settings applied successfully!",settingsPath:f})}catch(e){return console.log("Error updating droid settings:",e),n.NextResponse.json({error:"Failed to update droid settings"},{status:500})}}async function g(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("droid",t);let r={};try{let e=await s.default.readFile(t,"utf-8");r=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}r.customModels&&(r.customModels=r.customModels.filter(e=>"custom:OmniRoute-0"!==e.id),0===r.customModels.length&&delete r.customModels),await s.default.writeFile(t,JSON.stringify(r,null,2));try{(0,d.deleteCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting droid settings:",e),n.NextResponse.json({error:"Failed to reset droid settings"},{status:500})}}(0,p.ensureServerEntryExports)([h,f,g]),(0,a.registerServerReference)(h,"00c7903ce67a47949c272a52785d7ee97e47a59f62",null),(0,a.registerServerReference)(f,"40dc377c597aa94cece2d8a9e9170ac027b309565a",null),(0,a.registerServerReference)(g,"0044e15505e9ca2b5acc2f148ef7eae4458e0deba0",null),e.s(["DELETE",()=>g,"GET",()=>h,"POST",()=>f]),r()}catch(e){r(e)}},!1),122141,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),R=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(675336),E=t([w]);[w]=E.then?(await E)():E;let x=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/droid-settings/route",pathname:"/api/cli-tools/droid-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/droid-settings/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:O,workUnitAsyncStorage:b,serverHooks:S}=x;function C(){return(0,s.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:b})}async function N(e,t,r){x.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/droid-settings/route";a=a.replace(/\/index$/,"")||"/";let s=await x.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:C,parsedUrl:N,isDraftMode:O,prerenderManifest:b,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,resolvedPathname:P,clientReferenceManifest:M,serverActionsManifest:_}=s,j=(0,d.normalizeAppPath)(a),k=!!(b.dynamicRoutes[j]||b.routes[P]),F=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,N,!1):t.end("This page could not be found"),null);if(k&&!O){let e=!!b.routes[P],t=b.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await F();throw new y.NoFallbackError}}let I=null;!k||x.isDev||O||(I=P,I="/index"===I?"/":I);let D=!0===x.isDev||!k,H=k&&!D;_&&M&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:M,serverActionsManifest:_});let U=e.method||"GET",q=(0,i.getTracer)(),L=q.getActiveScopeSpan(),$={params:E,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>x.onRequestError(e,t,a,n,S)},sharedContext:{buildId:w}},K=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let s=async e=>x.handle(J,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&T&&A&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=$.renderOpts.fetchMetrics;let i=$.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=$.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(K,B,a,$.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),t}},c=await x.handleResponse({req:e,nextConfig:C,cacheKey:I,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&k||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,B,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};L?await d(L):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),k)throw t;return await (0,h.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>x,"serverHooks",()=>S,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>b]),r()}catch(e){r(e)}},!1)];
1
+ module.exports=[675336,e=>e.a(async(t,r)=>{try{var a=e.i(745015),n=e.i(89171),s=e.i(924868),o=e.i(814747),i=e.i(266240),l=e.i(841788),d=e.i(197892),u=e.i(676088),c=e.i(200392),p=e.i(195975),m=t([u,c]);[u,c]=m.then?(await m)():m;let R=()=>(0,i.getCliPrimaryConfigPath)("droid"),y=async()=>{try{let e=R(),t=await s.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function h(){try{let e=await (0,i.getCliRuntimeStatus)("droid");if(!e.installed||!e.runnable)return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:null,message:e.installed&&!e.runnable?"Factory Droid CLI is installed but not runnable":"Factory Droid CLI is not installed"});let t=await y();return n.NextResponse.json({installed:e.installed,runnable:e.runnable,command:e.command,commandPath:e.commandPath,runtimeMode:e.runtimeMode,reason:e.reason,settings:t,hasOmniRoute:!!t&&!!t.customModels&&t.customModels.some(e=>"custom:OmniRoute-0"===e.id),settingsPath:R()})}catch(e){return console.log("Error checking droid settings:",e),n.NextResponse.json({error:"Failed to check droid settings"},{status:500})}}async function f(e){let t;try{t=await e.json()}catch{return n.NextResponse.json({error:{message:"Invalid request",details:[{field:"body",message:"Invalid JSON body"}]}},{status:400})}try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let r=(0,c.validateBody)(u.cliModelConfigSchema,t);if((0,c.isValidationFailure)(r))return n.NextResponse.json({error:r.error},{status:400});let{baseUrl:a,apiKey:p,model:m}=r.data,h=o.default.dirname(R()),f=R();await s.default.mkdir(h,{recursive:!0}),await (0,l.createBackup)("droid",f);let g={};try{let e=await s.default.readFile(f,"utf-8");g=JSON.parse(e)}catch{}g.customModels||(g.customModels=[]),g.customModels=g.customModels.filter(e=>"custom:OmniRoute-0"!==e.id);let y=a.endsWith("/v1")?a:`${a}/v1`;g.customModels.unshift({model:m,id:"custom:OmniRoute-0",index:0,baseUrl:y,apiKey:p||"your_api_key",displayName:m,maxOutputTokens:131072,noImageSupport:!1,provider:"openai"}),await s.default.writeFile(f,JSON.stringify(g,null,2));try{(0,d.saveCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"Factory Droid settings applied successfully!",settingsPath:f})}catch(e){return console.log("Error updating droid settings:",e),n.NextResponse.json({error:"Failed to update droid settings"},{status:500})}}async function g(){try{let e=(0,i.ensureCliConfigWriteAllowed)();if(e)return n.NextResponse.json({error:e},{status:403});let t=R();await (0,l.createBackup)("droid",t);let r={};try{let e=await s.default.readFile(t,"utf-8");r=JSON.parse(e)}catch(e){if("ENOENT"===e.code)return n.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}r.customModels&&(r.customModels=r.customModels.filter(e=>"custom:OmniRoute-0"!==e.id),0===r.customModels.length&&delete r.customModels),await s.default.writeFile(t,JSON.stringify(r,null,2));try{(0,d.deleteCliToolLastConfigured)("droid")}catch{}return n.NextResponse.json({success:!0,message:"OmniRoute settings removed successfully"})}catch(e){return console.log("Error resetting droid settings:",e),n.NextResponse.json({error:"Failed to reset droid settings"},{status:500})}}(0,p.ensureServerEntryExports)([h,f,g]),(0,a.registerServerReference)(h,"0007a56088b8f2e1a56f60d23bf24fe3b29e12415a",null),(0,a.registerServerReference)(f,"40270b834221abffff11affe63c6f733c5a77f0ae6",null),(0,a.registerServerReference)(g,"001e413c31ea01c6625070253d19b8b5bae0780ee6",null),e.s(["DELETE",()=>g,"GET",()=>h,"POST",()=>f]),r()}catch(e){r(e)}},!1),122141,e=>e.a(async(t,r)=>{try{var a=e.i(747909),n=e.i(174017),s=e.i(996250),o=e.i(759756),i=e.i(561916),l=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),m=e.i(47587),h=e.i(666012),f=e.i(570101),g=e.i(626937),R=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(675336),E=t([w]);[w]=E.then?(await E)():E;let x=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cli-tools/droid-settings/route",pathname:"/api/cli-tools/droid-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/droid-settings/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:b,workUnitAsyncStorage:O,serverHooks:S}=x;function C(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:O})}async function N(e,t,r){x.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli-tools/droid-settings/route";a=a.replace(/\/index$/,"")||"/";let s=await x.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:C,parsedUrl:N,isDraftMode:b,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,resolvedPathname:P,clientReferenceManifest:M,serverActionsManifest:_}=s,j=(0,d.normalizeAppPath)(a),k=!!(O.dynamicRoutes[j]||O.routes[P]),F=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,N,!1):t.end("This page could not be found"),null);if(k&&!b){let e=!!O.routes[P],t=O.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await F();throw new y.NoFallbackError}}let I=null;!k||x.isDev||b||(I=P,I="/index"===I?"/":I);let D=!0===x.isDev||!k,H=k&&!D;_&&M&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:M,serverActionsManifest:_});let U=e.method||"GET",q=(0,i.getTracer)(),L=q.getActiveScopeSpan(),$={params:E,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>x.onRequestError(e,t,a,n,S)},sharedContext:{buildId:w}},K=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let s=async e=>x.handle(J,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var i,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&T&&A&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=$.renderOpts.fetchMetrics;let i=$.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let d=$.renderOpts.collectedTags;if(!k)return await (0,h.sendResponse)(K,B,a,$.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),t}},c=await x.handleResponse({req:e,nextConfig:C,cacheKey:I,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!k)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&k||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)(K,B,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};L?await d(L):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},d))}catch(t){if(t instanceof y.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,m.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),k)throw t;return await (0,h.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>x,"serverHooks",()=>S,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>O]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_ee9b677b._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[16023,e=>{"use strict";var t=e.i(522734),n=e.i(814747);let r=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],o=0,a=null;var i=e.i(828059);let l=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),s=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"300000",10),u=(0,i.generateLegacyProviders)();!function(e){let i;if(a&&Date.now()-o<6e4)return;let l=(i=process.env.DATA_DIR||(0,n.join)(process.cwd(),"data"),(0,n.join)(i,"provider-credentials.json"));if(!(0,t.existsSync)(l))return a||console.log("[CREDENTIALS] No external credentials file found, using defaults."),a=e,o=Date.now();try{let n=(0,t.readFileSync)(l,"utf-8"),o=JSON.parse(n),i=0;for(let[t,n]of Object.entries(o)){if(!e[t]){console.log(`[CREDENTIALS] Warning: unknown provider "${t}" in credentials file, skipping.`);continue}if(!n||"object"!=typeof n){console.log(`[CREDENTIALS] Warning: provider "${t}" value must be an object, got ${typeof n}. Skipping.`);continue}for(let o of r)void 0!==n[o]&&(e[t][o]=n[o],i++)}let s=null!==a;console.log(`[CREDENTIALS] ${s?"Reloaded":"Loaded"} external credentials: ${i} field(s) from ${l}`)}catch(e){console.log(`[CREDENTIALS] Error reading credentials file: ${e.message}. Using defaults.`)}a=e,o=Date.now()}(u);let c={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},E={[c.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[c.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[c.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[c.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[c.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[c.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[c.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[c.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[c.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},T={[c.BAD_REQUEST]:"Bad request",[c.UNAUTHORIZED]:"Invalid API key provided",[c.FORBIDDEN]:"You exceeded your current quota",[c.NOT_FOUND]:"Model not found",[c.RATE_LIMITED]:"Rate limit exceeded",[c.SERVER_ERROR]:"Internal server error",[c.BAD_GATEWAY]:"Bad gateway - upstream provider error",[c.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[c.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["ANTIGRAVITY_DEFAULT_SYSTEM",0,"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]","BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"BACKOFF_STEPS_MS",0,[6e4,12e4,3e5,6e5,12e5],"CACHE_TTL",0,{userInfo:300,modelAlias:3600},"CLAUDE_SYSTEM_PROMPT",0,"You are Claude Code, Anthropic's official CLI for Claude.","COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,notFoundLocal:5e3,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_API_LIMITS",0,{requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},"DEFAULT_ERROR_MESSAGES",0,T,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"ERROR_TYPES",0,E,"FETCH_TIMEOUT_MS",0,l,"HTTP_STATUS",0,c,"OAUTH_ENDPOINTS",0,{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"}},"PROVIDERS",0,u,"PROVIDER_PROFILES",0,{oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4},local:{transientCooldown:2e3,rateLimitCooldown:5e3,maxBackoffLevel:3,circuitBreakerThreshold:2,circuitBreakerReset:15e3}},"RateLimitReason",0,{QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"],"STREAM_IDLE_TIMEOUT_MS",0,s],16023)},441637,e=>{"use strict";var t=e.i(16023),n=e.i(828059);function r(e){let r=(0,n.getProviderCategory)(e);return t.PROVIDER_PROFILES[r]??t.PROVIDER_PROFILES.apikey}let o=new Map,a=null;function i(e,t,n,r,i){if(!n)return;if(!a)try{a=setInterval(()=>{let e=Date.now();for(let[t,n]of o)e>n.until&&o.delete(t)},15e3),"object"==typeof a&&"unref"in a&&a.unref?.()}catch{}let l=`${e}:${t}:${n}`;o.set(l,{reason:r,until:Date.now()+i,lockedAt:Date.now()})}function l(e,t,n){if(!n)return!1;let r=`${e}:${t}:${n}`,a=o.get(r);return!!a&&(!(Date.now()>a.until)||(o.delete(r),!1))}function s(e,t,n){if(!n)return null;let r=`${e}:${t}:${n}`,a=o.get(r);return!a||Date.now()>a.until?null:{reason:a.reason,remainingMs:a.until-Date.now(),lockedAt:new Date(a.lockedAt).toISOString()}}function u(){let e=Date.now(),t=[];for(let[n,r]of o)if(e<=r.until){let[o,a,i]=n.split(":");t.push({provider:o,connectionId:a,model:i,reason:r.reason,remainingMs:r.until-e})}return t}function c(e){let n;try{n="string"==typeof e?JSON.parse(e):e}catch{return{retryAfterMs:null,reason:t.RateLimitReason.UNKNOWN}}if(!n)return{retryAfterMs:null,reason:t.RateLimitReason.UNKNOWN};let r=n.error?.details||n.details||[];for(let e of Array.isArray(r)?r:[])if(e.retryDelay)return{retryAfterMs:function(e){if(!e)return null;let t=String(e).trim(),n=t.match(/^(\d+)\s*ms$/i);if(n)return parseInt(n[1],10);let r=t.match(/^(\d+)\s*s$/i);if(r)return 1e3*parseInt(r[1],10);let o=t.match(/^(\d+)\s*m$/i);if(o)return 60*parseInt(o[1],10)*1e3;let a=t.match(/^(\d+)\s*h$/i);if(a)return 3600*parseInt(a[1],10)*1e3;let i=parseInt(t,10);return isNaN(i)?null:1e3*i}(e.retryDelay),reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED};let o=n.error?.message||n.message||"",a=o.match(/retry\s+after\s+(\d+)\s*s/i);if(a)return{retryAfterMs:1e3*parseInt(a[1],10),reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED};let i=n.error?.type||n.type||"";return"rate_limit_error"===i?{retryAfterMs:null,reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED}:{retryAfterMs:null,reason:E(o||i)}}function E(e){if(!e)return t.RateLimitReason.UNKNOWN;let n=String(e).toLowerCase();return n.includes("quota exceeded")||n.includes("quota depleted")||n.includes("billing")?t.RateLimitReason.QUOTA_EXHAUSTED:n.includes("rate limit")||n.includes("too many requests")||n.includes("rate_limit")?t.RateLimitReason.RATE_LIMIT_EXCEEDED:n.includes("capacity")||n.includes("overloaded")||n.includes("resource exhausted")?t.RateLimitReason.MODEL_CAPACITY:n.includes("unauthorized")||n.includes("invalid api key")||n.includes("authentication")?t.RateLimitReason.AUTH_ERROR:n.includes("server error")||n.includes("internal error")?t.RateLimitReason.SERVER_ERROR:t.RateLimitReason.UNKNOWN}function T(e,n){let r=E(n);return r!==t.RateLimitReason.UNKNOWN?r:e===t.HTTP_STATUS.UNAUTHORIZED||e===t.HTTP_STATUS.FORBIDDEN?t.RateLimitReason.AUTH_ERROR:e===t.HTTP_STATUS.PAYMENT_REQUIRED?t.RateLimitReason.QUOTA_EXHAUSTED:e===t.HTTP_STATUS.RATE_LIMITED?t.RateLimitReason.RATE_LIMIT_EXCEEDED:e===t.HTTP_STATUS.SERVICE_UNAVAILABLE||529===e?t.RateLimitReason.MODEL_CAPACITY:e>=500?t.RateLimitReason.SERVER_ERROR:t.RateLimitReason.UNKNOWN}function R(e){let n=Math.min(e,t.BACKOFF_STEPS_MS.length-1);return t.BACKOFF_STEPS_MS[n]}function d(e=0){return Math.min(t.BACKOFF_CONFIG.base*Math.pow(2,e),t.BACKOFF_CONFIG.max)}function _(e,n,o=0,a=null,i=null){if(n){let e="string"==typeof n?n:JSON.stringify(n),r=e.toLowerCase();if(r.includes("no credentials"))return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.notFound,reason:t.RateLimitReason.AUTH_ERROR};if(r.includes("request not allowed"))return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.requestNotAllowed,reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED};if(r.includes("rate limit")||r.includes("too many requests")||r.includes("quota exceeded")||r.includes("capacity")||r.includes("overloaded")){let n=Math.min(o+1,t.BACKOFF_CONFIG.maxLevel),r=E(e);return{shouldFallback:!0,cooldownMs:d(o),newBackoffLevel:n,reason:r}}}if(e===t.HTTP_STATUS.UNAUTHORIZED)return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.unauthorized,reason:t.RateLimitReason.AUTH_ERROR};if(e===t.HTTP_STATUS.PAYMENT_REQUIRED||e===t.HTTP_STATUS.FORBIDDEN)return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.paymentRequired,reason:t.RateLimitReason.QUOTA_EXHAUSTED};if(e===t.HTTP_STATUS.NOT_FOUND)return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.notFound,reason:t.RateLimitReason.UNKNOWN};if(e===t.HTTP_STATUS.RATE_LIMITED){let e=Math.min(o+1,t.BACKOFF_CONFIG.maxLevel);return{shouldFallback:!0,cooldownMs:d(o),newBackoffLevel:e,reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED}}if([t.HTTP_STATUS.NOT_ACCEPTABLE,t.HTTP_STATUS.REQUEST_TIMEOUT,t.HTTP_STATUS.SERVER_ERROR,t.HTTP_STATUS.BAD_GATEWAY,t.HTTP_STATUS.SERVICE_UNAVAILABLE,t.HTTP_STATUS.GATEWAY_TIMEOUT].includes(e)){let e=i?r(i):null,n=e?.transientCooldown??t.COOLDOWN_MS.transientInitial,a=e?.maxBackoffLevel??t.BACKOFF_CONFIG.maxLevel;return{shouldFallback:!0,cooldownMs:Math.min(n*Math.pow(2,o),t.COOLDOWN_MS.transientMax),newBackoffLevel:Math.min(o+1,a),reason:t.RateLimitReason.SERVER_ERROR}}return e===t.HTTP_STATUS.BAD_REQUEST?{shouldFallback:!1,cooldownMs:0,reason:t.RateLimitReason.UNKNOWN}:{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.transient,reason:t.RateLimitReason.UNKNOWN}}function A(e){return!!e&&new Date(e).getTime()>Date.now()}function f(e){return new Date(Date.now()+e).toISOString()}function S(e){let t=null,n=Date.now();for(let r of e){if(!r.rateLimitedUntil)continue;let e=new Date(r.rateLimitedUntil).getTime();e<=n||(!t||e<t)&&(t=e)}return t?new Date(t).toISOString():null}function O(e){if(!e)return"";let t=new Date(e).getTime()-Date.now();if(t<=0)return"reset after 0s";let n=Math.ceil(t/1e3),r=Math.floor(n/3600),o=Math.floor(n%3600/60),a=n%60,i=[];return r>0&&i.push(`${r}h`),o>0&&i.push(`${o}m`),(a>0||0===i.length)&&i.push(`${a}s`),`reset after ${i.join(" ")}`}function m(e,t=null){let n=Date.now();return e.filter(e=>!(t&&e.id===t||e.rateLimitedUntil&&new Date(e.rateLimitedUntil).getTime()>n)&&!0)}function L(e){return e?{...e,rateLimitedUntil:null,backoffLevel:0,lastError:null,status:"active"}:e}function D(e,t,n,r=null){if(!e)return e;let o=e.backoffLevel||0,{cooldownMs:a,newBackoffLevel:i,reason:l}=_(t,n,o,null,r);return{...e,rateLimitedUntil:a>0?f(a):null,backoffLevel:i??o,lastError:{status:t,message:n,timestamp:new Date().toISOString(),reason:l},status:"error"}}function I(e,t){let n;return e?(n=100-10*(e.backoffLevel||0),e.lastError&&(n-=20),e.rateLimitedUntil&&A(e.rateLimitedUntil)&&(n-=30),Math.max(0,n)):0}e.s(["applyErrorState",()=>D,"checkFallbackError",()=>_,"classifyError",()=>T,"classifyErrorText",()=>E,"filterAvailableAccounts",()=>m,"formatRetryAfter",()=>O,"getAccountHealth",()=>I,"getAllModelLockouts",()=>u,"getBackoffDuration",()=>R,"getEarliestRateLimitedUntil",()=>S,"getModelLockoutInfo",()=>s,"getProviderProfile",()=>r,"getQuotaCooldown",()=>d,"getUnavailableUntil",()=>f,"isAccountUnavailable",()=>A,"isModelLocked",()=>l,"lockModel",()=>i,"parseRetryAfterFromBody",()=>c,"resetAccountState",()=>L])}];
1
+ module.exports=[16023,e=>{"use strict";var t=e.i(522734),n=e.i(814747);let r=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],o=0,a=null;var i=e.i(828059);let l=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),s=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"120000",10),u=(0,i.generateLegacyProviders)();!function(e){let i;if(a&&Date.now()-o<6e4)return;let l=(i=process.env.DATA_DIR||(0,n.join)(process.cwd(),"data"),(0,n.join)(i,"provider-credentials.json"));if(!(0,t.existsSync)(l))return a||console.log("[CREDENTIALS] No external credentials file found, using defaults."),a=e,o=Date.now();try{let n=(0,t.readFileSync)(l,"utf-8"),o=JSON.parse(n),i=0;for(let[t,n]of Object.entries(o)){if(!e[t]){console.log(`[CREDENTIALS] Warning: unknown provider "${t}" in credentials file, skipping.`);continue}if(!n||"object"!=typeof n){console.log(`[CREDENTIALS] Warning: provider "${t}" value must be an object, got ${typeof n}. Skipping.`);continue}for(let o of r)void 0!==n[o]&&(e[t][o]=n[o],i++)}let s=null!==a;console.log(`[CREDENTIALS] ${s?"Reloaded":"Loaded"} external credentials: ${i} field(s) from ${l}`)}catch(e){console.log(`[CREDENTIALS] Error reading credentials file: ${e.message}. Using defaults.`)}a=e,o=Date.now()}(u);let c={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},E={[c.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[c.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[c.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[c.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[c.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[c.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[c.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[c.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[c.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},T={[c.BAD_REQUEST]:"Bad request",[c.UNAUTHORIZED]:"Invalid API key provided",[c.FORBIDDEN]:"You exceeded your current quota",[c.NOT_FOUND]:"Model not found",[c.RATE_LIMITED]:"Rate limit exceeded",[c.SERVER_ERROR]:"Internal server error",[c.BAD_GATEWAY]:"Bad gateway - upstream provider error",[c.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[c.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["ANTIGRAVITY_DEFAULT_SYSTEM",0,"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]","BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"BACKOFF_STEPS_MS",0,[6e4,12e4,3e5,6e5,12e5],"CACHE_TTL",0,{userInfo:300,modelAlias:3600},"CLAUDE_SYSTEM_PROMPT",0,"You are Claude Code, Anthropic's official CLI for Claude.","COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,notFoundLocal:5e3,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_API_LIMITS",0,{requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},"DEFAULT_ERROR_MESSAGES",0,T,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"ERROR_TYPES",0,E,"FETCH_TIMEOUT_MS",0,l,"HTTP_STATUS",0,c,"OAUTH_ENDPOINTS",0,{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"}},"PROVIDERS",0,u,"PROVIDER_PROFILES",0,{oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4},local:{transientCooldown:2e3,rateLimitCooldown:5e3,maxBackoffLevel:3,circuitBreakerThreshold:2,circuitBreakerReset:15e3}},"RateLimitReason",0,{QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"],"STREAM_IDLE_TIMEOUT_MS",0,s],16023)},441637,e=>{"use strict";var t=e.i(16023),n=e.i(828059);function r(e){let r=(0,n.getProviderCategory)(e);return t.PROVIDER_PROFILES[r]??t.PROVIDER_PROFILES.apikey}let o=new Map,a=null;function i(e,t,n,r,i){if(!n)return;if(!a)try{a=setInterval(()=>{let e=Date.now();for(let[t,n]of o)e>n.until&&o.delete(t)},15e3),"object"==typeof a&&"unref"in a&&a.unref?.()}catch{}let l=`${e}:${t}:${n}`;o.set(l,{reason:r,until:Date.now()+i,lockedAt:Date.now()})}function l(e,t,n){if(!n)return!1;let r=`${e}:${t}:${n}`,a=o.get(r);return!!a&&(!(Date.now()>a.until)||(o.delete(r),!1))}function s(e,t,n){if(!n)return null;let r=`${e}:${t}:${n}`,a=o.get(r);return!a||Date.now()>a.until?null:{reason:a.reason,remainingMs:a.until-Date.now(),lockedAt:new Date(a.lockedAt).toISOString()}}function u(){let e=Date.now(),t=[];for(let[n,r]of o)if(e<=r.until){let[o,a,i]=n.split(":");t.push({provider:o,connectionId:a,model:i,reason:r.reason,remainingMs:r.until-e})}return t}function c(e){let n;try{n="string"==typeof e?JSON.parse(e):e}catch{return{retryAfterMs:null,reason:t.RateLimitReason.UNKNOWN}}if(!n)return{retryAfterMs:null,reason:t.RateLimitReason.UNKNOWN};let r=n.error?.details||n.details||[];for(let e of Array.isArray(r)?r:[])if(e.retryDelay)return{retryAfterMs:function(e){if(!e)return null;let t=String(e).trim(),n=t.match(/^(\d+)\s*ms$/i);if(n)return parseInt(n[1],10);let r=t.match(/^(\d+)\s*s$/i);if(r)return 1e3*parseInt(r[1],10);let o=t.match(/^(\d+)\s*m$/i);if(o)return 60*parseInt(o[1],10)*1e3;let a=t.match(/^(\d+)\s*h$/i);if(a)return 3600*parseInt(a[1],10)*1e3;let i=parseInt(t,10);return isNaN(i)?null:1e3*i}(e.retryDelay),reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED};let o=n.error?.message||n.message||"",a=o.match(/retry\s+after\s+(\d+)\s*s/i);if(a)return{retryAfterMs:1e3*parseInt(a[1],10),reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED};let i=n.error?.type||n.type||"";return"rate_limit_error"===i?{retryAfterMs:null,reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED}:{retryAfterMs:null,reason:E(o||i)}}function E(e){if(!e)return t.RateLimitReason.UNKNOWN;let n=String(e).toLowerCase();return n.includes("quota exceeded")||n.includes("quota depleted")||n.includes("billing")?t.RateLimitReason.QUOTA_EXHAUSTED:n.includes("rate limit")||n.includes("too many requests")||n.includes("rate_limit")?t.RateLimitReason.RATE_LIMIT_EXCEEDED:n.includes("capacity")||n.includes("overloaded")||n.includes("resource exhausted")?t.RateLimitReason.MODEL_CAPACITY:n.includes("unauthorized")||n.includes("invalid api key")||n.includes("authentication")?t.RateLimitReason.AUTH_ERROR:n.includes("server error")||n.includes("internal error")?t.RateLimitReason.SERVER_ERROR:t.RateLimitReason.UNKNOWN}function T(e,n){let r=E(n);return r!==t.RateLimitReason.UNKNOWN?r:e===t.HTTP_STATUS.UNAUTHORIZED||e===t.HTTP_STATUS.FORBIDDEN?t.RateLimitReason.AUTH_ERROR:e===t.HTTP_STATUS.PAYMENT_REQUIRED?t.RateLimitReason.QUOTA_EXHAUSTED:e===t.HTTP_STATUS.RATE_LIMITED?t.RateLimitReason.RATE_LIMIT_EXCEEDED:e===t.HTTP_STATUS.SERVICE_UNAVAILABLE||529===e?t.RateLimitReason.MODEL_CAPACITY:e>=500?t.RateLimitReason.SERVER_ERROR:t.RateLimitReason.UNKNOWN}function R(e){let n=Math.min(e,t.BACKOFF_STEPS_MS.length-1);return t.BACKOFF_STEPS_MS[n]}function d(e=0){return Math.min(t.BACKOFF_CONFIG.base*Math.pow(2,e),t.BACKOFF_CONFIG.max)}function _(e,n,o=0,a=null,i=null){if(n){let e="string"==typeof n?n:JSON.stringify(n),r=e.toLowerCase();if(r.includes("no credentials"))return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.notFound,reason:t.RateLimitReason.AUTH_ERROR};if(r.includes("request not allowed"))return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.requestNotAllowed,reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED};if(r.includes("rate limit")||r.includes("too many requests")||r.includes("quota exceeded")||r.includes("capacity")||r.includes("overloaded")){let n=Math.min(o+1,t.BACKOFF_CONFIG.maxLevel),r=E(e);return{shouldFallback:!0,cooldownMs:d(o),newBackoffLevel:n,reason:r}}}if(e===t.HTTP_STATUS.UNAUTHORIZED)return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.unauthorized,reason:t.RateLimitReason.AUTH_ERROR};if(e===t.HTTP_STATUS.PAYMENT_REQUIRED||e===t.HTTP_STATUS.FORBIDDEN)return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.paymentRequired,reason:t.RateLimitReason.QUOTA_EXHAUSTED};if(e===t.HTTP_STATUS.NOT_FOUND)return{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.notFound,reason:t.RateLimitReason.UNKNOWN};if(e===t.HTTP_STATUS.RATE_LIMITED){let e=Math.min(o+1,t.BACKOFF_CONFIG.maxLevel);return{shouldFallback:!0,cooldownMs:d(o),newBackoffLevel:e,reason:t.RateLimitReason.RATE_LIMIT_EXCEEDED}}if([t.HTTP_STATUS.NOT_ACCEPTABLE,t.HTTP_STATUS.REQUEST_TIMEOUT,t.HTTP_STATUS.SERVER_ERROR,t.HTTP_STATUS.BAD_GATEWAY,t.HTTP_STATUS.SERVICE_UNAVAILABLE,t.HTTP_STATUS.GATEWAY_TIMEOUT].includes(e)){let e=i?r(i):null,n=e?.transientCooldown??t.COOLDOWN_MS.transientInitial,a=e?.maxBackoffLevel??t.BACKOFF_CONFIG.maxLevel;return{shouldFallback:!0,cooldownMs:Math.min(n*Math.pow(2,o),t.COOLDOWN_MS.transientMax),newBackoffLevel:Math.min(o+1,a),reason:t.RateLimitReason.SERVER_ERROR}}return e===t.HTTP_STATUS.BAD_REQUEST?{shouldFallback:!1,cooldownMs:0,reason:t.RateLimitReason.UNKNOWN}:{shouldFallback:!0,cooldownMs:t.COOLDOWN_MS.transient,reason:t.RateLimitReason.UNKNOWN}}function A(e){return!!e&&new Date(e).getTime()>Date.now()}function f(e){return new Date(Date.now()+e).toISOString()}function S(e){let t=null,n=Date.now();for(let r of e){if(!r.rateLimitedUntil)continue;let e=new Date(r.rateLimitedUntil).getTime();e<=n||(!t||e<t)&&(t=e)}return t?new Date(t).toISOString():null}function O(e){if(!e)return"";let t=new Date(e).getTime()-Date.now();if(t<=0)return"reset after 0s";let n=Math.ceil(t/1e3),r=Math.floor(n/3600),o=Math.floor(n%3600/60),a=n%60,i=[];return r>0&&i.push(`${r}h`),o>0&&i.push(`${o}m`),(a>0||0===i.length)&&i.push(`${a}s`),`reset after ${i.join(" ")}`}function m(e,t=null){let n=Date.now();return e.filter(e=>!(t&&e.id===t||e.rateLimitedUntil&&new Date(e.rateLimitedUntil).getTime()>n)&&!0)}function L(e){return e?{...e,rateLimitedUntil:null,backoffLevel:0,lastError:null,status:"active"}:e}function D(e,t,n,r=null){if(!e)return e;let o=e.backoffLevel||0,{cooldownMs:a,newBackoffLevel:i,reason:l}=_(t,n,o,null,r);return{...e,rateLimitedUntil:a>0?f(a):null,backoffLevel:i??o,lastError:{status:t,message:n,timestamp:new Date().toISOString(),reason:l},status:"error"}}function I(e,t){let n;return e?(n=100-10*(e.backoffLevel||0),e.lastError&&(n-=20),e.rateLimitedUntil&&A(e.rateLimitedUntil)&&(n-=30),Math.max(0,n)):0}e.s(["applyErrorState",()=>D,"checkFallbackError",()=>_,"classifyError",()=>T,"classifyErrorText",()=>E,"filterAvailableAccounts",()=>m,"formatRetryAfter",()=>O,"getAccountHealth",()=>I,"getAllModelLockouts",()=>u,"getBackoffDuration",()=>R,"getEarliestRateLimitedUntil",()=>S,"getModelLockoutInfo",()=>s,"getProviderProfile",()=>r,"getQuotaCooldown",()=>d,"getUnavailableUntil",()=>f,"isAccountUnavailable",()=>A,"isModelLocked",()=>l,"lockModel",()=>i,"parseRetryAfterFromBody",()=>c,"resetAccountState",()=>L])}];
2
2
 
3
3
  //# sourceMappingURL=open-sse_cf4d5692._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[16023,e=>{"use strict";var t=e.i(522734),o=e.i(814747);let r=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],a=0,i=null;var n=e.i(828059);let s=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),l=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"300000",10),E=(0,n.generateLegacyProviders)();!function(e){let n;if(i&&Date.now()-a<6e4)return;let s=(n=process.env.DATA_DIR||(0,o.join)(process.cwd(),"data"),(0,o.join)(n,"provider-credentials.json"));if(!(0,t.existsSync)(s))return i||console.log("[CREDENTIALS] No external credentials file found, using defaults."),i=e,a=Date.now();try{let o=(0,t.readFileSync)(s,"utf-8"),a=JSON.parse(o),n=0;for(let[t,o]of Object.entries(a)){if(!e[t]){console.log(`[CREDENTIALS] Warning: unknown provider "${t}" in credentials file, skipping.`);continue}if(!o||"object"!=typeof o){console.log(`[CREDENTIALS] Warning: provider "${t}" value must be an object, got ${typeof o}. Skipping.`);continue}for(let a of r)void 0!==o[a]&&(e[t][a]=o[a],n++)}let l=null!==i;console.log(`[CREDENTIALS] ${l?"Reloaded":"Loaded"} external credentials: ${n} field(s) from ${s}`)}catch(e){console.log(`[CREDENTIALS] Error reading credentials file: ${e.message}. Using defaults.`)}i=e,a=Date.now()}(E);let c={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},u={[c.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[c.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[c.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[c.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[c.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[c.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[c.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[c.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[c.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},d={[c.BAD_REQUEST]:"Bad request",[c.UNAUTHORIZED]:"Invalid API key provided",[c.FORBIDDEN]:"You exceeded your current quota",[c.NOT_FOUND]:"Model not found",[c.RATE_LIMITED]:"Rate limit exceeded",[c.SERVER_ERROR]:"Internal server error",[c.BAD_GATEWAY]:"Bad gateway - upstream provider error",[c.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[c.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["ANTIGRAVITY_DEFAULT_SYSTEM",0,"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]","BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"BACKOFF_STEPS_MS",0,[6e4,12e4,3e5,6e5,12e5],"CACHE_TTL",0,{userInfo:300,modelAlias:3600},"CLAUDE_SYSTEM_PROMPT",0,"You are Claude Code, Anthropic's official CLI for Claude.","COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,notFoundLocal:5e3,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_API_LIMITS",0,{requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},"DEFAULT_ERROR_MESSAGES",0,d,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"ERROR_TYPES",0,u,"FETCH_TIMEOUT_MS",0,s,"HTTP_STATUS",0,c,"OAUTH_ENDPOINTS",0,{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"}},"PROVIDERS",0,E,"PROVIDER_PROFILES",0,{oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4},local:{transientCooldown:2e3,rateLimitCooldown:5e3,maxBackoffLevel:3,circuitBreakerThreshold:2,circuitBreakerReset:15e3}},"RateLimitReason",0,{QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"],"STREAM_IDLE_TIMEOUT_MS",0,l],16023)}];
1
+ module.exports=[16023,e=>{"use strict";var t=e.i(522734),o=e.i(814747);let r=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],a=0,i=null;var n=e.i(828059);let s=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),l=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"120000",10),E=(0,n.generateLegacyProviders)();!function(e){let n;if(i&&Date.now()-a<6e4)return;let s=(n=process.env.DATA_DIR||(0,o.join)(process.cwd(),"data"),(0,o.join)(n,"provider-credentials.json"));if(!(0,t.existsSync)(s))return i||console.log("[CREDENTIALS] No external credentials file found, using defaults."),i=e,a=Date.now();try{let o=(0,t.readFileSync)(s,"utf-8"),a=JSON.parse(o),n=0;for(let[t,o]of Object.entries(a)){if(!e[t]){console.log(`[CREDENTIALS] Warning: unknown provider "${t}" in credentials file, skipping.`);continue}if(!o||"object"!=typeof o){console.log(`[CREDENTIALS] Warning: provider "${t}" value must be an object, got ${typeof o}. Skipping.`);continue}for(let a of r)void 0!==o[a]&&(e[t][a]=o[a],n++)}let l=null!==i;console.log(`[CREDENTIALS] ${l?"Reloaded":"Loaded"} external credentials: ${n} field(s) from ${s}`)}catch(e){console.log(`[CREDENTIALS] Error reading credentials file: ${e.message}. Using defaults.`)}i=e,a=Date.now()}(E);let c={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},u={[c.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[c.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[c.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[c.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[c.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[c.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[c.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[c.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[c.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},d={[c.BAD_REQUEST]:"Bad request",[c.UNAUTHORIZED]:"Invalid API key provided",[c.FORBIDDEN]:"You exceeded your current quota",[c.NOT_FOUND]:"Model not found",[c.RATE_LIMITED]:"Rate limit exceeded",[c.SERVER_ERROR]:"Internal server error",[c.BAD_GATEWAY]:"Bad gateway - upstream provider error",[c.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[c.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["ANTIGRAVITY_DEFAULT_SYSTEM",0,"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]","BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"BACKOFF_STEPS_MS",0,[6e4,12e4,3e5,6e5,12e5],"CACHE_TTL",0,{userInfo:300,modelAlias:3600},"CLAUDE_SYSTEM_PROMPT",0,"You are Claude Code, Anthropic's official CLI for Claude.","COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,notFoundLocal:5e3,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_API_LIMITS",0,{requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},"DEFAULT_ERROR_MESSAGES",0,d,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"ERROR_TYPES",0,u,"FETCH_TIMEOUT_MS",0,s,"HTTP_STATUS",0,c,"OAUTH_ENDPOINTS",0,{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"}},"PROVIDERS",0,E,"PROVIDER_PROFILES",0,{oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4},local:{transientCooldown:2e3,rateLimitCooldown:5e3,maxBackoffLevel:3,circuitBreakerThreshold:2,circuitBreakerReset:15e3}},"RateLimitReason",0,{QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"],"STREAM_IDLE_TIMEOUT_MS",0,l],16023)}];
2
2
 
3
3
  //# sourceMappingURL=open-sse_config_constants_ts_9583de19._.js.map
@@ -1,4 +1,5 @@
1
- module.exports=[821518,e=>{"use strict";var t=e.i(878947);let r={};for(let[e,o]of Object.entries(t.PROVIDER_ID_TO_ALIAS))r[o]&&console.log(`[MODEL] Warning: alias "${o}" maps to both "${r[o]}" and "${e}". Using "${e}".`),r[o]=e;let o={github:{"claude-4.5-opus":"claude-opus-4-5-20251101","claude-opus-4.5":"claude-opus-4-5-20251101","gemini-3-pro":"gemini-3-pro-preview","gemini-3-flash":"gemini-3-flash-preview","raptor-mini":"oswe-vscode-prime"},gemini:{"gemini-3.1-pro-preview":"gemini-3.1-pro","gemini-3-1-pro":"gemini-3.1-pro"},"gemini-cli":{"gemini-3.1-pro-preview":"gemini-3.1-pro","gemini-3-1-pro":"gemini-3.1-pro"},nvidia:{"gpt-oss-120b":"openai/gpt-oss-120b","nvidia/gpt-oss-120b":"openai/gpt-oss-120b"},antigravity:{}},i=new Map;for(let[e,o]of Object.entries(t.PROVIDER_MODELS)){let t=r[e]||e;for(let e of o||[]){let r=e?.id;if(!r)continue;let o=i.get(r)||[];o.includes(t)||(o.push(t),i.set(r,o))}}function n(e){return r[e]||e}function a(e,t){if(!t||"string"!=typeof t)return t;let r=o[n(e)];return r?.[t]||t}function s(e){if(!e)return{provider:null,model:null,isAlias:!1,providerAlias:null,extendedContext:!1};if(/\.\.[\/\\]/.test(e)||/[\x00-\x1f]/.test(e))return console.log(`[MODEL] Warning: rejected malformed model string: "${e.substring(0,50)}"`),{provider:null,model:null,isAlias:!1,providerAlias:null,extendedContext:!1};let t=!1,r=e;if(r.endsWith("[1m]")&&(t=!0,r=r.slice(0,-4)),r.includes("/")){let e=r.indexOf("/"),o=r.slice(0,e),i=r.slice(e+1);return{provider:n(o),model:i,isAlias:!1,providerAlias:o,extendedContext:t}}return{provider:null,model:r,isAlias:!0,providerAlias:null,extendedContext:t}}async function l(e,r){let o=s(e),{extendedContext:l}=o;if(!o.isAlias){let e=a(o.provider,o.model);return{provider:o.provider,model:e,extendedContext:l}}let c="function"==typeof r?await r():r,u=function(e,t){if(!t)return null;let r=t[e];if(!r)return null;if("string"==typeof r&&r.includes("/")){let e=r.indexOf("/");return{provider:n(r.slice(0,e)),model:r.slice(e+1)}}return"object"==typeof r&&r.provider&&r.model?{provider:n(r.provider),model:r.model}:null}(o.model,c);if(u){let e=a(u.provider,u.model);return{provider:u.provider,model:e,extendedContext:l}}if(c&&"object"==typeof c){let e=Object.entries(c).map(([e,t])=>({pattern:e,target:t})),t=function(e,t){if(!e||!t||!Array.isArray(t))return null;let r=[];for(let o of t){let t=o.pattern||o.alias||o.from,i=o.target||o.model||o.to;t&&i&&function(e,t){if(!e||!t)return!1;if("*"===t||t===e)return!0;let r=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return RegExp(`^${r}$`,"i").test(e)}(e,t)&&r.push({pattern:t,target:i,specificity:function(e){if(!e)return 0;let t=0;for(let r of e.split(/[/*?]/))r.length>0&&(t+=10*r.length);let r=(e.match(/\*/g)||[]).length,o=(e.match(/\?/g)||[]).length;return t-=50*r,t-=5*o,t+=e.length}(t),...o})}return 0===r.length?null:(r.sort((e,t)=>t.specificity-e.specificity),r[0])}(o.model,e);if(t){let e=t.target;if(e.includes("/")){let r=e.indexOf("/"),o=e.slice(0,r),i=e.slice(r+1),s=n(o),c=a(s,i);return{provider:s,model:c,extendedContext:l,wildcardPattern:t.pattern}}}}let d=o.model,m=i.get(d)||[];if(m.includes("openai"))return{provider:"openai",model:d,extendedContext:l};let p=m.filter(e=>"openai"!==e);if(1===p.length){let e=p[0],t=a(e,d);return{provider:e,model:t,extendedContext:l}}if(p.length>1){let e=p.map(e=>t.PROVIDER_ID_TO_ALIAS[e]||e),r=e.slice(0,2).map(e=>`${e}/${d}`),o=`Ambiguous model '${d}'. Use provider/model prefix (ex: ${r.join(" or ")}).`;return console.warn(`[MODEL] ${o} Candidates: ${e.join(", ")}`),{provider:null,model:d,errorType:"ambiguous_model",errorMessage:o,candidateProviders:p,candidateAliases:e}}return/^claude-/i.test(d)?{provider:"antigravity",model:d,extendedContext:l}:/^gemini-/i.test(d)||/^gemma-/i.test(d)?{provider:"gemini",model:d,extendedContext:l}:{provider:"openai",model:d,extendedContext:l}}e.s(["getModelInfoCore",()=>l,"parseModel",()=>s],821518)},928041,e=>{"use strict";var t=e.i(441637),r=e.i(719201),o=e.i(178578);let i={strategy:"priority",maxRetries:1,retryDelayMs:2e3,timeoutMs:12e4,concurrencyPerModel:3,queueTimeoutMs:3e4,healthCheckEnabled:!0,healthCheckTimeoutMs:3e3,maxComboDepth:3,trackMetrics:!0};function n(e,t,r){let o=t?.comboDefaults||{},n=r&&t?.providerOverrides?.[r]||{},a=e?.config||{},s=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>null!=e));return{...i,...s(o),...s(n),...s(a)}}let a=new Map;function s(e,t=3){a.has(e)||a.set(e,{running:0,max:t,queue:[],rateLimitedUntil:null});let r=a.get(e);return r.max=t,r}function l(e){return!!e.rateLimitedUntil&&(!(Date.now()>=e.rateLimitedUntil)||(e.rateLimitedUntil=null,!1))}function c(e){let t=a.get(e);if(t)for(;t.queue.length>0&&t.running<t.max&&!l(t);){let r=t.queue.shift();clearTimeout(r.timer),t.running++,r.resolve(u(e))}}function u(e){let t=!1;return()=>{if(t)return;t=!0;let r=a.get(e);r&&r.running>0&&(r.running--,c(e))}}var d=e.i(260222),m=e.i(73114),p=e.i(821518);let f=/<omniModel>([^<]+)<\/omniModel>/,g=["function","class","import","def","SELECT","async","await","const","let","var","return","```","algorithm","compile","debug","refactor","typescript","python","javascript","code","implement","write a","create a component","endpoint","repository","deploy","install","script","api","database","query","schema","interface","generic","enum","module","package","dependency","função","classe","importar","definir","consulta","assíncrono","aguardar","constante","variável","retornar","algoritmo","compilar","depurar","refatorar","código","implementar","criar um","componente","como fazer","repositório","configurar","instalar","banco de dados","escrever uma função","criar uma classe","función","clase","importar","definir","consulta","asíncrono","esperar","constante","variable","retornar","algoritmo","compilar","depurar","refactorizar","código","implementar","函数","类","导入","定义","查询","异步","等待","常量","变量","返回","算法","编译","调试","代码","関数","クラス","インポート","非同期","定数","変数","コード","アルゴリズム","функция","класс","импорт","запрос","асинхронный","константа","переменная","алгоритм","код","funktion","klasse","importieren","abfrage","asynchron","konstante","variable","algorithmus","code","함수","클래스","가져오기","정의","쿼리","비동기","대기","상수","변수","반환","코드","دالة","فئة","استيراد","استعلام","غير متزامن","ثابت","متغير","كود","خوارزمية"],h=["prove","theorem","derive","step by step","chain of thought","formally","mathematical","proof","logically","analyze","reasoning","deduce","infer","hypothesis","convergence","provar","teorema","derivar","passo a passo","cadeia de pensamento","formalmente","matemático","prova","logicamente","analisar","raciocínio","deduzir","inferir","hipótese","demonstrar","cálculo","equação diferencial","integral","otimização","demostrar","teorema","derivar","paso a paso","formalmente","matemático","lógicamente","证明","定理","推导","逐步","思维链","数学","逻辑","分析","証明","定理","導出","論理的","分析","доказать","теорема","шаг за шагом","математически","логически","beweisen","theorem","schritt für schritt","mathematisch","logisch","증명","정리","단계별","수학적","논리적","إثبات","نظرية","خطوة بخطوة","رياضي","منطقياً"],y=["what is","define","translate","hello","yes or no","summarize","list","tell me","who is","o que é","definir","traduzir","olá","oi","sim ou não","resumir","listar","me diga","quem é","quando foi","onde fica","explique brevemente","de forma simples","qué es","definir","traducir","hola","resumir","listar","什么是","定义","翻译","你好","总结","列出","что такое","определить","перевести","привет","резюмировать","was ist","definieren","übersetzen","hallo","zusammenfassen","이란","정의","번역","안녕","요약","ما هو","تعريف","ترجمة","مرحبا","ملخص"],b={enabled:!0,simpleMaxWords:60},w={quota:.2,health:.25,costInv:.2,latencyInv:.15,taskFit:.1,stability:.05,tierPriority:.05};function v(e,t,r=w,o=()=>.5){return e.map(i=>{var n,a;let s,l,c,u=(s=Math.max(...e.map(e=>e.costPer1MTokens),.001),l=Math.max(...e.map(e=>e.p95LatencyMs),1),c=Math.max(...e.map(e=>e.latencyStdDev),.001),{quota:Math.min(1,i.quotaRemaining/100),health:"CLOSED"===i.circuitBreakerState?1:.5*("HALF_OPEN"===i.circuitBreakerState),costInv:1-i.costPer1MTokens/s,latencyInv:1-i.p95LatencyMs/l,taskFit:o(i.model,t),stability:1-i.latencyStdDev/c,tierPriority:(n=i.accountTier,a=i.quotaResetIntervalSecs,Math.min(1,.8*(({ultra:1,pro:.67,standard:.33,free:0})[n?.toLowerCase()??""]??.33)+.2*(null!=a&&a>0?Math.max(0,1-a/2592e3):0)))});return{provider:i.provider,model:i.model,score:r.quota*u.quota+r.health*u.health+r.costInv*u.costInv+r.latencyInv*u.latencyInv+r.taskFit*u.taskFit+r.stability*u.stability+r.tierPriority*u.tierPriority,factors:u}}).sort((e,t)=>t.score-e.score)}let M={coding:{"claude-sonnet":.95,"claude-opus":.92,"claude-haiku":.78,"gpt-4o":.9,"gpt-4o-mini":.8,"gpt-4-turbo":.88,o1:.93,o3:.95,"o4-mini":.88,codex:.98,"gemini-pro":.85,"gemini-flash":.8,"gemini-2.5-pro":.92,"gemini-2.5-flash":.82,"deepseek-coder":.9,"deepseek-v3":.85,"deepseek-r1":.88,"deepseek-chat":.84,"deepseek-v3.2":.86,qwen:.78,llama:.72,mistral:.75,mixtral:.77,"grok-4-fast":.8,"grok-4":.82,"grok-3":.8,"kimi-k2":.82,"glm-5":.78,"minimax-m2.5":.75,"minimax-m2":.72},review:{"claude-sonnet":.92,"claude-opus":.95,"claude-haiku":.7,"gpt-4o":.88,"gpt-4o-mini":.72,o1:.9,o3:.92,"gemini-pro":.9,"gemini-2.5-pro":.93,"gemini-flash":.75,"deepseek-r1":.85,"deepseek-v3":.8},planning:{"claude-opus":.95,"claude-sonnet":.9,"gpt-4o":.88,o1:.92,o3:.95,"gemini-2.5-pro":.93,"gemini-pro":.88,"deepseek-r1":.85},analysis:{"claude-opus":.95,"claude-sonnet":.92,"gemini-2.5-pro":.95,"gemini-pro":.88,"gemini-3.1-pro":.95,"gpt-4o":.85,o1:.9,o3:.93,"deepseek-r1":.88,"deepseek-chat":.8,"kimi-k2":.82,"glm-5":.78,"minimax-m2.5":.76},debugging:{"claude-sonnet":.93,"claude-opus":.9,"gpt-4o":.88,o1:.85,"deepseek-coder":.9,"deepseek-v3":.82,"gemini-flash":.78,codex:.92},documentation:{"claude-sonnet":.9,"claude-opus":.88,"gpt-4o":.92,"gpt-4o-mini":.85,"gemini-pro":.88,"gemini-flash":.82,"deepseek-v3":.78},default:{"claude-sonnet":.85,"claude-opus":.85,"gpt-4o":.85,"gemini-pro":.8,"gemini-3.1-pro":.85,"deepseek-v3":.75,"deepseek-chat":.74,"gemini-flash":.72,"grok-4-fast":.72,"grok-4":.74,"grok-3":.73,"kimi-k2":.76,"glm-5":.7,"minimax-m2.5":.7}},k=[{pattern:"coder",taskType:"coding",boost:.15},{pattern:"code",taskType:"coding",boost:.1},{pattern:"fast",taskType:"coding",boost:.05},{pattern:"thinking",taskType:"planning",boost:.1},{pattern:"thinking",taskType:"analysis",boost:.1}];function x(e,t){let r=e.toLowerCase(),o=t.toLowerCase();for(let[e,t]of Object.entries(M[o]||M.default))if(r.includes(e))return t;let i=.5;for(let e of k)r.includes(e.pattern)&&o===e.taskType&&(i+=e.boost);return Math.min(1,i)}let $={"ship-fast":{quota:.15,health:.3,costInv:.05,latencyInv:.35,taskFit:.1,stability:0,tierPriority:.05},"cost-saver":{quota:.15,health:.2,costInv:.4,latencyInv:.05,taskFit:.1,stability:.05,tierPriority:.05},"quality-first":{quota:.1,health:.2,costInv:.05,latencyInv:.05,taskFit:.4,stability:.15,tierPriority:.05},"offline-friendly":{quota:.4,health:.3,costInv:.1,latencyInv:.05,taskFit:0,stability:.1,tierPriority:.05}};class O{exclusions=new Map;incidentMode=!1;isExcluded(e){let t=this.exclusions.get(e);return!(!t||Date.now()-t.excludedAt>t.cooldownMs)}evaluate(e,t,r){let o=this.exclusions.get(e);if(o&&t>=.3&&Date.now()-o.excludedAt>o.cooldownMs)return this.exclusions.delete(e),{excluded:!1,reason:`Re-admitted: score ${t.toFixed(2)} >= 0.3`};if(this.isExcluded(e))return"HALF_OPEN"===r&&o?(o.probeCount++,{excluded:!1,isProbe:!0,reason:`Probe request #${o.probeCount}`}):{excluded:!0,reason:o?.reason||"Excluded"};if(t<.2){let r=o?Math.min(2*o.cooldownMs,18e5):3e5;return this.exclusions.set(e,{provider:e,excludedAt:Date.now(),cooldownMs:r,reason:`Score ${t.toFixed(2)} < 0.2`,probeCount:0}),{excluded:!0,reason:`Excluded: score ${t.toFixed(2)} below threshold`}}return"OPEN"===r?(this.exclusions.set(e,{provider:e,excludedAt:Date.now(),cooldownMs:3e5,reason:"Circuit breaker OPEN",probeCount:0}),{excluded:!0,reason:"Circuit breaker OPEN"}):{excluded:!1}}recordProbeResult(e,t){let r=this.exclusions.get(e);r&&(t&&r.probeCount>=3?this.exclusions.delete(e):t||(r.cooldownMs=Math.min(2*r.cooldownMs,18e5),r.excludedAt=Date.now(),r.probeCount=0))}updateIncidentMode(e){let t=e.length;if(0===t)return this.incidentMode=!1,!1;let r=e.filter(e=>"OPEN"===e).length;return this.incidentMode=r/t>.5,this.incidentMode}isInIncidentMode(){return this.incidentMode}getExclusions(){return[...this.exclusions.values()]}getStatus(){let e=Date.now();return{exclusionCount:this.exclusions.size,incidentMode:this.incidentMode,exclusions:[...this.exclusions.values()].map(t=>({provider:t.provider,reason:t.reason,remainingMs:Math.max(0,t.cooldownMs-(e-t.excludedAt))}))}}}let C=null,R=new Map,A=new class{name="rules";description="6-factor weighted scoring: quota, health, cost, latency, taskFit, stability";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=v(r.length>0?r:e,t.taskType,void 0,x),i=o[0];if(!i)throw Error("[RulesStrategy] No candidates to score");return{provider:i.provider,model:i.model,strategy:this.name,reason:`RulesStrategy: score=${i.score.toFixed(3)} (quota=${i.factors.quota.toFixed(2)}, health=${i.factors.health.toFixed(2)}, cost=${i.factors.costInv.toFixed(2)}, taskFit=${i.factors.taskFit.toFixed(2)})`,candidatesConsidered:o.length,finalScore:i.score}}},S=new class{name="cost";description="Always selects cheapest available provider (by costPer1MTokens)";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=r.length>0?r:e,i=[...o].sort((e,t)=>e.costPer1MTokens-t.costPer1MTokens)[0];if(!i)throw Error("[CostStrategy] No candidates available");return{provider:i.provider,model:i.model,strategy:this.name,reason:`CostStrategy: cheapest at $${i.costPer1MTokens.toFixed(3)}/1M tokens`,candidatesConsidered:o.length,finalScore:0===i.costPer1MTokens?1:1/i.costPer1MTokens}}},E=new class{name="latency";description="Prioritizes lowest p95 latency with reliability weighting";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=r.length>0?r:e,i=[...o].sort((e,t)=>{let r=1e3*e.errorRate,o=1e3*t.errorRate;return e.p95LatencyMs+r-(t.p95LatencyMs+o)})[0];if(!i)throw Error("[LatencyStrategy] No candidates available");let n=i.p95LatencyMs>0?Math.max(.001,1e4/i.p95LatencyMs):1,a=Math.max(0,1-i.errorRate);return{provider:i.provider,model:i.model,strategy:this.name,reason:`LatencyStrategy: p95=${i.p95LatencyMs}ms, errorRate=${(100*i.errorRate).toFixed(2)}%`,candidatesConsidered:o.length,finalScore:.7*n+.3*a}}};R.set("rules",A),R.set("cost",S),R.set("eco",S),R.set("latency",E),R.set("fast",E);var P=e.i(878947);let B=["gpt-oss-120b","deepseek-reasoner","glm-4.7","glm4.7"],N=[429,502,503,504],T={"grok-4-fast-non-reasoning":1143,"grok-4-1-fast-non-reasoning":1244,"gemini-2.5-flash":1238,"kimi-k2.5":1646,"gpt-4o-mini":2764,"claude-sonnet-4.6":4e3,"claude-opus-4.6":6e3,"deepseek-chat":2e3},D=new Map;function q(e){return"string"==typeof e?{model:e,weight:0}:{model:e.model,weight:e.weight||0}}function L(e,t,r=new Set,o=0){if(o>3)return e.models.map(e=>q(e).model);if(r.has(e.name))return[];r.add(e.name);let i=Array.isArray(t)?t:t?.combos||[],n=[];for(let t of e.models||[]){let e=q(t).model,a=i.find(t=>t.name===e);if(a){let e=L(a,i,new Set(r),o+1);n.push(...e)}else n.push(e)}return n}function I(e){let t=e.map(e=>q(e)),r=t.reduce((e,t)=>e+t.weight,0);if(r<=0)return t[Math.floor(Math.random()*t.length)].model;let o=Math.random()*r;for(let e of t)if((o-=e.weight)<=0)return e.model;return t[t.length-1].model}function F(e,t){let r=e.map(e=>q(e));return[r.find(e=>e.model===t),...r.filter(e=>e.model!==t).sort((e,t)=>t.weight-e.weight)].filter(Boolean).map(e=>e.model)}async function _(t){try{let{getPricingForModel:r}=await e.A(605589),o=await Promise.all(t.map(async e=>{let t=(0,p.parseModel)(e),o=t.provider||t.providerAlias||"unknown",i=t.model||e;try{let t=await r(o,i);return{modelStr:e,cost:t?.input??1/0}}catch{return{modelStr:e,cost:1/0}}}));return o.sort((e,t)=>e.cost-t.cost),o.map(e=>e.modelStr)}catch{return t}}function j(e){return Array.isArray(e)?e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean):"string"==typeof e?e.split(",").map(e=>e.trim()).filter(Boolean):[]}function z(e){return T[String(e||"").toLowerCase()]??1500}async function K(t,r){let i=(0,o.getComboMetrics)(r),{getPricingForModel:n}=await e.A(605589),a={};try{let{getModelLatencyStats:t}=await e.A(537776);a=await t({windowHours:24,minSamples:3,maxRows:1e4})}catch{}return await Promise.all(t.map(async e=>{let t=(0,p.parseModel)(e),r=t.provider||t.providerAlias||"unknown",o=t.model||e,s=a[`${r}/${o}`]||null,l=Number(s?.totalRequests),c=Number.isFinite(l)&&l>=10,u=1;try{let e=await n(r,o),t=Number(e?.input);Number.isFinite(t)&&t>=0&&(u=t)}catch{}let m=i?.byModel?.[e]||null,f=Number(m?.avgLatencyMs),g=Number(m?.successRate),h=Number(s?.p95LatencyMs),y=Number(s?.latencyStdDev),b=Number(s?.successRate),w=c?Number.isFinite(h)&&h>0?h:z(o):Number.isFinite(f)&&f>0?f:z(o),v=c?Number.isFinite(b)&&b>=0&&b<=1?1-b:.05:Number.isFinite(g)&&g>=0&&g<=100?1-g/100:.05,M=c&&Number.isFinite(y)&&y>0?Math.max(10,y):Math.max(10,.1*w),k=(0,d.getCircuitBreaker)(`combo:${e}`)?.getStatus?.()?.state;return{provider:r,model:o,quotaRemaining:100,quotaTotal:100,circuitBreakerState:"OPEN"===k||"HALF_OPEN"===k?k:"CLOSED",costPer1MTokens:u,p95LatencyMs:w,latencyStdDev:M,errorRate:v,accountTier:"standard",quotaResetIntervalSecs:86400}}))}async function U({body:e,combo:a,handleSingleModel:s,isModelAvailable:l,log:c,settings:u,allCombos:M}){let k,S=a.strategy||"priority",E=a.models||[],{body:T,pinnedModel:D}=function(e,t,r){var o;if(!t)return{body:e,pinnedModel:null};let i=Array.isArray(e.messages)?[...e.messages]:[],n=null;t.context_cache_protection&&(n=function(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if("assistant"===r.role&&"string"==typeof r.content){let e=f.exec(r.content);if(e)return e[1]}}return null}(i)),t.system_message&&t.system_message.trim()&&(o=i,i=[{role:"system",content:t.system_message},...o.filter(e=>"system"!==e.role)]);let a=function(e,t){let r;if(!e||!t)return e;try{r=new RegExp(t)}catch{return console.warn(`[ComboAgent] Invalid tool_filter_regex: "${t}"`),e}return e.filter(e=>{let t=e.function?.name??e.name??"";return r.test(String(t))})}(e.tools,t.tool_filter_regex);return i=i.map(e=>"string"==typeof e.content&&f.test(e.content)?{...e,content:e.content.replace(f,"").trimEnd()}:e),{body:{...e,messages:i,...a!==e.tools&&{tools:a}},pinnedModel:n}}(e,a,0);e=T,D&&c.info("COMBO",`[#401] Context caching: pinned model=${D}`);let z=a.context_cache_protection?async(e,t)=>{let r=await s(e,t);if(r.ok&&!e.stream)try{let e=await r.clone().json(),o=Array.isArray(e?.messages)?e.messages:[];if(o.length>0){let i=function(e,t){let r=e.map(e=>"assistant"===e.role&&"string"==typeof e.content?{...e,content:e.content.replace(f,"").trimEnd()}:e),o=r.map(e=>e.role).lastIndexOf("assistant");if(-1===o)return r;let i=r[o];if("string"!=typeof i.content)return r;let n=[...r];return n[o]={...i,content:`${i.content}
1
+ module.exports=[821518,e=>{"use strict";var t=e.i(878947);let r={};for(let[e,o]of Object.entries(t.PROVIDER_ID_TO_ALIAS))r[o]&&console.log(`[MODEL] Warning: alias "${o}" maps to both "${r[o]}" and "${e}". Using "${e}".`),r[o]=e;let o={github:{"claude-4.5-opus":"claude-opus-4-5-20251101","claude-opus-4.5":"claude-opus-4-5-20251101","gemini-3-pro":"gemini-3-pro-preview","gemini-3-flash":"gemini-3-flash-preview","raptor-mini":"oswe-vscode-prime"},gemini:{"gemini-3.1-pro-preview":"gemini-3.1-pro","gemini-3-1-pro":"gemini-3.1-pro"},"gemini-cli":{"gemini-3.1-pro-preview":"gemini-3.1-pro","gemini-3-1-pro":"gemini-3.1-pro"},nvidia:{"gpt-oss-120b":"openai/gpt-oss-120b","nvidia/gpt-oss-120b":"openai/gpt-oss-120b"},antigravity:{}},i=new Map;for(let[e,o]of Object.entries(t.PROVIDER_MODELS)){let t=r[e]||e;for(let e of o||[]){let r=e?.id;if(!r)continue;let o=i.get(r)||[];o.includes(t)||(o.push(t),i.set(r,o))}}function n(e){return r[e]||e}function a(e,t){if(!t||"string"!=typeof t)return t;let r=o[n(e)];return r?.[t]||t}function s(e){if(!e)return{provider:null,model:null,isAlias:!1,providerAlias:null,extendedContext:!1};if(/\.\.[\/\\]/.test(e)||/[\x00-\x1f]/.test(e))return console.log(`[MODEL] Warning: rejected malformed model string: "${e.substring(0,50)}"`),{provider:null,model:null,isAlias:!1,providerAlias:null,extendedContext:!1};let t=!1,r=e;if(r.endsWith("[1m]")&&(t=!0,r=r.slice(0,-4)),r.includes("/")){let e=r.indexOf("/"),o=r.slice(0,e),i=r.slice(e+1);return{provider:n(o),model:i,isAlias:!1,providerAlias:o,extendedContext:t}}return{provider:null,model:r,isAlias:!0,providerAlias:null,extendedContext:t}}async function l(e,r){let o=s(e),{extendedContext:l}=o;if(!o.isAlias){let e=a(o.provider,o.model);return{provider:o.provider,model:e,extendedContext:l}}let c="function"==typeof r?await r():r,u=function(e,t){if(!t)return null;let r=t[e];if(!r)return null;if("string"==typeof r&&r.includes("/")){let e=r.indexOf("/");return{provider:n(r.slice(0,e)),model:r.slice(e+1)}}return"object"==typeof r&&r.provider&&r.model?{provider:n(r.provider),model:r.model}:null}(o.model,c);if(u){let e=a(u.provider,u.model);return{provider:u.provider,model:e,extendedContext:l}}if(c&&"object"==typeof c){let e=Object.entries(c).map(([e,t])=>({pattern:e,target:t})),t=function(e,t){if(!e||!t||!Array.isArray(t))return null;let r=[];for(let o of t){let t=o.pattern||o.alias||o.from,i=o.target||o.model||o.to;t&&i&&function(e,t){if(!e||!t)return!1;if("*"===t||t===e)return!0;let r=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return RegExp(`^${r}$`,"i").test(e)}(e,t)&&r.push({pattern:t,target:i,specificity:function(e){if(!e)return 0;let t=0;for(let r of e.split(/[/*?]/))r.length>0&&(t+=10*r.length);let r=(e.match(/\*/g)||[]).length,o=(e.match(/\?/g)||[]).length;return t-=50*r,t-=5*o,t+=e.length}(t),...o})}return 0===r.length?null:(r.sort((e,t)=>t.specificity-e.specificity),r[0])}(o.model,e);if(t){let e=t.target;if(e.includes("/")){let r=e.indexOf("/"),o=e.slice(0,r),i=e.slice(r+1),s=n(o),c=a(s,i);return{provider:s,model:c,extendedContext:l,wildcardPattern:t.pattern}}}}let d=o.model,m=i.get(d)||[];if(m.includes("openai"))return{provider:"openai",model:d,extendedContext:l};let p=m.filter(e=>"openai"!==e);if(1===p.length){let e=p[0],t=a(e,d);return{provider:e,model:t,extendedContext:l}}if(p.length>1){let e=p.map(e=>t.PROVIDER_ID_TO_ALIAS[e]||e),r=e.slice(0,2).map(e=>`${e}/${d}`),o=`Ambiguous model '${d}'. Use provider/model prefix (ex: ${r.join(" or ")}).`;return console.warn(`[MODEL] ${o} Candidates: ${e.join(", ")}`),{provider:null,model:d,errorType:"ambiguous_model",errorMessage:o,candidateProviders:p,candidateAliases:e}}return/^claude-/i.test(d)?{provider:"antigravity",model:d,extendedContext:l}:/^gemini-/i.test(d)||/^gemma-/i.test(d)?{provider:"gemini",model:d,extendedContext:l}:{provider:"openai",model:d,extendedContext:l}}e.s(["getModelInfoCore",()=>l,"parseModel",()=>s],821518)},928041,e=>{"use strict";var t=e.i(441637),r=e.i(719201),o=e.i(178578);let i={strategy:"priority",maxRetries:1,retryDelayMs:2e3,timeoutMs:12e4,concurrencyPerModel:3,queueTimeoutMs:3e4,healthCheckEnabled:!0,healthCheckTimeoutMs:3e3,maxComboDepth:3,trackMetrics:!0};function n(e,t,r){let o=t?.comboDefaults||{},n=r&&t?.providerOverrides?.[r]||{},a=e?.config||{},s=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>null!=e));return{...i,...s(o),...s(n),...s(a)}}let a=new Map;function s(e,t=3){a.has(e)||a.set(e,{running:0,max:t,queue:[],rateLimitedUntil:null});let r=a.get(e);return r.max=t,r}function l(e){return!!e.rateLimitedUntil&&(!(Date.now()>=e.rateLimitedUntil)||(e.rateLimitedUntil=null,!1))}function c(e){let t=a.get(e);if(t)for(;t.queue.length>0&&t.running<t.max&&!l(t);){let r=t.queue.shift();clearTimeout(r.timer),t.running++,r.resolve(u(e))}}function u(e){let t=!1;return()=>{if(t)return;t=!0;let r=a.get(e);r&&r.running>0&&(r.running--,c(e))}}var d=e.i(260222),m=e.i(73114),p=e.i(821518);let f=/<omniModel>([^<]+)<\/omniModel>/,g=["function","class","import","def","SELECT","async","await","const","let","var","return","```","algorithm","compile","debug","refactor","typescript","python","javascript","code","implement","write a","create a component","endpoint","repository","deploy","install","script","api","database","query","schema","interface","generic","enum","module","package","dependency","função","classe","importar","definir","consulta","assíncrono","aguardar","constante","variável","retornar","algoritmo","compilar","depurar","refatorar","código","implementar","criar um","componente","como fazer","repositório","configurar","instalar","banco de dados","escrever uma função","criar uma classe","función","clase","importar","definir","consulta","asíncrono","esperar","constante","variable","retornar","algoritmo","compilar","depurar","refactorizar","código","implementar","函数","类","导入","定义","查询","异步","等待","常量","变量","返回","算法","编译","调试","代码","関数","クラス","インポート","非同期","定数","変数","コード","アルゴリズム","функция","класс","импорт","запрос","асинхронный","константа","переменная","алгоритм","код","funktion","klasse","importieren","abfrage","asynchron","konstante","variable","algorithmus","code","함수","클래스","가져오기","정의","쿼리","비동기","대기","상수","변수","반환","코드","دالة","فئة","استيراد","استعلام","غير متزامن","ثابت","متغير","كود","خوارزمية"],h=["prove","theorem","derive","step by step","chain of thought","formally","mathematical","proof","logically","analyze","reasoning","deduce","infer","hypothesis","convergence","provar","teorema","derivar","passo a passo","cadeia de pensamento","formalmente","matemático","prova","logicamente","analisar","raciocínio","deduzir","inferir","hipótese","demonstrar","cálculo","equação diferencial","integral","otimização","demostrar","teorema","derivar","paso a paso","formalmente","matemático","lógicamente","证明","定理","推导","逐步","思维链","数学","逻辑","分析","証明","定理","導出","論理的","分析","доказать","теорема","шаг за шагом","математически","логически","beweisen","theorem","schritt für schritt","mathematisch","logisch","증명","정리","단계별","수학적","논리적","إثبات","نظرية","خطوة بخطوة","رياضي","منطقياً"],y=["what is","define","translate","hello","yes or no","summarize","list","tell me","who is","o que é","definir","traduzir","olá","oi","sim ou não","resumir","listar","me diga","quem é","quando foi","onde fica","explique brevemente","de forma simples","qué es","definir","traducir","hola","resumir","listar","什么是","定义","翻译","你好","总结","列出","что такое","определить","перевести","привет","резюмировать","was ist","definieren","übersetzen","hallo","zusammenfassen","이란","정의","번역","안녕","요약","ما هو","تعريف","ترجمة","مرحبا","ملخص"],b={enabled:!0,simpleMaxWords:60},w={quota:.2,health:.25,costInv:.2,latencyInv:.15,taskFit:.1,stability:.05,tierPriority:.05};function v(e,t,r=w,o=()=>.5){return e.map(i=>{var n,a;let s,l,c,u=(s=Math.max(...e.map(e=>e.costPer1MTokens),.001),l=Math.max(...e.map(e=>e.p95LatencyMs),1),c=Math.max(...e.map(e=>e.latencyStdDev),.001),{quota:Math.min(1,i.quotaRemaining/100),health:"CLOSED"===i.circuitBreakerState?1:.5*("HALF_OPEN"===i.circuitBreakerState),costInv:1-i.costPer1MTokens/s,latencyInv:1-i.p95LatencyMs/l,taskFit:o(i.model,t),stability:1-i.latencyStdDev/c,tierPriority:(n=i.accountTier,a=i.quotaResetIntervalSecs,Math.min(1,.8*(({ultra:1,pro:.67,standard:.33,free:0})[n?.toLowerCase()??""]??.33)+.2*(null!=a&&a>0?Math.max(0,1-a/2592e3):0)))});return{provider:i.provider,model:i.model,score:r.quota*u.quota+r.health*u.health+r.costInv*u.costInv+r.latencyInv*u.latencyInv+r.taskFit*u.taskFit+r.stability*u.stability+r.tierPriority*u.tierPriority,factors:u}}).sort((e,t)=>t.score-e.score)}let M={coding:{"claude-sonnet":.95,"claude-opus":.92,"claude-haiku":.78,"gpt-4o":.9,"gpt-4o-mini":.8,"gpt-4-turbo":.88,o1:.93,o3:.95,"o4-mini":.88,codex:.98,"gemini-pro":.85,"gemini-flash":.8,"gemini-2.5-pro":.92,"gemini-2.5-flash":.82,"deepseek-coder":.9,"deepseek-v3":.85,"deepseek-r1":.88,"deepseek-chat":.84,"deepseek-v3.2":.86,qwen:.78,llama:.72,mistral:.75,mixtral:.77,"grok-4-fast":.8,"grok-4":.82,"grok-3":.8,"kimi-k2":.82,"glm-5":.78,"minimax-m2.5":.75,"minimax-m2":.72},review:{"claude-sonnet":.92,"claude-opus":.95,"claude-haiku":.7,"gpt-4o":.88,"gpt-4o-mini":.72,o1:.9,o3:.92,"gemini-pro":.9,"gemini-2.5-pro":.93,"gemini-flash":.75,"deepseek-r1":.85,"deepseek-v3":.8},planning:{"claude-opus":.95,"claude-sonnet":.9,"gpt-4o":.88,o1:.92,o3:.95,"gemini-2.5-pro":.93,"gemini-pro":.88,"deepseek-r1":.85},analysis:{"claude-opus":.95,"claude-sonnet":.92,"gemini-2.5-pro":.95,"gemini-pro":.88,"gemini-3.1-pro":.95,"gpt-4o":.85,o1:.9,o3:.93,"deepseek-r1":.88,"deepseek-chat":.8,"kimi-k2":.82,"glm-5":.78,"minimax-m2.5":.76},debugging:{"claude-sonnet":.93,"claude-opus":.9,"gpt-4o":.88,o1:.85,"deepseek-coder":.9,"deepseek-v3":.82,"gemini-flash":.78,codex:.92},documentation:{"claude-sonnet":.9,"claude-opus":.88,"gpt-4o":.92,"gpt-4o-mini":.85,"gemini-pro":.88,"gemini-flash":.82,"deepseek-v3":.78},default:{"claude-sonnet":.85,"claude-opus":.85,"gpt-4o":.85,"gemini-pro":.8,"gemini-3.1-pro":.85,"deepseek-v3":.75,"deepseek-chat":.74,"gemini-flash":.72,"grok-4-fast":.72,"grok-4":.74,"grok-3":.73,"kimi-k2":.76,"glm-5":.7,"minimax-m2.5":.7}},k=[{pattern:"coder",taskType:"coding",boost:.15},{pattern:"code",taskType:"coding",boost:.1},{pattern:"fast",taskType:"coding",boost:.05},{pattern:"thinking",taskType:"planning",boost:.1},{pattern:"thinking",taskType:"analysis",boost:.1}];function x(e,t){let r=e.toLowerCase(),o=t.toLowerCase();for(let[e,t]of Object.entries(M[o]||M.default))if(r.includes(e))return t;let i=.5;for(let e of k)r.includes(e.pattern)&&o===e.taskType&&(i+=e.boost);return Math.min(1,i)}let $={"ship-fast":{quota:.15,health:.3,costInv:.05,latencyInv:.35,taskFit:.1,stability:0,tierPriority:.05},"cost-saver":{quota:.15,health:.2,costInv:.4,latencyInv:.05,taskFit:.1,stability:.05,tierPriority:.05},"quality-first":{quota:.1,health:.2,costInv:.05,latencyInv:.05,taskFit:.4,stability:.15,tierPriority:.05},"offline-friendly":{quota:.4,health:.3,costInv:.1,latencyInv:.05,taskFit:0,stability:.1,tierPriority:.05}};class O{exclusions=new Map;incidentMode=!1;isExcluded(e){let t=this.exclusions.get(e);return!(!t||Date.now()-t.excludedAt>t.cooldownMs)}evaluate(e,t,r){let o=this.exclusions.get(e);if(o&&t>=.3&&Date.now()-o.excludedAt>o.cooldownMs)return this.exclusions.delete(e),{excluded:!1,reason:`Re-admitted: score ${t.toFixed(2)} >= 0.3`};if(this.isExcluded(e))return"HALF_OPEN"===r&&o?(o.probeCount++,{excluded:!1,isProbe:!0,reason:`Probe request #${o.probeCount}`}):{excluded:!0,reason:o?.reason||"Excluded"};if(t<.2){let r=o?Math.min(2*o.cooldownMs,18e5):3e5;return this.exclusions.set(e,{provider:e,excludedAt:Date.now(),cooldownMs:r,reason:`Score ${t.toFixed(2)} < 0.2`,probeCount:0}),{excluded:!0,reason:`Excluded: score ${t.toFixed(2)} below threshold`}}return"OPEN"===r?(this.exclusions.set(e,{provider:e,excludedAt:Date.now(),cooldownMs:3e5,reason:"Circuit breaker OPEN",probeCount:0}),{excluded:!0,reason:"Circuit breaker OPEN"}):{excluded:!1}}recordProbeResult(e,t){let r=this.exclusions.get(e);r&&(t&&r.probeCount>=3?this.exclusions.delete(e):t||(r.cooldownMs=Math.min(2*r.cooldownMs,18e5),r.excludedAt=Date.now(),r.probeCount=0))}updateIncidentMode(e){let t=e.length;if(0===t)return this.incidentMode=!1,!1;let r=e.filter(e=>"OPEN"===e).length;return this.incidentMode=r/t>.5,this.incidentMode}isInIncidentMode(){return this.incidentMode}getExclusions(){return[...this.exclusions.values()]}getStatus(){let e=Date.now();return{exclusionCount:this.exclusions.size,incidentMode:this.incidentMode,exclusions:[...this.exclusions.values()].map(t=>({provider:t.provider,reason:t.reason,remainingMs:Math.max(0,t.cooldownMs-(e-t.excludedAt))}))}}}let C=null,R=new Map,A=new class{name="rules";description="6-factor weighted scoring: quota, health, cost, latency, taskFit, stability";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=v(r.length>0?r:e,t.taskType,void 0,x),i=o[0];if(!i)throw Error("[RulesStrategy] No candidates to score");return{provider:i.provider,model:i.model,strategy:this.name,reason:`RulesStrategy: score=${i.score.toFixed(3)} (quota=${i.factors.quota.toFixed(2)}, health=${i.factors.health.toFixed(2)}, cost=${i.factors.costInv.toFixed(2)}, taskFit=${i.factors.taskFit.toFixed(2)})`,candidatesConsidered:o.length,finalScore:i.score}}},S=new class{name="cost";description="Always selects cheapest available provider (by costPer1MTokens)";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=r.length>0?r:e,i=[...o].sort((e,t)=>e.costPer1MTokens-t.costPer1MTokens)[0];if(!i)throw Error("[CostStrategy] No candidates available");return{provider:i.provider,model:i.model,strategy:this.name,reason:`CostStrategy: cheapest at $${i.costPer1MTokens.toFixed(3)}/1M tokens`,candidatesConsidered:o.length,finalScore:0===i.costPer1MTokens?1:1/i.costPer1MTokens}}},E=new class{name="latency";description="Prioritizes lowest p95 latency with reliability weighting";select(e,t){let r=e.filter(e=>"OPEN"!==e.circuitBreakerState),o=r.length>0?r:e,i=[...o].sort((e,t)=>{let r=1e3*e.errorRate,o=1e3*t.errorRate;return e.p95LatencyMs+r-(t.p95LatencyMs+o)})[0];if(!i)throw Error("[LatencyStrategy] No candidates available");let n=i.p95LatencyMs>0?Math.max(.001,1e4/i.p95LatencyMs):1,a=Math.max(0,1-i.errorRate);return{provider:i.provider,model:i.model,strategy:this.name,reason:`LatencyStrategy: p95=${i.p95LatencyMs}ms, errorRate=${(100*i.errorRate).toFixed(2)}%`,candidatesConsidered:o.length,finalScore:.7*n+.3*a}}};R.set("rules",A),R.set("cost",S),R.set("eco",S),R.set("latency",E),R.set("fast",E);var P=e.i(878947);let B=["gpt-oss-120b","deepseek-reasoner","glm-4.7","glm4.7"],N=[429,502,503,504],T={"grok-4-fast-non-reasoning":1143,"grok-4-1-fast-non-reasoning":1244,"gemini-2.5-flash":1238,"kimi-k2.5":1646,"gpt-4o-mini":2764,"claude-sonnet-4.6":4e3,"claude-opus-4.6":6e3,"deepseek-chat":2e3},D=new Map;function q(e){return"string"==typeof e?{model:e,weight:0}:{model:e.model,weight:e.weight||0}}function L(e,t,r=new Set,o=0){if(o>3)return e.models.map(e=>q(e).model);if(r.has(e.name))return[];r.add(e.name);let i=Array.isArray(t)?t:t?.combos||[],n=[];for(let t of e.models||[]){let e=q(t).model,a=i.find(t=>t.name===e);if(a){let e=L(a,i,new Set(r),o+1);n.push(...e)}else n.push(e)}return n}function I(e){let t=e.map(e=>q(e)),r=t.reduce((e,t)=>e+t.weight,0);if(r<=0)return t[Math.floor(Math.random()*t.length)].model;let o=Math.random()*r;for(let e of t)if((o-=e.weight)<=0)return e.model;return t[t.length-1].model}function F(e,t){let r=e.map(e=>q(e));return[r.find(e=>e.model===t),...r.filter(e=>e.model!==t).sort((e,t)=>t.weight-e.weight)].filter(Boolean).map(e=>e.model)}async function _(t){try{let{getPricingForModel:r}=await e.A(605589),o=await Promise.all(t.map(async e=>{let t=(0,p.parseModel)(e),o=t.provider||t.providerAlias||"unknown",i=t.model||e;try{let t=await r(o,i);return{modelStr:e,cost:t?.input??1/0}}catch{return{modelStr:e,cost:1/0}}}));return o.sort((e,t)=>e.cost-t.cost),o.map(e=>e.modelStr)}catch{return t}}function j(e){return Array.isArray(e)?e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean):"string"==typeof e?e.split(",").map(e=>e.trim()).filter(Boolean):[]}function z(e){return T[String(e||"").toLowerCase()]??1500}async function K(t,r){let i=(0,o.getComboMetrics)(r),{getPricingForModel:n}=await e.A(605589),a={};try{let{getModelLatencyStats:t}=await e.A(537776);a=await t({windowHours:24,minSamples:3,maxRows:1e4})}catch{}return await Promise.all(t.map(async e=>{let t=(0,p.parseModel)(e),r=t.provider||t.providerAlias||"unknown",o=t.model||e,s=a[`${r}/${o}`]||null,l=Number(s?.totalRequests),c=Number.isFinite(l)&&l>=10,u=1;try{let e=await n(r,o),t=Number(e?.input);Number.isFinite(t)&&t>=0&&(u=t)}catch{}let m=i?.byModel?.[e]||null,f=Number(m?.avgLatencyMs),g=Number(m?.successRate),h=Number(s?.p95LatencyMs),y=Number(s?.latencyStdDev),b=Number(s?.successRate),w=c?Number.isFinite(h)&&h>0?h:z(o):Number.isFinite(f)&&f>0?f:z(o),v=c?Number.isFinite(b)&&b>=0&&b<=1?1-b:.05:Number.isFinite(g)&&g>=0&&g<=100?1-g/100:.05,M=c&&Number.isFinite(y)&&y>0?Math.max(10,y):Math.max(10,.1*w),k=(0,d.getCircuitBreaker)(`combo:${e}`)?.getStatus?.()?.state;return{provider:r,model:o,quotaRemaining:100,quotaTotal:100,circuitBreakerState:"OPEN"===k||"HALF_OPEN"===k?k:"CLOSED",costPer1MTokens:u,p95LatencyMs:w,latencyStdDev:M,errorRate:v,accountTier:"standard",quotaResetIntervalSecs:86400}}))}async function U({body:e,combo:a,handleSingleModel:s,isModelAvailable:l,log:c,settings:u,allCombos:M}){let k,S=a.strategy||"priority",E=a.models||[],{body:T,pinnedModel:D}=function(e,t,r){var o;if(!t)return{body:e,pinnedModel:null};let i=Array.isArray(e.messages)?[...e.messages]:[],n=null;t.context_cache_protection&&(n=function(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if("assistant"===r.role&&"string"==typeof r.content){let e=f.exec(r.content);if(e)return e[1]}}return null}(i)),t.system_message&&t.system_message.trim()&&(o=i,i=[{role:"system",content:t.system_message},...o.filter(e=>"system"!==e.role)]);let a=function(e,t){let r;if(!e||!t)return e;try{r=new RegExp(t)}catch{return console.warn(`[ComboAgent] Invalid tool_filter_regex: "${t}"`),e}return e.filter(e=>{let t=e.function?.name??e.name??"";return r.test(String(t))})}(e.tools,t.tool_filter_regex);return i=i.map(e=>"string"==typeof e.content&&f.test(e.content)?{...e,content:e.content.replace(f,"").trimEnd()}:e),{body:{...e,messages:i,...a!==e.tools&&{tools:a}},pinnedModel:n}}(e,a,0);e=T,D&&c.info("COMBO",`[#401] Context caching: pinned model=${D}`);let z=a.context_cache_protection?async(e,t)=>{let r=await s(e,t);if(r.ok&&!e.stream)try{let e=await r.clone().json(),o=Array.isArray(e?.messages)?e.messages:[];if(o.length>0){let i=function(e,t){let r=e.map(e=>"assistant"===e.role&&"string"==typeof e.content?{...e,content:e.content.replace(f,"").trimEnd()}:e),o=r.map(e=>e.role).lastIndexOf("assistant");if(-1===o)return[...r,{role:"assistant",content:`
2
+ <omniModel>${t}</omniModel>`}];let i=r[o];if("string"!=typeof i.content)return r;let n=[...r];return n[o]={...i,content:`${i.content}
2
3
  <omniModel>${t}</omniModel>`},n}(o,t);return new Response(JSON.stringify({...e,messages:i}),{status:r.status,headers:r.headers})}}catch{}return r}:s;if("round-robin"===S)return W({body:e,combo:a,handleSingleModel:z,isModelAvailable:l,log:c,settings:u,allCombos:M});let U=u?n(a,u):{...i,...a.config||{}},H=U.maxRetries??1,J=U.retryDelayMs??2e3;if(M){let e=L(a,M);if("weighted"===S){let e=I(E);k=(k=F(E,e)).flatMap(e=>{let t=(Array.isArray(M)?M:M?.combos||[]).find(t=>t.name===e);return t?L(t,M):[e]}),c.info("COMBO",`Weighted selection with nested resolution: ${k.length} total models`)}else k=e,c.info("COMBO",`${S} with nested resolution: ${k.length} total models`)}else if("weighted"===S){let e=I(E);k=F(E,e),c.info("COMBO",`Weighted selection: ${e} (from ${E.length} models)`)}else k=E.map(e=>q(e).model);if("auto"===S){let t,r=Array.isArray(e?.tools)&&e.tools.length>0,i=[...k];if(r){let e=i.filter(e=>(function(e){let t=(0,p.parseModel)(e),r=t.provider||t.providerAlias||"",o=t.model||e;if(r){let e=function(e,t){let r=P.PROVIDER_ID_TO_ALIAS[e]||e,o=P.PROVIDER_MODELS[r];if(!Array.isArray(o))return null;let i=o.find(e=>e?.id===t);return i&&"boolean"==typeof i.toolCalling?i.toolCalling:null}(r,o);if(null!==e)return e}let i=String(e||"").toLowerCase();return!!i&&!B.some(e=>!!(i===e||i.endsWith(`/${e}`))||i.includes(e))})(e));e.length>0?i=e:c.warn("COMBO","Auto strategy: all candidates filtered by tool-calling policy, falling back to full pool")}let n=function(e){if(!e||"object"!=typeof e)return"";let t=Array.isArray(e.messages)?[...e.messages].reverse().find(e=>e&&"object"==typeof e&&"user"===e.role):null;if(t){var r;return"string"==typeof(r=t.content)?r:Array.isArray(r)?r.map(e=>e&&"object"==typeof e&&"string"==typeof e.text?e.text:"").join("\n"):""}if("string"==typeof e.input)return e.input;if(Array.isArray(e.input)){let t=e.input.map(e=>e&&"object"==typeof e?"string"==typeof e.content?e.content:"string"==typeof e.text?e.text:"":"").filter(Boolean).join("\n");if(t)return t}return"string"==typeof e.prompt?e.prompt:""}(e),s="string"==typeof a?.system_message?a.system_message:void 0,l=function(e,t,r){if(!t.enabled)return"medium";let o=`${r??""} ${e}`.toLowerCase(),i=e.trim().split(/\s+/).length,n=t.simpleMaxWords??60,a=[...g,...t.extraCodeKeywords??[]],s=[...h,...t.extraReasoningKeywords??[]],l=[...y,...t.extraSimpleKeywords??[]];for(let e of a)if(o.includes(e.toLowerCase()))return"code";for(let e of s)if(o.includes(e.toLowerCase()))return"reasoning";if(i<n){for(let e of l)if(o.includes(e.toLowerCase()))return"simple"}return"medium"}(n,(t=a?.autoConfig?.intentConfig||a?.config?.auto?.intentConfig||a?.config?.intentConfig||{},{...b,...t,..."boolean"==typeof u?.intentDetectionEnabled?{enabled:u.intentDetectionEnabled}:{},...Number.isFinite(Number(u?.intentSimpleMaxWords))?{simpleMaxWords:Number(u.intentSimpleMaxWords)}:{},...j(u?.intentExtraCodeKeywords).length>0?{extraCodeKeywords:j(u.intentExtraCodeKeywords)}:{},...j(u?.intentExtraReasoningKeywords).length>0?{extraReasoningKeywords:j(u.intentExtraReasoningKeywords)}:{},...j(u?.intentExtraSimpleKeywords).length>0?{extraSimpleKeywords:j(u.intentExtraSimpleKeywords)}:{}}),s);(0,o.recordComboIntent)(a.name,l);let d=function(e){switch(e){case"code":return"coding";case"reasoning":return"analysis";default:return"default"}}(l),m=a?.autoConfig||a?.config?.auto||a?.config||{},f="string"==typeof m.routingStrategy?m.routingStrategy:"string"==typeof m.strategyName?m.strategyName:"rules",M=Array.isArray(m.candidatePool)?m.candidatePool:[...new Set(i.map(e=>{let t=(0,p.parseModel)(e);return t.provider||t.providerAlias||"unknown"}))],S=m.weights&&"object"==typeof m.weights?m.weights:w,E=Number.isFinite(Number(m.explorationRate))?Number(m.explorationRate):.05,N=Number.isFinite(Number(m.budgetCap))?Number(m.budgetCap):void 0,T="string"==typeof m.modePack?m.modePack:void 0,D=await K(i,a.name);if(D.length>0){let e=null,t=null,o="";if("rules"!==f)try{let i=function(e,t,r="rules"){let o;return(!(o=R.get(r))?(console.warn(`[RouterStrategy] Strategy '${r}' not found, falling back to 'rules'`),A):o).select(e,t)}(D,{taskType:d,requestHasTools:r},f);e=i.provider,t=i.model,o=i.reason}catch(e){c.warn("COMBO",`Auto strategy '${f}' failed (${e?.message||"unknown"}), falling back to rules`)}if(!e||!t){let r=function(e,t,r="default",o){let i,n=(C||(C=new O),C),a=e.weights;if(e.modePack){let t=$[e.modePack];t&&(a=t)}.01>Math.abs(Object.values(a).reduce((e,t)=>e+t,0)-1)||(a=w);let s=[],l=t.filter(t=>(!(e.candidatePool.length>0)||!!e.candidatePool.includes(t.provider))&&(!n.evaluate(t.provider,.5,t.circuitBreakerState).excluded||(s.push(t.provider),!1)));0===l.length&&(l.push(...t),s.length=0);let c=v(l,r,a,x),u=c.filter(e=>!n.evaluate(e.provider,e.score,"CLOSED").excluded||(s.push(e.provider),!1)),d=u.length>0?u:c,m=Math.random()<(n.isInIncidentMode()?0:e.explorationRate)&&d.length>1;if(m){let e=Math.floor(Math.random()*d.length);i=d[e]}else i=d[0];if(e.budgetCap){let r=t.find(e=>e.provider===i.provider);if(r&&r.costPer1MTokens/1e6*1e3>e.budgetCap){let e=d.map(e=>({...e,cost:t.find(t=>t.provider===e.provider)?.costPer1MTokens||0})).sort((e,t)=>e.cost-t.cost)[0];e&&(i=e)}}return{provider:i.provider,model:i.model,score:i.score,isExploration:m,factors:i.factors,excluded:s}}({id:a.id||a.name,name:a.name,type:"auto",candidatePool:M,weights:S,modePack:T,budgetCap:N,explorationRate:E},D,d);e=r.provider,t=r.model,o=`score=${r.score.toFixed(3)}${r.isExploration?" (exploration)":""}`}let n=new Map;for(let e of i){let t=(0,p.parseModel)(e),r=t.provider||t.providerAlias||"unknown",o=t.model||e;n.set(`${r}/${o}`,e)}let s=v(D,d,S).map(e=>n.get(`${e.provider}/${e.model}`)||`${e.provider}/${e.model}`).filter(Boolean),u=n.get(`${e}/${t}`)||`${e}/${t}`;k=[...new Set([u,...s,...i])],c.info("COMBO",`Auto selection: ${u} | intent=${l} task=${d} | strategy=${f} | ${o}`)}else c.warn("COMBO","Auto strategy has no candidates, keeping default ordering")}else if("strict-random"===S){let e=await (0,m.getNextFromDeck)(`combo:${a.name}`,k),t=k.filter(t=>t!==e);k=[e,...t],c.info("COMBO",`Strict-random deck: ${e} selected (${k.length} models)`)}else"random"===S?(k=(0,m.fisherYatesShuffle)([...k]),c.info("COMBO",`Random shuffle: ${k.length} models`)):"least-used"===S?(k=function(e,t){let r=(0,o.getComboMetrics)(t);if(!r||!r.byModel)return e;let i=e.map(e=>({modelStr:e,requests:r.byModel[e]?.requests??0}));return i.sort((e,t)=>e.requests-t.requests),i.map(e=>e.modelStr)}(k,a.name),c.info("COMBO",`Least-used ordering: ${k[0]} has fewest requests`)):"cost-optimized"===S&&(k=await _(k),c.info("COMBO",`Cost-optimized ordering: cheapest first (${k[0]})`));let V=null,G=null,Y=null,Q=Date.now(),X=0;for(let r=0;r<k.length;r++){let i=k[r],n=(0,p.parseModel)(i),s=n.provider||n.providerAlias||"unknown",u=(0,t.getProviderProfile)(s),m=`combo:${i}`,f=(0,d.getCircuitBreaker)(m,{failureThreshold:u.circuitBreakerThreshold,resetTimeout:u.circuitBreakerReset});if(!f.canExecute()){c.info("COMBO",`Skipping ${i}: circuit breaker OPEN for ${s}`),r>0&&X++;continue}if(l&&!await l(i)){c.info("COMBO",`Skipping ${i} (all accounts in cooldown)`),r>0&&X++;continue}for(let n=0;n<=H;n++){n>0&&(c.info("COMBO",`Retrying ${i} in ${J}ms (attempt ${n+1}/${H+1})`),await new Promise(e=>setTimeout(e,J))),c.info("COMBO",`Trying model ${r+1}/${k.length}: ${i}${n>0?` (retry ${n})`:""}`);let l=await z(e,i);if(l.ok){let e=Date.now()-Q;return c.info("COMBO",`Model ${i} succeeded (${e}ms, ${X} fallbacks)`),(0,o.recordComboRequest)(a.name,i,{success:!0,latencyMs:e,fallbackCount:X,strategy:S}),l}let u=l.statusText||"",d=null;try{let e=l.clone();try{let t=await e.json();u=t?.error?.message||t?.error||t?.message||u,d=t?.retryAfter||null}catch{try{let e=await l.text();e&&(u=e.substring(0,500))}catch{}}}catch{}if(d&&(!G||new Date(d)<new Date(G))&&(G=d),"string"!=typeof u)try{u=JSON.stringify(u)}catch{u=String(u)}let{shouldFallback:m,cooldownMs:p}=(0,t.checkFallbackError)(l.status,u,0,null,s);if(N.includes(l.status)&&f._onFailure(),!m)return c.warn("COMBO",`Model ${i} failed (no fallback)`,{status:l.status}),l;let g=[408,429,500,502,503,504].includes(l.status);if(!(n<H)||!g){V=u||String(l.status),Y||(Y=l.status),r>0&&X++,c.warn("COMBO",`Model ${i} failed, trying next`,{status:l.status});break}}}let Z=k.every(e=>!(0,d.getCircuitBreaker)(`combo:${e}`).canExecute()),ee=Date.now()-Q;if((0,o.recordComboRequest)(a.name,null,{success:!1,latencyMs:ee,fallbackCount:X,strategy:S}),Z)return c.warn("COMBO","All models have circuit breaker OPEN — aborting"),(0,r.unavailableResponse)(503,"All providers temporarily unavailable (circuit breakers open)");let et=Y||406,er=V||"All combo models unavailable";if(G){let e=(0,t.formatRetryAfter)(G);return c.warn("COMBO",`All models failed | ${er} (${e})`),(0,r.unavailableResponse)(et,er,G,e)}return c.warn("COMBO",`All models failed | ${er}`),new Response(JSON.stringify({error:{message:er}}),{status:et,headers:{"Content-Type":"application/json"}})}async function W({body:e,combo:a,handleSingleModel:m,isModelAvailable:f,log:g,settings:h,allCombos:y}){let b,w=a.models||[],v=h?n(a,h):{...i,...a.config||{}},M=v.concurrencyPerModel??3,k=v.queueTimeoutMs??3e4,x=v.maxRetries??1,$=v.retryDelayMs??2e3,O=(b=y?L(a,y):w.map(e=>q(e).model)).length;if(0===O)return(0,r.unavailableResponse)(406,"Round-robin combo has no models");let C=D.get(a.name)||0;D.set(a.name,C+1);let R=C%O,A=Date.now(),S=null,E=null,P=null,B=0;for(let r=0;r<O;r++){let i,n=b[(R+r)%O],h=(0,p.parseModel)(n),y=h.provider||h.providerAlias||"unknown",w=(0,t.getProviderProfile)(y),v=`combo:${n}`,T=(0,d.getCircuitBreaker)(v,{failureThreshold:w.circuitBreakerThreshold,resetTimeout:w.circuitBreakerReset});if(!T.canExecute()){g.info("COMBO-RR",`Skipping ${n}: circuit breaker OPEN for ${y}`),r>0&&B++;continue}if(f&&!await f(n)){g.info("COMBO-RR",`Skipping ${n} (all accounts in cooldown)`),r>0&&B++;continue}try{i=await function(e,{maxConcurrency:t=3,timeoutMs:r=3e4}={}){let o=s(e,t);return o.running<o.max&&!l(o)?(o.running++,Promise.resolve(u(e))):new Promise((t,i)=>{let n=setTimeout(()=>{let t=o.queue.findIndex(e=>e.timer===n);-1!==t&&o.queue.splice(t,1);let a=Error(`Semaphore timeout after ${r}ms for ${e}`);a.code="SEMAPHORE_TIMEOUT",i(a)},r);o.queue.push({resolve:t,reject:i,timer:n})})}(n,{maxConcurrency:M,timeoutMs:k})}catch(e){if("SEMAPHORE_TIMEOUT"===e.code){g.warn("COMBO-RR",`Semaphore timeout for ${n}, trying next model`),r>0&&B++;continue}throw e}try{for(let i=0;i<=x;i++){i>0&&(g.info("COMBO-RR",`Retrying ${n} in ${$}ms (attempt ${i+1}/${x+1})`),await new Promise(e=>setTimeout(e,$))),g.info("COMBO-RR",`[RR #${C}] → ${n}${r>0?` (fallback +${r})`:""}${i>0?` (retry ${i})`:""}`);let l=await m(e,n);if(l.ok){let e=Date.now()-A;return g.info("COMBO-RR",`${n} succeeded (${e}ms, ${B} fallbacks)`),(0,o.recordComboRequest)(a.name,n,{success:!0,latencyMs:e,fallbackCount:B,strategy:"round-robin"}),l}let u=l.statusText||"",d=null;try{let e=l.clone();try{let t=await e.json();u=t?.error?.message||t?.error||t?.message||u,d=t?.retryAfter||null}catch{try{let e=await l.text();e&&(u=e.substring(0,500))}catch{}}}catch{}if(d&&(!P||new Date(d)<new Date(P))&&(P=d),"string"!=typeof u)try{u=JSON.stringify(u)}catch{u=String(u)}let{shouldFallback:p,cooldownMs:f}=(0,t.checkFallbackError)(l.status,u,0,null,y);if(N.includes(l.status)&&f>0&&(!function(e,t){let r=s(e);r.rateLimitedUntil=Date.now()+t,setTimeout(()=>{r.rateLimitedUntil&&Date.now()>=r.rateLimitedUntil&&(r.rateLimitedUntil=null,c(e))},t+50)}(n,f),T._onFailure(),g.warn("COMBO-RR",`${n} error ${l.status}, cooldown ${f}ms (breaker: ${T.getStatus().failureCount}/${w.circuitBreakerThreshold})`)),!p)return g.warn("COMBO-RR",`${n} failed (no fallback)`,{status:l.status}),l;let h=[408,429,500,502,503,504].includes(l.status);if(!(i<x)||!h){S=u||String(l.status),E||(E=l.status),r>0&&B++,g.warn("COMBO-RR",`${n} failed, trying next model`,{status:l.status});break}}}finally{i()}}let T=Date.now()-A;if((0,o.recordComboRequest)(a.name,null,{success:!1,latencyMs:T,fallbackCount:B,strategy:"round-robin"}),b.every(e=>!(0,d.getCircuitBreaker)(`combo:${e}`).canExecute()))return g.warn("COMBO-RR","All models have circuit breaker OPEN — aborting"),(0,r.unavailableResponse)(503,"All providers temporarily unavailable (circuit breakers open)");let I=E||406,F=S||"All round-robin combo models unavailable";if(P){let e=(0,t.formatRetryAfter)(P);return g.warn("COMBO-RR",`All models failed | ${F} (${e})`),(0,r.unavailableResponse)(I,F,P,e)}return g.warn("COMBO-RR",`All models failed | ${F}`),new Response(JSON.stringify({error:{message:F}}),{status:I,headers:{"Content-Type":"application/json"}})}e.s(["handleComboChat",()=>U,"validateComboDAG",()=>function e(t,r,o=new Set,i=0){if(i>3)throw Error(`Max combo nesting depth (3) exceeded at "${t}"`);if(o.has(t))throw Error(`Circular combo reference detected: ${t}`);o.add(t);let n=Array.isArray(r)?r:r?.combos||[],a=n.find(e=>e.name===t);if(a&&a.models)for(let t of a.models){let r=q(t).model;n.find(e=>e.name===r)&&e(r,n,new Set(o),i+1)}}],928041)}];
3
4
 
4
5
  //# sourceMappingURL=open-sse_services_826884e1._.js.map
@@ -9,11 +9,11 @@ Respond ONLY with the JSON object, no other text.`)}else"json_object"===e.type&&
9
9
  </tool_result>`}function J(e,t,n=null){return{id:`chatcmpl-${e.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.model,choices:[{index:0,delta:t,finish_reason:n}]}}function L(e,t){e.thinkingBlockStarted&&(t.push({type:"content_block_stop",index:e.thinkingBlockIndex}),e.thinkingBlockStarted=!1)}function Y(e,t){e.textBlockStarted&&!e.textBlockClosed&&(e.textBlockClosed=!0,t.push({type:"content_block_stop",index:e.textBlockIndex}),e.textBlockStarted=!1)}function K(e,t){if(!e)return null;let n=e.response||e;if(!n||!n.candidates?.[0])return null;let o=[],s=n.candidates[0],r=s.content;if(t.messageId||(t.messageId=n.responseId||`msg_${Date.now()}`,t.model=n.modelVersion||"gemini",t.functionIndex=0,o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),r?.parts)for(let e of r.parts){let n=e.thoughtSignature||e.thought_signature,s=!0===e.thought;if(n){let n=void 0!==e.text&&""!==e.text,r=!!e.functionCall;if(n&&o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:s?{reasoning_content:e.text}:{content:e.text},finish_reason:null}]}),r){let n=e.functionCall.name,s=e.functionCall.args||{},r=t.functionIndex++,i={id:`${n}-${Date.now()}-${r}`,index:r,type:"function",function:{name:n,arguments:JSON.stringify(s)}};t.toolCalls.set(r,i),o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{tool_calls:[i]},finish_reason:null}]})}continue}if(void 0!==e.text&&""!==e.text&&o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{content:e.text},finish_reason:null}]}),e.functionCall){let n=e.functionCall.name,s=e.functionCall.args||{},r=t.functionIndex++,i={id:`${n}-${Date.now()}-${r}`,index:r,type:"function",function:{name:n,arguments:JSON.stringify(s)}};t.toolCalls.set(r,i),o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{tool_calls:[i]},finish_reason:null}]})}let r=e.inlineData||e.inline_data;if(r?.data){let e=r.mimeType||r.mime_type||"image/png";o.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{images:[{type:"image_url",image_url:{url:`data:${e};base64,${r.data}`}}]},finish_reason:null}]})}}let i=n.usageMetadata||e.usageMetadata;if(i&&"object"==typeof i){let e="number"==typeof i.cachedContentTokenCount?i.cachedContentTokenCount:0,n="number"==typeof i.promptTokenCount?i.promptTokenCount:0,o="number"==typeof i.thoughtsTokenCount?i.thoughtsTokenCount:0,s="number"==typeof i.candidatesTokenCount?i.candidatesTokenCount:0,r="number"==typeof i.totalTokenCount?i.totalTokenCount:0;0===s&&r>0&&(s=r-n-o)<0&&(s=0),t.usage={prompt_tokens:n,completion_tokens:s+o,total_tokens:r},e>0&&(t.usage.prompt_tokens_details={cached_tokens:e}),o>0&&(t.usage.completion_tokens_details={reasoning_tokens:o})}if(s.finishReason){let e=s.finishReason.toLowerCase();"stop"===e&&t.toolCalls.size>0&&(e="tool_calls");let n={id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:e}]};t.usage&&(n.usage=t.usage),o.push(n),t.finishReason=e}return o.length>0?o:null}function G(e,t){if(!e)return null;let n=e.response||e;if(!n||!n.candidates?.[0])return null;let o=[],s=n.candidates[0],r=s.content;if(t.messageId||(t.messageId=n.responseId||`msg_${Date.now()}`,t.model=n.modelVersion||"gemini",t.contentBlockIndex=0,t.openTextBlockIdx=null,o.push({type:"message_start",message:{id:t.messageId,type:"message",role:"assistant",model:t.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}})),r?.parts)for(let e of r.parts){let n=e.thoughtSignature||e.thought_signature,s=!0===e.thought;if(s&&e.text){null!==t.openTextBlockIdx&&(o.push({type:"content_block_stop",index:t.openTextBlockIdx}),t.openTextBlockIdx=null);let n=t.contentBlockIndex++;o.push({type:"content_block_start",index:n,content_block:{type:"thinking",thinking:""}}),o.push({type:"content_block_delta",index:n,delta:{type:"thinking_delta",thinking:e.text}}),o.push({type:"content_block_stop",index:n});continue}if(e.functionCall){null!==t.openTextBlockIdx&&(o.push({type:"content_block_stop",index:t.openTextBlockIdx}),t.openTextBlockIdx=null);let n=e.functionCall,s=t.contentBlockIndex++,r=n.id||`toolu_${Date.now()}_${s}`;o.push({type:"content_block_start",index:s,content_block:{type:"tool_use",id:r,name:n.name,input:{}}});let i=JSON.stringify(n.args||{});o.push({type:"content_block_delta",index:s,delta:{type:"input_json_delta",partial_json:i}}),o.push({type:"content_block_stop",index:s}),t.hasToolUse||(t.hasToolUse=!0);continue}let r=void 0!==e.text&&""!==e.text&&!n,i=n&&void 0!==e.text&&""!==e.text&&!s&&!e.functionCall;if(r||i){if(null===t.openTextBlockIdx){let e=t.contentBlockIndex++;t.openTextBlockIdx=e,o.push({type:"content_block_start",index:e,content_block:{type:"text",text:""}})}o.push({type:"content_block_delta",index:t.openTextBlockIdx,delta:{type:"text_delta",text:e.text}})}}let i=n.usageMetadata||e.usageMetadata;if(i&&"object"==typeof i){let e="number"==typeof i.promptTokenCount?i.promptTokenCount:0,n="number"==typeof i.candidatesTokenCount?i.candidatesTokenCount:0,o="number"==typeof i.thoughtsTokenCount?i.thoughtsTokenCount:0,s="number"==typeof i.cachedContentTokenCount?i.cachedContentTokenCount:0;t.usage={input_tokens:e,output_tokens:n+o},s>0&&(t.usage.cache_read_input_tokens=s)}if(s.finishReason){let e;null!==t.openTextBlockIdx&&(o.push({type:"content_block_stop",index:t.openTextBlockIdx}),t.openTextBlockIdx=null);let n=s.finishReason.toLowerCase();e=t.hasToolUse||"tool_calls"===n?"tool_use":"max_tokens"===n||"length"===n?"max_tokens":"end_turn",o.push({type:"message_delta",delta:{stop_reason:e,stop_sequence:null},usage:t.usage||{input_tokens:0,output_tokens:0}}),o.push({type:"message_stop"})}return o.length>0?o:null}function W(e,t,n){e.reasoningId||(e.reasoningId=`rs_${e.responseId}_${n}`,e.reasoningIndex=n,t("response.output_item.added",{type:"response.output_item.added",output_index:n,item:{id:e.reasoningId,type:"reasoning",summary:[]}}),t("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:e.reasoningId,output_index:n,summary_index:0,part:{type:"summary_text",text:""}}),e.reasoningPartAdded=!0)}function Z(e,t,n){n&&(e.reasoningBuf+=n,t("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:e.reasoningId,output_index:e.reasoningIndex,summary_index:0,delta:n}))}function V(e,t){e.reasoningId&&!e.reasoningDone&&(e.reasoningDone=!0,t("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:e.reasoningId,output_index:e.reasoningIndex,summary_index:0,text:e.reasoningBuf}),t("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:e.reasoningId,output_index:e.reasoningIndex,summary_index:0,part:{type:"summary_text",text:e.reasoningBuf}}),t("response.output_item.done",{type:"response.output_item.done",output_index:e.reasoningIndex,item:{id:e.reasoningId,type:"reasoning",summary:[{type:"summary_text",text:e.reasoningBuf}]}}))}function H(e,t,n){if(e.msgItemAdded[n]&&!e.msgItemDone[n]){e.msgItemDone[n]=!0;let o=e.msgTextBuf[n]||"",s=`msg_${e.responseId}_${n}`;t("response.output_text.done",{type:"response.output_text.done",item_id:s,output_index:parseInt(n),content_index:0,text:o,logprobs:[]}),t("response.content_part.done",{type:"response.content_part.done",item_id:s,output_index:parseInt(n),content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:o}}),t("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(n),item:{id:s,type:"message",content:[{type:"output_text",annotations:[],logprobs:[],text:o}],role:"assistant"}})}}function z(e,t,n){let o=e.funcCallIds[n];if(o&&!e.funcItemDone[n]){let s=e.funcArgsBuf[n]||"{}";t("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:`fc_${o}`,output_index:parseInt(n),arguments:s}),t("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(n),item:{id:`fc_${o}`,type:"function_call",arguments:s,call_id:o,name:e.funcNames[n]||""}}),e.funcItemDone[n]=!0,e.funcArgsDone[n]=!0}}function Q(e,t){e.completedSent||(e.completedSent=!0,t("response.completed",{type:"response.completed",response:{id:e.responseId,object:"response",created_at:e.created,status:"completed",background:!1,error:null}}))}function X(){}f(t.FORMATS.OPENAI,t.FORMATS.KIRO,function(e,t,n,o){let s=t.messages||[],r=t.tools||[],i=t.temperature,l=t.top_p,{history:a,currentMessage:u}=function(e,t,n){let o=[],s=null,r=[],i=[],l=[],a=null,u=()=>{if("user"===a){let e={userInputMessage:{content:r.join("\n\n").trim()||"continue",modelId:""}};l.length>0&&(e.userInputMessage.userInputMessageContext={toolResults:l}),t&&t.length>0&&0===o.length&&(e.userInputMessage.userInputMessageContext||(e.userInputMessage.userInputMessageContext={}),e.userInputMessage.userInputMessageContext.tools=t.map(e=>{let t=e.function?.name||e.name,n=e.function?.description||e.description||"";return n.trim()||(n=`Tool: ${t}`),{toolSpecification:{name:t,description:n,inputSchema:{json:e.function?.parameters||e.parameters||e.input_schema||{}}}}})),o.push(e),s=e,r=[],l=[]}else if("assistant"===a){let e=i.join("\n\n").trim()||"...";o.push({assistantResponseMessage:{content:e}}),i=[]}};for(let t=0;t<e.length;t++){let n=e[t],s=n.role;if(("system"===s||"tool"===s)&&(s="user"),s!==a&&null!==a&&u(),a=s,"user"===s){let e="";if("string"==typeof n.content)e=n.content;else if(Array.isArray(n.content)){e=n.content.filter(e=>"text"===e.type||e.text).map(e=>e.text||"").join("\n");let t=n.content.filter(e=>"tool_result"===e.type);t.length>0&&t.forEach(e=>{let t=Array.isArray(e.content)?e.content.map(e=>e.text||"").join("\n"):"string"==typeof e.content?e.content:"";l.push({toolUseId:e.tool_use_id,status:"success",content:[{text:t}]})})}if("tool"===n.role){let e="string"==typeof n.content?n.content:"";l.push({toolUseId:n.tool_call_id,status:"success",content:[{text:e}]})}else e&&r.push(e)}else if("assistant"===s){let e="",t=[];if(Array.isArray(n.content)?(e=n.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n").trim(),t=n.content.filter(e=>"tool_use"===e.type)):"string"==typeof n.content&&(e=n.content.trim()),n.tool_calls&&n.tool_calls.length>0&&(t=n.tool_calls),e&&i.push(e),t.length>0){i.length,u();let e=o[o.length-1];e?.assistantResponseMessage&&(e.assistantResponseMessage.toolUses=t.map(e=>e.function?{toolUseId:e.id||(0,P.v4)(),name:e.function.name,input:"string"==typeof e.function.arguments?JSON.parse(e.function.arguments):e.function.arguments||{}}:{toolUseId:e.id||(0,P.v4)(),name:e.name,input:e.input||{}})),a=null}}}null!==a&&u(),o.length>0&&o[o.length-1].userInputMessage&&(s=o.pop());let c=o[0];return c?.userInputMessage?.userInputMessageContext?.tools&&!s?.userInputMessage?.userInputMessageContext?.tools&&(s.userInputMessage.userInputMessageContext||(s.userInputMessage.userInputMessageContext={}),s.userInputMessage.userInputMessageContext.tools=c.userInputMessage.userInputMessageContext.tools),o.forEach(e=>{e.userInputMessage?.userInputMessageContext?.tools&&delete e.userInputMessage.userInputMessageContext.tools,e.userInputMessage?.userInputMessageContext&&0===Object.keys(e.userInputMessage.userInputMessageContext).length&&delete e.userInputMessage.userInputMessageContext,e.userInputMessage&&!e.userInputMessage.modelId&&(e.userInputMessage.modelId=n)}),{history:o,currentMessage:s}}(s,r,e),c=o?.providerSpecificData?.profileArn||"",p=u?.userInputMessage?.content||"",f=new Date().toISOString();p=`[Context: Current time is ${f}]
10
10
 
11
11
  ${p}`;let d={conversationState:{chatTriggerType:"MANUAL",conversationId:(0,P.v4)(),currentMessage:{userInputMessage:{content:p,modelId:e,origin:"AI_EDITOR",...u?.userInputMessage?.userInputMessageContext&&{userInputMessageContext:u.userInputMessage.userInputMessageContext}}},history:a}};return c&&(d.profileArn=c),d.inferenceConfig={},d.inferenceConfig.maxTokens=32e3,void 0!==i&&(d.inferenceConfig.temperature=i),void 0!==l&&(d.inferenceConfig.topP=l),d},null),f(t.FORMATS.OPENAI,t.FORMATS.CURSOR,function(e,t,n,o){let s=function(e){let t=[],n=new Map,o=(e,t)=>{if(!e)return;let o=t||"tool";n.set(e,{name:o});let s=B(e);s&&s!==e&&n.set(s,{name:o})};for(let t of e){if("assistant"===t.role&&t.tool_calls)for(let e of t.tool_calls)o(e.id||"",e.function?.name||"tool");if("assistant"===t.role&&Array.isArray(t.content))for(let e of t.content)e?.type==="tool_use"&&o(e.id||"",e.name||"tool")}for(let o=0;o<e.length;o++){let s=e[o];if("system"===s.role){t.push({role:"user",content:`[System Instructions]
12
- ${q(s.content)}`});continue}if("tool"===s.role){let e=q(s.content),o=s.tool_call_id||"",r=n.get(o)||{},i=s.name||r.name||"tool";t.push({role:"user",content:U(i,o,e)});continue}if("user"===s.role||"assistant"===s.role){if("user"===s.role&&Array.isArray(s.content)){let e=[];for(let t of s.content)if(t&&"object"==typeof t){if("text"===t.type){"string"==typeof t.text&&e.push(t.text||"");continue}if("tool_result"===t.type){let o=t.tool_use_id||"",s=n.get(o)||n.get(B(o)),r=s?.name||"tool",i=q(t.content);e.push(U(r,o,i))}}let o=e.filter(Boolean).join("\n");o&&t.push({role:"user",content:o});continue}let e=q(s.content);if("assistant"===s.role&&s.tool_calls&&s.tool_calls.length>0){let n={role:"assistant",content:e||""};n.tool_calls=s.tool_calls.map(e=>{let{index:t,...n}=e||{};return n}),t.push(n)}else if("assistant"===s.role&&Array.isArray(s.content)){let n=s.content.filter(e=>e?.type==="tool_use").map(e=>({id:e.id||"",type:"function",function:{name:e.name||"tool",arguments:JSON.stringify(e.input||{})}})).filter(e=>e.id);n.length>0?t.push({role:"assistant",content:e||"",tool_calls:n}):e&&t.push({role:"assistant",content:e})}else e&&t.push({role:s.role,content:e})}}return t}(t.messages||[]);return{...t,messages:s}},null),f(t.FORMATS.CLAUDE,t.FORMATS.GEMINI,function(e,t,n){let o={model:e,contents:[],generationConfig:{},safetySettings:I};if(void 0!==t.temperature&&(o.generationConfig.temperature=t.temperature),void 0!==t.top_p&&(o.generationConfig.topP=t.top_p),void 0!==t.top_k&&(o.generationConfig.topK=t.top_k),void 0!==t.max_tokens&&(o.generationConfig.maxOutputTokens=t.max_tokens),t.system){let e;(e=Array.isArray(t.system)?t.system.map(e=>e.text||"").join("\n"):String(t.system))&&(o.systemInstruction={role:"user",parts:[{text:e}]})}let s={};if(t.messages&&Array.isArray(t.messages)){for(let e of t.messages)if("assistant"===e.role&&Array.isArray(e.content))for(let t of e.content)"tool_use"===t.type&&t.id&&t.name&&(s[t.id]=t.name)}if(t.messages&&Array.isArray(t.messages))for(let e of t.messages){let t=[];if(Array.isArray(e.content))for(let n of e.content)switch(n.type){case"text":n.text&&t.push({text:n.text});break;case"thinking":n.thinking&&(t.push({thought:!0,text:n.thinking}),t.push({thoughtSignature:l,text:""}));break;case"tool_use":t.push({thoughtSignature:l,functionCall:{id:n.id,name:n.name,args:n.input||{}}});break;case"tool_result":{let e=n.content;Array.isArray(e)&&(e=e.map(e=>"text"===e.type?e.text:JSON.stringify(e)).join("\n"));let o=S(e);null===o?o={result:e}:"object"!=typeof o&&(o={result:o}),t.push({functionResponse:{id:n.tool_use_id,name:s[n.tool_use_id]||"unknown",response:{result:o}}});break}case"image":n.source?.type==="base64"&&t.push({inlineData:{mimeType:n.source.media_type,data:n.source.data}})}else"string"==typeof e.content&&e.content&&t.push({text:e.content});if(t.length>0){let n="assistant"===e.role?"model":"user";o.contents.push({role:n,parts:t})}}if(t.tools&&Array.isArray(t.tools)&&t.tools.length>0){let e=[];for(let n of t.tools)n.name&&e.push({name:n.name,description:n.description||"",parameters:n.input_schema||{type:"object",properties:{}}});e.length>0&&(o.tools=[{functionDeclarations:e}])}return t.thinking?.type==="enabled"&&t.thinking.budget_tokens&&(o.generationConfig.thinkingConfig={thinkingBudget:t.thinking.budget_tokens,include_thoughts:!0}),o},null),f(t.FORMATS.CLAUDE,t.FORMATS.OPENAI,null,function(e,t){if(!e)return null;let n=[];switch(e.type){case"message_start":t.messageId=e.message?.id||`msg_${Date.now()}`,t.model=e.message?.model,t.toolCallIndex=0,n.push(J(t,{role:"assistant"}));break;case"content_block_start":{let o=e.content_block;if(o?.type==="text")t.textBlockStarted=!0;else if(o?.type==="thinking")t.inThinkingBlock=!0,t.currentBlockIndex=e.index,n.push(J(t,{reasoning_content:""}));else if(o?.type==="tool_use"){let s=t.toolCallIndex++,r=t.toolNameMap?.get(o.name)||o.name,i={index:s,id:o.id,type:"function",function:{name:r,arguments:""}};t.toolCalls.set(e.index,i),n.push(J(t,{tool_calls:[i]}))}break}case"content_block_delta":{let o=e.delta;if(o?.type==="text_delta"&&o.text)n.push(J(t,{content:o.text}));else if(o?.type==="thinking_delta"&&o.thinking)n.push(J(t,{reasoning_content:o.thinking}));else if(o?.type==="input_json_delta"&&o.partial_json){let s=t.toolCalls.get(e.index);s&&(s.function.arguments+=o.partial_json,n.push(J(t,{tool_calls:[{index:s.index,id:s.id,function:{arguments:o.partial_json}}]})))}break}case"content_block_stop":t.inThinkingBlock&&e.index===t.currentBlockIndex&&(t.inThinkingBlock=!1),t.textBlockStarted=!1,t.thinkingBlockStarted=!1;break;case"message_delta":if(e.usage&&"object"==typeof e.usage){let n="number"==typeof e.usage.input_tokens?e.usage.input_tokens:0,o="number"==typeof e.usage.output_tokens?e.usage.output_tokens:0,s="number"==typeof e.usage.cache_read_input_tokens?e.usage.cache_read_input_tokens:0,r="number"==typeof e.usage.cache_creation_input_tokens?e.usage.cache_creation_input_tokens:0;t.usage={prompt_tokens:n,completion_tokens:o,input_tokens:n,output_tokens:o},s>0&&(t.usage.cache_read_input_tokens=s),r>0&&(t.usage.cache_creation_input_tokens=r)}if(e.delta?.stop_reason){t.finishReason=function(e){switch(e){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(e.delta.stop_reason);let o={id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:t.finishReason}]};if(t.usage&&"object"==typeof t.usage){let e=t.usage.input_tokens||0,n=t.usage.output_tokens||0,s=t.usage.cache_read_input_tokens||0,r=t.usage.cache_creation_input_tokens||0,i=e+s+r;o.usage={prompt_tokens:i,completion_tokens:n,total_tokens:i+n},(s>0||r>0)&&(o.usage.prompt_tokens_details={},s>0&&(o.usage.prompt_tokens_details.cached_tokens=s),r>0&&(o.usage.prompt_tokens_details.cache_creation_tokens=r))}n.push(o),t.finishReasonSent=!0}break;case"message_stop":if(!t.finishReasonSent){let e=t.finishReason||(t.toolCalls?.size>0?"tool_calls":"stop"),o=t.usage&&"object"==typeof t.usage?{usage:{prompt_tokens:t.usage.input_tokens||0,completion_tokens:t.usage.output_tokens||0,total_tokens:(t.usage.input_tokens||0)+(t.usage.output_tokens||0)}}:{};n.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:e}],...o}),t.finishReasonSent=!0}}return n.length>0?n:null}),f(t.FORMATS.OPENAI,t.FORMATS.CLAUDE,null,function(e,t){if(!e||!e.choices?.[0])return null;let n=[],o=e.choices[0],s=o.delta;if(e.usage&&"object"==typeof e.usage){let n="number"==typeof e.usage.prompt_tokens?e.usage.prompt_tokens:0,o="number"==typeof e.usage.completion_tokens?e.usage.completion_tokens:0,s=e.usage.prompt_tokens_details?.cached_tokens,r=e.usage.prompt_tokens_details?.cache_creation_tokens,i="number"==typeof s?s:0,l="number"==typeof r?r:0;t.usage={input_tokens:n-i-l,output_tokens:o},i>0&&(t.usage.cache_read_input_tokens=i),l>0&&(t.usage.cache_creation_input_tokens=l)}t.messageStartSent||(t.messageStartSent=!0,t.messageId=e.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!t.messageId||"chat"===t.messageId||t.messageId.length<8)&&(t.messageId=e.extend_fields?.requestId||e.extend_fields?.traceId||`msg_${Date.now()}`),t.model=e.model||"unknown",t.nextBlockIndex=0,n.push({type:"message_start",message:{id:t.messageId,type:"message",role:"assistant",model:t.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let r=s?.reasoning_content||s?.reasoning;if(r&&(Y(t,n),t.thinkingBlockStarted||(t.thinkingBlockIndex=t.nextBlockIndex++,t.thinkingBlockStarted=!0,n.push({type:"content_block_start",index:t.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),n.push({type:"content_block_delta",index:t.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:r}})),s?.content&&(L(t,n),t.textBlockStarted||(t.textBlockIndex=t.nextBlockIndex++,t.textBlockStarted=!0,t.textBlockClosed=!1,n.push({type:"content_block_start",index:t.textBlockIndex,content_block:{type:"text",text:""}})),n.push({type:"content_block_delta",index:t.textBlockIndex,delta:{type:"text_delta",text:s.content}})),s?.tool_calls)for(let e of s.tool_calls){let o=e.index??0;if(e.id){L(t,n),Y(t,n);let s=t.nextBlockIndex++;t.toolCalls.set(o,{id:e.id,name:e.function?.name||"",blockIndex:s});let r=e.function?.name||"";r.startsWith(y)&&(r=r.slice(y.length)),n.push({type:"content_block_start",index:s,content_block:{type:"tool_use",id:e.id,name:r,input:{}}})}if(e.function?.arguments){let s=t.toolCalls.get(o);s&&n.push({type:"content_block_delta",index:s.blockIndex,delta:{type:"input_json_delta",partial_json:e.function.arguments}})}}if(o.finish_reason){for(let[,e]of(L(t,n),Y(t,n),t.toolCalls))n.push({type:"content_block_stop",index:e.blockIndex});t.finishReason=o.finish_reason;let e=t.usage||{input_tokens:0,output_tokens:0};n.push({type:"message_delta",delta:{stop_reason:function(e){switch(e){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(o.finish_reason)},usage:e}),n.push({type:"message_stop"})}return n.length>0?n:null}),f(t.FORMATS.GEMINI,t.FORMATS.OPENAI,null,K),f(t.FORMATS.GEMINI_CLI,t.FORMATS.OPENAI,null,K),f(t.FORMATS.ANTIGRAVITY,t.FORMATS.OPENAI,null,K),f(t.FORMATS.GEMINI,t.FORMATS.CLAUDE,null,G),f(t.FORMATS.GEMINI_CLI,t.FORMATS.CLAUDE,null,G),f(t.FORMATS.ANTIGRAVITY,t.FORMATS.CLAUDE,null,G),f(t.FORMATS.OPENAI,t.FORMATS.ANTIGRAVITY,null,function(e,t){if(!e)return null;let n=e.choices?.[0];if(!n)return e.usage&&(t._usage=e.usage),null;let o=n.delta||{},s=n.finish_reason;t._toolCallAccum||(t._toolCallAccum={}),t._responseId||(t._responseId=e.id||`resp_${Date.now()}`),t._modelVersion||(t._modelVersion=e.model||"");let r=[];if(o.reasoning_content&&r.push({thought:!0,text:o.reasoning_content}),o.content&&r.push({text:o.content}),o.tool_calls){for(let e of o.tool_calls){let n=e.index??0;t._toolCallAccum[n]||(t._toolCallAccum[n]={id:"",name:"",arguments:""});let o=t._toolCallAccum[n];e.id&&(o.id=e.id),e.function?.name&&(o.name+=e.function.name),e.function?.arguments&&(o.arguments+=e.function.arguments)}if(0===r.length&&!s)return null}if(s)for(let e of Object.keys(t._toolCallAccum)){let n=t._toolCallAccum[e],o={};try{o=JSON.parse(n.arguments)}catch{}r.push({functionCall:{name:n.name,args:o}})}if(0===r.length&&!s)return null;0===r.length&&s&&r.push({text:""});let i={content:{role:"model",parts:r}};s&&(i.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[s]||"STOP");let l={candidates:[i],modelVersion:t._modelVersion,responseId:t._responseId},a=e.usage||t._usage;return a&&(l.usageMetadata={promptTokenCount:a.prompt_tokens||0,candidatesTokenCount:a.completion_tokens||0,totalTokenCount:a.total_tokens||0},a.completion_tokens_details?.reasoning_tokens&&(l.usageMetadata.thoughtsTokenCount=a.completion_tokens_details.reasoning_tokens),a.prompt_tokens_details?.cached_tokens&&(l.usageMetadata.cachedContentTokenCount=a.prompt_tokens_details.cached_tokens)),{response:l}}),f(t.FORMATS.OPENAI,t.FORMATS.OPENAI_RESPONSES,null,function(e,t){if(!e){var n=t;if(n.completedSent)return[];let e=[],o=(t,o)=>{o.sequence_number=++n.seq,e.push({event:t,data:o})};for(let e in n.msgItemAdded)H(n,o,e);for(let e in V(n,o),n.funcCallIds)z(n,o,e);return Q(n,o),e}if(!e.choices?.length)return[];let o=[],s=(e,n)=>{n.sequence_number=++t.seq,o.push({event:e,data:n})},r=e.choices[0],i=r.index||0,l=r.delta||{};if(t.started||(t.started=!0,t.responseId=e.id?`resp_${e.id}`:t.responseId,s("response.created",{type:"response.created",response:{id:t.responseId,object:"response",created_at:t.created,status:"in_progress",background:!1,error:null,output:[]}}),s("response.in_progress",{type:"response.in_progress",response:{id:t.responseId,object:"response",created_at:t.created,status:"in_progress"}})),l.reasoning_content&&(W(t,s,i),Z(t,s,l.reasoning_content)),l.content){let e=l.content;if(e.includes("<think>")&&(t.inThinking=!0,e=e.replace("<think>",""),W(t,s,i)),e.includes("</think>")){let n=e.split("</think>"),o=n[0],r=n.slice(1).join("</think>");o&&Z(t,s,o),V(t,s),t.inThinking=!1,e=r}if(t.inThinking&&e)return Z(t,s,e),o;e&&function(e,t,n,o){if(!e.msgItemAdded[n]){e.msgItemAdded[n]=!0;let o=`msg_${e.responseId}_${n}`;t("response.output_item.added",{type:"response.output_item.added",output_index:n,item:{id:o,type:"message",content:[],role:"assistant"}})}e.msgContentAdded[n]||(e.msgContentAdded[n]=!0,t("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${e.responseId}_${n}`,output_index:n,content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:""}})),t("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${e.responseId}_${n}`,output_index:n,content_index:0,delta:o,logprobs:[]}),e.msgTextBuf[n]||(e.msgTextBuf[n]=""),e.msgTextBuf[n]+=o}(t,s,i,e)}if(l.tool_calls)for(let e of(H(t,s,i),l.tool_calls))!function(e,t,n){let o=n.index??0,s=n.id,r=n.function?.name;if(r&&(e.funcNames[o]=r),!e.funcCallIds[o]&&s&&(e.funcCallIds[o]=s,t("response.output_item.added",{type:"response.output_item.added",output_index:o,item:{id:`fc_${s}`,type:"function_call",arguments:"",call_id:s,name:e.funcNames[o]||""}})),e.funcArgsBuf[o]||(e.funcArgsBuf[o]=""),n.function?.arguments){let r=e.funcCallIds[o]||s;r&&t("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:`fc_${r}`,output_index:o,delta:n.function.arguments}),e.funcArgsBuf[o]+=n.function.arguments}}(t,s,e);if(r.finish_reason){for(let e in t.msgItemAdded)H(t,s,e);for(let e in V(t,s),t.funcCallIds)z(t,s,e);Q(t,s)}return o}),f(t.FORMATS.OPENAI_RESPONSES,t.FORMATS.OPENAI,null,function(e,t){if(!e){if(!t.finishReasonSent&&t.started){t.finishReasonSent=!0;let e=(t.toolCallIndex||0)>0;return{id:t.chatId||`chatcmpl-${Date.now()}`,object:"chat.completion.chunk",created:t.created||Math.floor(Date.now()/1e3),model:t.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:e?"tool_calls":"stop"}]}}return null}let n=e.type||e.event,o=e.data||e;if(t.started||(t.started=!0,t.chatId=`chatcmpl-${Date.now()}`,t.created=Math.floor(Date.now()/1e3),t.toolCallIndex=0,t.currentToolCallId=null),"response.output_text.delta"===n){let e=o.delta||"";return e?{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{content:e},finish_reason:null}]}:null}if("response.output_text.done"===n)return null;if("response.output_item.added"===n&&o.item?.type==="function_call"){let e=o.item;return t.currentToolCallId=e.call_id||`call_${Date.now()}`,{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:t.toolCallIndex,id:t.currentToolCallId,type:"function",function:{name:e.name||"",arguments:""}}]},finish_reason:null}]}}if("response.function_call_arguments.delta"===n){let e=o.delta||"";return e?{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:t.toolCallIndex,id:t.currentToolCallId,type:"function",function:{arguments:e}}]},finish_reason:null}]}:null}if("response.output_item.done"===n&&o.item?.type==="function_call")return t.toolCallIndex++,null;if("response.completed"===n){let e=o.response?.usage;if(e&&"object"==typeof e){let n=e.input_tokens||e.prompt_tokens||0,o=e.output_tokens||e.completion_tokens||0,s=e.cache_read_input_tokens||0,r=e.cache_creation_input_tokens||0,i=n+s+r;t.usage={prompt_tokens:i,completion_tokens:o,total_tokens:i+o},(s>0||r>0)&&(t.usage.prompt_tokens_details={},s>0&&(t.usage.prompt_tokens_details.cached_tokens=s),r>0&&(t.usage.prompt_tokens_details.cache_creation_tokens=r))}if(!t.finishReasonSent){t.finishReasonSent=!0;let e=(t.toolCallIndex||0)>0?"tool_calls":"stop";t.finishReason=e;let n={id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:e}]};return t.usage&&"object"==typeof t.usage&&(n.usage=t.usage),n}}return null}),f(t.FORMATS.KIRO,t.FORMATS.OPENAI,null,function(e,t){if(!e)return null;if("chat.completion.chunk"===e.object&&e.choices)return e;let n=e;if("string"==typeof e){let t=e.split("\n"),o="",s="";for(let e of t)e.startsWith("event:")?o=e.slice(6).trim():e.startsWith(":event-type:")?o=e.slice(12).trim():e.startsWith("data:")?s=e.slice(5).trim():e.startsWith(":content-type:")||e.trim()&&!e.startsWith(":")&&(s=e.trim());if(!s)return null;try{(n=JSON.parse(s))._eventType=o}catch{n={text:s,_eventType:o}}}t.responseId||(t.responseId=`chatcmpl-${Date.now()}`,t.created=Math.floor(Date.now()/1e3),t.chunkIndex=0);let o=n._eventType||n.event||"";if("assistantResponseEvent"===o||n.assistantResponseEvent){let e=n.assistantResponseEvent?.content||n.content||"";if(!e)return null;let o={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},content:e},finish_reason:null}]};return t.chunkIndex++,o}if("reasoningContentEvent"===o||n.reasoningContentEvent){let e=n.reasoningContentEvent?.content||n.content||"";if(!e)return null;let o={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},content:`<thinking>${e}</thinking>`},finish_reason:null}]};return t.chunkIndex++,o}if("toolUseEvent"===o||n.toolUseEvent){let e=n.toolUseEvent||n,o=e.toolUseId||`call_${Date.now()}`,s=e.name||"",r=e.input||{},i={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:o,type:"function",function:{name:s,arguments:JSON.stringify(r)}}]},finish_reason:null}]};return t.chunkIndex++,i}if("messageStopEvent"===o||"done"===o||n.messageStopEvent){t.finishReason="stop";let e={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return t.usage&&"object"==typeof t.usage&&(e.usage=t.usage),e}if("usageEvent"===o||n.usageEvent){let e=n.usageEvent||n;e&&"object"==typeof e&&(t.usage={prompt_tokens:e.inputTokens||0,completion_tokens:e.outputTokens||0,total_tokens:(e.inputTokens||0)+(e.outputTokens||0)})}return null}),f(t.FORMATS.CURSOR,t.FORMATS.OPENAI,null,function(e,t){return e?("chat.completion.chunk"===e.object&&e.choices||"chat.completion"===e.object&&e.choices,e):null});var ee=e.i(85713),et=e.i(384094);let en=new Set([]),eo=["glm-","ernie-"];function es(e){return"string"==typeof e?e:Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e&&"type"in e&&"text"===e.type).map(e=>"string"==typeof e.text?e.text:"").join("\n"):""}function er(e){return"string"==typeof e?{type:"message",role:"user",content:[{type:"input_text",text:e}]}:e&&"object"==typeof e?e.type||e.role?e.type?e:{type:"message",...e}:"string"==typeof e.text?{type:"message",role:"user",content:[{type:"input_text",text:e.text}]}:e:e}function ei(e,n,o,l,u=!0,c=null,p=null,f=null,m){let g=l,_=m?.normalizeToolCallId===!0;if(g=(0,et.applyThinkingBudget)(g),(0,ee.normalizeThinkingConfig)(g),s(g,{use9CharId:_}),r(g),g.messages&&Array.isArray(g.messages)&&(g.messages=function(e,t,n,o){if(!Array.isArray(e))return e;let s=Array.isArray(e)&&"openai"!==o?e.map(e=>"developer"===e.role?{...e,role:"system"}:e):e;return function(e,t,n){if(!Array.isArray(e)||0===e.length||function(e,t){if(en.has(e))return!1;let n=(t||"").toLowerCase();for(let e of eo)if(n.startsWith(e))return!1;return!0}(t,n))return e;let o=e.filter(e=>"system"===e.role||"developer"===e.role);if(0===o.length)return e;let s=o.map(e=>es(e.content)).filter(Boolean).join("\n\n");if(!s)return e.filter(e=>"system"!==e.role&&"developer"!==e.role);let r=e.filter(e=>"system"!==e.role&&"developer"!==e.role),i=r.findIndex(e=>"user"===e.role);if(i>=0){let e=r[i],t=es(e.content);r[i]={...e,content:`[System Instructions]
12
+ ${q(s.content)}`});continue}if("tool"===s.role){let e=q(s.content),o=s.tool_call_id||"",r=n.get(o)||{},i=s.name||r.name||"tool";t.push({role:"user",content:U(i,o,e)});continue}if("user"===s.role||"assistant"===s.role){if("user"===s.role&&Array.isArray(s.content)){let e=[];for(let t of s.content)if(t&&"object"==typeof t){if("text"===t.type){"string"==typeof t.text&&e.push(t.text||"");continue}if("tool_result"===t.type){let o=t.tool_use_id||"",s=n.get(o)||n.get(B(o)),r=s?.name||"tool",i=q(t.content);e.push(U(r,o,i))}}let o=e.filter(Boolean).join("\n");o&&t.push({role:"user",content:o});continue}let e=q(s.content);if("assistant"===s.role&&s.tool_calls&&s.tool_calls.length>0){let n={role:"assistant",content:e||""};n.tool_calls=s.tool_calls.map(e=>{let{index:t,...n}=e||{};return n}),t.push(n)}else if("assistant"===s.role&&Array.isArray(s.content)){let n=s.content.filter(e=>e?.type==="tool_use").map(e=>({id:e.id||"",type:"function",function:{name:e.name||"tool",arguments:JSON.stringify(e.input||{})}})).filter(e=>e.id);n.length>0?t.push({role:"assistant",content:e||"",tool_calls:n}):e&&t.push({role:"assistant",content:e})}else e&&t.push({role:s.role,content:e})}}return t}(t.messages||[]);return{...t,messages:s}},null),f(t.FORMATS.CLAUDE,t.FORMATS.GEMINI,function(e,t,n){let o={model:e,contents:[],generationConfig:{},safetySettings:I};if(void 0!==t.temperature&&(o.generationConfig.temperature=t.temperature),void 0!==t.top_p&&(o.generationConfig.topP=t.top_p),void 0!==t.top_k&&(o.generationConfig.topK=t.top_k),void 0!==t.max_tokens&&(o.generationConfig.maxOutputTokens=t.max_tokens),t.system){let e;(e=Array.isArray(t.system)?t.system.map(e=>e.text||"").join("\n"):String(t.system))&&(o.systemInstruction={role:"user",parts:[{text:e}]})}let s={};if(t.messages&&Array.isArray(t.messages)){for(let e of t.messages)if("assistant"===e.role&&Array.isArray(e.content))for(let t of e.content)"tool_use"===t.type&&t.id&&t.name&&(s[t.id]=t.name)}if(t.messages&&Array.isArray(t.messages))for(let e of t.messages){let t=[];if(Array.isArray(e.content))for(let n of e.content)switch(n.type){case"text":n.text&&t.push({text:n.text});break;case"thinking":n.thinking&&(t.push({thought:!0,text:n.thinking}),t.push({thoughtSignature:l,text:""}));break;case"tool_use":t.push({thoughtSignature:l,functionCall:{id:n.id,name:n.name,args:n.input||{}}});break;case"tool_result":{let e=n.content;Array.isArray(e)&&(e=e.map(e=>"text"===e.type?e.text:JSON.stringify(e)).join("\n"));let o=S(e);null===o?o={result:e}:"object"!=typeof o&&(o={result:o}),t.push({functionResponse:{id:n.tool_use_id,name:s[n.tool_use_id]||"unknown",response:{result:o}}});break}case"image":n.source?.type==="base64"&&t.push({inlineData:{mimeType:n.source.media_type,data:n.source.data}})}else"string"==typeof e.content&&e.content&&t.push({text:e.content});if(t.length>0){let n="assistant"===e.role?"model":"user";o.contents.push({role:n,parts:t})}}if(t.tools&&Array.isArray(t.tools)&&t.tools.length>0){let e=[];for(let n of t.tools)n.name&&e.push({name:n.name,description:n.description||"",parameters:n.input_schema||{type:"object",properties:{}}});e.length>0&&(o.tools=[{functionDeclarations:e}])}return t.thinking?.type==="enabled"&&t.thinking.budget_tokens&&(o.generationConfig.thinkingConfig={thinkingBudget:t.thinking.budget_tokens,include_thoughts:!0}),o},null),f(t.FORMATS.CLAUDE,t.FORMATS.OPENAI,null,function(e,t){if(!e)return null;let n=[];switch(e.type){case"message_start":t.messageId=e.message?.id||`msg_${Date.now()}`,t.model=e.message?.model,t.toolCallIndex=0,n.push(J(t,{role:"assistant"}));break;case"content_block_start":{let o=e.content_block;if(o?.type==="text")t.textBlockStarted=!0;else if(o?.type==="thinking")t.inThinkingBlock=!0,t.currentBlockIndex=e.index,n.push(J(t,{reasoning_content:""}));else if(o?.type==="tool_use"){let s=t.toolCallIndex++,r=t.toolNameMap?.get(o.name)||o.name,i={index:s,id:o.id,type:"function",function:{name:r,arguments:""}};t.toolCalls.set(e.index,i),n.push(J(t,{tool_calls:[i]}))}break}case"content_block_delta":{let o=e.delta;if(o?.type==="text_delta"&&o.text)n.push(J(t,{content:o.text}));else if(o?.type==="thinking_delta"&&o.thinking)n.push(J(t,{reasoning_content:o.thinking}));else if(o?.type==="input_json_delta"&&o.partial_json){let s=t.toolCalls.get(e.index);s&&(s.function.arguments+=o.partial_json,n.push(J(t,{tool_calls:[{index:s.index,id:s.id,function:{arguments:o.partial_json}}]})))}break}case"content_block_stop":t.inThinkingBlock&&e.index===t.currentBlockIndex&&(t.inThinkingBlock=!1),t.textBlockStarted=!1,t.thinkingBlockStarted=!1;break;case"message_delta":if(e.usage&&"object"==typeof e.usage){let n="number"==typeof e.usage.input_tokens?e.usage.input_tokens:0,o="number"==typeof e.usage.output_tokens?e.usage.output_tokens:0,s="number"==typeof e.usage.cache_read_input_tokens?e.usage.cache_read_input_tokens:0,r="number"==typeof e.usage.cache_creation_input_tokens?e.usage.cache_creation_input_tokens:0;t.usage={prompt_tokens:n,completion_tokens:o,input_tokens:n,output_tokens:o},s>0&&(t.usage.cache_read_input_tokens=s),r>0&&(t.usage.cache_creation_input_tokens=r)}if(e.delta?.stop_reason){t.finishReason=function(e){switch(e){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(e.delta.stop_reason);let o={id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:t.finishReason}]};if(t.usage&&"object"==typeof t.usage){let e=t.usage.input_tokens||0,n=t.usage.output_tokens||0,s=t.usage.cache_read_input_tokens||0,r=t.usage.cache_creation_input_tokens||0,i=e+s+r;o.usage={prompt_tokens:i,completion_tokens:n,total_tokens:i+n},(s>0||r>0)&&(o.usage.prompt_tokens_details={},s>0&&(o.usage.prompt_tokens_details.cached_tokens=s),r>0&&(o.usage.prompt_tokens_details.cache_creation_tokens=r))}n.push(o),t.finishReasonSent=!0}break;case"message_stop":if(!t.finishReasonSent){let e=t.finishReason||(t.toolCalls?.size>0?"tool_calls":"stop"),o=t.usage&&"object"==typeof t.usage?{usage:{prompt_tokens:t.usage.input_tokens||0,completion_tokens:t.usage.output_tokens||0,total_tokens:(t.usage.input_tokens||0)+(t.usage.output_tokens||0)}}:{};n.push({id:`chatcmpl-${t.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:t.model,choices:[{index:0,delta:{},finish_reason:e}],...o}),t.finishReasonSent=!0}}return n.length>0?n:null}),f(t.FORMATS.OPENAI,t.FORMATS.CLAUDE,null,function(e,t){if(!e||!e.choices?.[0])return null;let n=[],o=e.choices[0],s=o.delta;if(e.usage&&"object"==typeof e.usage){let n="number"==typeof e.usage.prompt_tokens?e.usage.prompt_tokens:0,o="number"==typeof e.usage.completion_tokens?e.usage.completion_tokens:0,s=e.usage.prompt_tokens_details?.cached_tokens,r=e.usage.prompt_tokens_details?.cache_creation_tokens,i="number"==typeof s?s:0,l="number"==typeof r?r:0;t.usage={input_tokens:n-i-l,output_tokens:o},i>0&&(t.usage.cache_read_input_tokens=i),l>0&&(t.usage.cache_creation_input_tokens=l)}t.messageStartSent||(t.messageStartSent=!0,t.messageId=e.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!t.messageId||"chat"===t.messageId||t.messageId.length<8)&&(t.messageId=e.extend_fields?.requestId||e.extend_fields?.traceId||`msg_${Date.now()}`),t.model=e.model||"unknown",t.nextBlockIndex=0,n.push({type:"message_start",message:{id:t.messageId,type:"message",role:"assistant",model:t.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let r=s?.reasoning_content||s?.reasoning;if(r&&(Y(t,n),t.thinkingBlockStarted||(t.thinkingBlockIndex=t.nextBlockIndex++,t.thinkingBlockStarted=!0,n.push({type:"content_block_start",index:t.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),n.push({type:"content_block_delta",index:t.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:r}})),s?.content&&(L(t,n),t.textBlockStarted||(t.textBlockIndex=t.nextBlockIndex++,t.textBlockStarted=!0,t.textBlockClosed=!1,n.push({type:"content_block_start",index:t.textBlockIndex,content_block:{type:"text",text:""}})),n.push({type:"content_block_delta",index:t.textBlockIndex,delta:{type:"text_delta",text:s.content}})),s?.tool_calls)for(let e of s.tool_calls){let o=e.index??0;if(e.id){L(t,n),Y(t,n);let s=t.nextBlockIndex++;t.toolCalls.set(o,{id:e.id,name:e.function?.name||"",blockIndex:s});let r=e.function?.name||"";r.startsWith(y)&&(r=r.slice(y.length)),n.push({type:"content_block_start",index:s,content_block:{type:"tool_use",id:e.id,name:r,input:{}}})}if(e.function?.arguments){let s=t.toolCalls.get(o);s&&n.push({type:"content_block_delta",index:s.blockIndex,delta:{type:"input_json_delta",partial_json:e.function.arguments}})}}if(o.finish_reason){for(let[,e]of(L(t,n),Y(t,n),t.toolCalls))n.push({type:"content_block_stop",index:e.blockIndex});t.finishReason=o.finish_reason;let e=t.usage||{input_tokens:0,output_tokens:0};n.push({type:"message_delta",delta:{stop_reason:function(e){switch(e){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(o.finish_reason)},usage:e}),n.push({type:"message_stop"})}return n.length>0?n:null}),f(t.FORMATS.GEMINI,t.FORMATS.OPENAI,null,K),f(t.FORMATS.GEMINI_CLI,t.FORMATS.OPENAI,null,K),f(t.FORMATS.ANTIGRAVITY,t.FORMATS.OPENAI,null,K),f(t.FORMATS.GEMINI,t.FORMATS.CLAUDE,null,G),f(t.FORMATS.GEMINI_CLI,t.FORMATS.CLAUDE,null,G),f(t.FORMATS.ANTIGRAVITY,t.FORMATS.CLAUDE,null,G),f(t.FORMATS.OPENAI,t.FORMATS.ANTIGRAVITY,null,function(e,t){if(!e)return null;let n=e.choices?.[0];if(!n)return e.usage&&(t._usage=e.usage),null;let o=n.delta||{},s=n.finish_reason;t._toolCallAccum||(t._toolCallAccum={}),t._responseId||(t._responseId=e.id||`resp_${Date.now()}`),t._modelVersion||(t._modelVersion=e.model||"");let r=[];if(o.reasoning_content&&r.push({thought:!0,text:o.reasoning_content}),o.content&&r.push({text:o.content}),o.tool_calls){for(let e of o.tool_calls){let n=e.index??0;t._toolCallAccum[n]||(t._toolCallAccum[n]={id:"",name:"",arguments:""});let o=t._toolCallAccum[n];e.id&&(o.id=e.id),e.function?.name&&(o.name+=e.function.name),e.function?.arguments&&(o.arguments+=e.function.arguments)}if(0===r.length&&!s)return null}if(s)for(let e of Object.keys(t._toolCallAccum)){let n=t._toolCallAccum[e],o={};try{o=JSON.parse(n.arguments)}catch{}r.push({functionCall:{name:n.name,args:o}})}if(0===r.length&&!s)return null;0===r.length&&s&&r.push({text:""});let i={content:{role:"model",parts:r}};s&&(i.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[s]||"STOP");let l={candidates:[i],modelVersion:t._modelVersion,responseId:t._responseId},a=e.usage||t._usage;return a&&(l.usageMetadata={promptTokenCount:a.prompt_tokens||0,candidatesTokenCount:a.completion_tokens||0,totalTokenCount:a.total_tokens||0},a.completion_tokens_details?.reasoning_tokens&&(l.usageMetadata.thoughtsTokenCount=a.completion_tokens_details.reasoning_tokens),a.prompt_tokens_details?.cached_tokens&&(l.usageMetadata.cachedContentTokenCount=a.prompt_tokens_details.cached_tokens)),{response:l}}),f(t.FORMATS.OPENAI,t.FORMATS.OPENAI_RESPONSES,null,function(e,t){if(!e){var n=t;if(n.completedSent)return[];let e=[],o=(t,o)=>{o.sequence_number=++n.seq,e.push({event:t,data:o})};for(let e in n.msgItemAdded)H(n,o,e);for(let e in V(n,o),n.funcCallIds)z(n,o,e);return Q(n,o),e}if(!e.choices?.length)return[];let o=[],s=(e,n)=>{n.sequence_number=++t.seq,o.push({event:e,data:n})},r=e.choices[0],i=r.index||0,l=r.delta||{};if(t.started||(t.started=!0,t.responseId=e.id?`resp_${e.id}`:t.responseId,s("response.created",{type:"response.created",response:{id:t.responseId,object:"response",created_at:t.created,status:"in_progress",background:!1,error:null,output:[]}}),s("response.in_progress",{type:"response.in_progress",response:{id:t.responseId,object:"response",created_at:t.created,status:"in_progress"}})),l.reasoning_content&&(W(t,s,i),Z(t,s,l.reasoning_content)),l.content){let e=l.content;if(e.includes("<think>")&&(t.inThinking=!0,e=e.replace("<think>",""),W(t,s,i)),e.includes("</think>")){let n=e.split("</think>"),o=n[0],r=n.slice(1).join("</think>");o&&Z(t,s,o),V(t,s),t.inThinking=!1,e=r}if(t.inThinking&&e)return Z(t,s,e),o;e&&function(e,t,n,o){if(!e.msgItemAdded[n]){e.msgItemAdded[n]=!0;let o=`msg_${e.responseId}_${n}`;t("response.output_item.added",{type:"response.output_item.added",output_index:n,item:{id:o,type:"message",content:[],role:"assistant"}})}e.msgContentAdded[n]||(e.msgContentAdded[n]=!0,t("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${e.responseId}_${n}`,output_index:n,content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:""}})),t("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${e.responseId}_${n}`,output_index:n,content_index:0,delta:o,logprobs:[]}),e.msgTextBuf[n]||(e.msgTextBuf[n]=""),e.msgTextBuf[n]+=o}(t,s,i,e)}if(l.tool_calls)for(let e of(H(t,s,i),l.tool_calls))!function(e,t,n){let o=n.index??0,s=n.id,r=n.function?.name;if(r&&(e.funcNames[o]=r),!e.funcCallIds[o]&&s&&(e.funcCallIds[o]=s,t("response.output_item.added",{type:"response.output_item.added",output_index:o,item:{id:`fc_${s}`,type:"function_call",arguments:"",call_id:s,name:e.funcNames[o]||""}})),e.funcArgsBuf[o]||(e.funcArgsBuf[o]=""),n.function?.arguments){let r=e.funcCallIds[o]||s;r&&t("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:`fc_${r}`,output_index:o,delta:n.function.arguments}),e.funcArgsBuf[o]+=n.function.arguments}}(t,s,e);if(r.finish_reason){for(let e in t.msgItemAdded)H(t,s,e);for(let e in V(t,s),t.funcCallIds)z(t,s,e);Q(t,s)}return o}),f(t.FORMATS.OPENAI_RESPONSES,t.FORMATS.OPENAI,null,function(e,t){if(!e){if(!t.finishReasonSent&&t.started){t.finishReasonSent=!0;let e=(t.toolCallIndex||0)>0;return{id:t.chatId||`chatcmpl-${Date.now()}`,object:"chat.completion.chunk",created:t.created||Math.floor(Date.now()/1e3),model:t.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:e?"tool_calls":"stop"}]}}return null}let n=e.type||e.event,o=e.data||e;if(t.started||(t.started=!0,t.chatId=`chatcmpl-${Date.now()}`,t.created=Math.floor(Date.now()/1e3),t.toolCallIndex=0,t.currentToolCallId=null),"response.output_text.delta"===n){let e=o.delta||"";return e?{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{content:e},finish_reason:null}]}:null}if("response.output_text.done"===n)return null;if("response.output_item.added"===n&&o.item?.type==="function_call"){let e=o.item;return t.currentToolCallId=e.call_id||`call_${Date.now()}`,{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:t.toolCallIndex,id:t.currentToolCallId,type:"function",function:{name:e.name||"",arguments:""}}]},finish_reason:null}]}}if("response.function_call_arguments.delta"===n){let e=o.delta||"";return e?{id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:t.toolCallIndex,id:t.currentToolCallId,type:"function",function:{arguments:e}}]},finish_reason:null}]}:null}if("response.output_item.done"===n&&o.item?.type==="function_call")return t.toolCallIndex++,null;if("response.completed"===n){let e=o.response?.usage;if(e&&"object"==typeof e){let n=e.input_tokens||e.prompt_tokens||0,o=e.output_tokens||e.completion_tokens||0,s=e.cache_read_input_tokens||0,r=e.cache_creation_input_tokens||0,i=n+s+r;t.usage={prompt_tokens:i,completion_tokens:o,total_tokens:i+o},(s>0||r>0)&&(t.usage.prompt_tokens_details={},s>0&&(t.usage.prompt_tokens_details.cached_tokens=s),r>0&&(t.usage.prompt_tokens_details.cache_creation_tokens=r))}if(!t.finishReasonSent){t.finishReasonSent=!0;let e=(t.toolCallIndex||0)>0?"tool_calls":"stop";t.finishReason=e;let n={id:t.chatId,object:"chat.completion.chunk",created:t.created,model:t.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:e}]};return t.usage&&"object"==typeof t.usage&&(n.usage=t.usage),n}}return null}),f(t.FORMATS.KIRO,t.FORMATS.OPENAI,null,function(e,t){if(!e)return null;if("chat.completion.chunk"===e.object&&e.choices)return e;let n=e;if("string"==typeof e){let t=e.split("\n"),o="",s="";for(let e of t)e.startsWith("event:")?o=e.slice(6).trim():e.startsWith(":event-type:")?o=e.slice(12).trim():e.startsWith("data:")?s=e.slice(5).trim():e.startsWith(":content-type:")||e.trim()&&!e.startsWith(":")&&(s=e.trim());if(!s)return null;try{(n=JSON.parse(s))._eventType=o}catch{n={text:s,_eventType:o}}}t.responseId||(t.responseId=`chatcmpl-${Date.now()}`,t.created=Math.floor(Date.now()/1e3),t.chunkIndex=0);let o=n._eventType||n.event||"";if("assistantResponseEvent"===o||n.assistantResponseEvent){let e=n.assistantResponseEvent?.content||n.content||"";if(!e)return null;let o={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},content:e},finish_reason:null}]};return t.chunkIndex++,o}if("reasoningContentEvent"===o||n.reasoningContentEvent){let e=n.reasoningContentEvent?.content||n.content||"";if(!e)return null;let o={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},content:`<thinking>${e}</thinking>`},finish_reason:null}]};return t.chunkIndex++,o}if("toolUseEvent"===o||n.toolUseEvent){let e=n.toolUseEvent||n,o=e.toolUseId||`call_${Date.now()}`,s=e.name||"",r=e.input||{},i={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{...0===t.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:o,type:"function",function:{name:s,arguments:JSON.stringify(r)}}]},finish_reason:null}]};return t.chunkIndex++,i}if("messageStopEvent"===o||"done"===o||n.messageStopEvent){t.finishReason="stop";let e={id:t.responseId,object:"chat.completion.chunk",created:t.created,model:t.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return t.usage&&"object"==typeof t.usage&&(e.usage=t.usage),e}if("usageEvent"===o||n.usageEvent){let e=n.usageEvent||n;e&&"object"==typeof e&&(t.usage={prompt_tokens:e.inputTokens||0,completion_tokens:e.outputTokens||0,total_tokens:(e.inputTokens||0)+(e.outputTokens||0)})}return null}),f(t.FORMATS.CURSOR,t.FORMATS.OPENAI,null,function(e,t){return e?("chat.completion.chunk"===e.object&&e.choices||"chat.completion"===e.object&&e.choices,e):null});var ee=e.i(85713),et=e.i(384094);let en=new Set([]),eo=["glm-","ernie-"];function es(e){return"string"==typeof e?e:Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e&&"type"in e&&"text"===e.type).map(e=>"string"==typeof e.text?e.text:"").join("\n"):""}function er(e,t,n,o,s){if(!Array.isArray(e))return e;let r=Array.isArray(e)&&("openai"!==o||!1===s)?e.map(e=>e&&"object"==typeof e&&"developer"===("string"==typeof e.role?e.role:"").toLowerCase()?{...e,role:"system"}:e):e;return function(e,t,n){if(!Array.isArray(e)||0===e.length||function(e,t){if(en.has(e))return!1;let n=(t||"").toLowerCase();for(let e of eo)if(n.startsWith(e))return!1;return!0}(t,n))return e;let o=e.filter(e=>"system"===e.role||"developer"===e.role);if(0===o.length)return e;let s=o.map(e=>es(e.content)).filter(Boolean).join("\n\n");if(!s)return e.filter(e=>"system"!==e.role&&"developer"!==e.role);let r=e.filter(e=>"system"!==e.role&&"developer"!==e.role),i=r.findIndex(e=>"user"===e.role);if(i>=0){let e=r[i],t=es(e.content);r[i]={...e,content:`[System Instructions]
13
13
  ${s}
14
14
 
15
15
  [User Message]
16
16
  ${t}`}}else r.unshift({role:"user",content:`[System Instructions]
17
- ${s}`});return r}(s,t,n)}(g.messages,p||"",o||"",n)),e!==n){let s=d(e,n);if(s&&e!==t.FORMATS.OPENAI&&n!==t.FORMATS.OPENAI)g=s(o,g,u,c);else{if(e!==t.FORMATS.OPENAI){let n=d(e,t.FORMATS.OPENAI);n&&(g=n(o,g,u,c),f?.logOpenAIRequest?.(g))}if(n!==t.FORMATS.OPENAI){let e=d(t.FORMATS.OPENAI,n);e&&(g=e(o,g,u,c))}}}return n===t.FORMATS.OPENAI&&(g=function(e){if(!e.messages||!Array.isArray(e.messages))return e;if(e.messages=e.messages.map(e=>{if("tool"===e.role||"assistant"===e.role&&e.tool_calls||"string"==typeof e.content)return e;if(Array.isArray(e.content)){let t=[],n=null;for(let o of e.content){if("thinking"===o.type){n=o.thinking||o.text||"";continue}if("redacted_thinking"!==o.type){if(a.includes(o.type)){let{signature:e,cache_control:n,...s}=o;t.push(s)}else if("tool_use"===o.type)continue;else if("tool_result"===o.type){let{signature:e,cache_control:n,...s}=o;t.push(s)}}}0===t.length&&t.push({type:"text",text:""});let o={...e,content:t};return n&&"assistant"===e.role&&(o.reasoning_content=n),o}return e}),e.messages=e.messages.filter(e=>"tool"===e.role||"assistant"===e.role&&!!e.tool_calls||("string"==typeof e.content?""!==e.content.trim():!Array.isArray(e.content)||e.content.some(e=>"text"===e.type&&e.text?.trim()||"text"!==e.type))),e.tools&&Array.isArray(e.tools)&&0===e.tools.length&&delete e.tools,delete e.metadata,delete e.anthropic_version,e.tools&&Array.isArray(e.tools)&&e.tools.length>0&&(e.tools=e.tools.map(e=>"function"===e.type&&e.function?e:e.name&&(e.input_schema||e.description)?{type:"function",function:{name:e.name,description:e.description||"",parameters:e.input_schema||{type:"object",properties:{}}}}:e.functionDeclarations&&Array.isArray(e.functionDeclarations)?e.functionDeclarations.map(e=>({type:"function",function:{name:e.name,description:e.description||"",parameters:e.parameters||{type:"object",properties:{}}}})):e).flat()),e.tool_choice&&"object"==typeof e.tool_choice){let t=e.tool_choice;"auto"===t.type?e.tool_choice="auto":"any"===t.type?e.tool_choice="required":"tool"===t.type&&t.name&&(e.tool_choice={type:"function",function:{name:t.name}})}return e}(g)),n===t.FORMATS.CLAUDE&&e!==t.FORMATS.CLAUDE&&(g=function(e,t=null){if(e.system&&Array.isArray(e.system)&&(e.system=e.system.map((t,n)=>{let{cache_control:o,...s}=t;return n===e.system.length-1?{...s,cache_control:{type:"ephemeral",ttl:"1h"}}:s})),e.messages&&Array.isArray(e.messages)){let n=e.messages.length,o=[];for(let t=0;t<n;t++){let s=e.messages[t];if(Array.isArray(s.content))for(let e of s.content)delete e.cache_control;(t===n-1&&"assistant"===s.role||"string"==typeof s.content&&s.content.trim()||Array.isArray(s.content)&&s.content.some(e=>"text"===e.type&&e.text?.trim()||"tool_use"===e.type||"tool_result"===e.type))&&o.push(s)}for(let e of o)Array.isArray(e.content)&&(e.content=e.content.filter(e=>"tool_use"!==e.type||e.name&&e.name?.trim()),e.content=e.content.filter(e=>"tool_result"!==e.type||e.tool_use_id));e.tools&&Array.isArray(e.tools)&&(e.tools=e.tools.filter(e=>e.name&&e.name?.trim())),e.messages=o=function(e){if(e.length<=1)return e;for(let t of e)if("assistant"===t.role&&Array.isArray(t.content)&&t.content.some(e=>"tool_use"===e.type)){let e=[],n=!1;for(let o of t.content)"tool_use"===o.type?(n=!0,e.push(o)):"thinking"===o.type||"redacted_thinking"===o.type?e.push(o):n||e.push(o);t.content=e}let t=[];for(let n of e){let e=t[t.length-1];if(e&&e.role===n.role){let t=Array.isArray(e.content)?e.content:[{type:"text",text:e.content}],o=Array.isArray(n.content)?n.content:[{type:"text",text:n.content}];e.content=[...t.filter(e=>"tool_result"===e.type),...o.filter(e=>"tool_result"===e.type),...t.filter(e=>"tool_result"!==e.type),...o.filter(e=>"tool_result"!==e.type)]}else{let e=Array.isArray(n.content)?n.content:[{type:"text",text:n.content}];t.push({role:n.role,content:[...e]})}}return t}(o);let s=o[o.length-1],r=s?.role==="user",l=e.thinking?.type==="enabled"&&r,a=!1;for(let e=o.length-1;e>=0;e--){let n=o[e];if("assistant"===n.role&&Array.isArray(n.content)&&(!a&&n.content.length>0&&(n.content[n.content.length-1].cache_control={type:"ephemeral"},a=!0),"claude"===t||t?.startsWith?.("anthropic-compatible-"))){let e=!1,t=!1;for(let o of n.content)("thinking"===o.type||"redacted_thinking"===o.type)&&(o.signature=i,t=!0),"tool_use"===o.type&&(e=!0);l&&!t&&e&&n.content.unshift({type:"thinking",thinking:".",signature:i})}}}if(e.tools&&Array.isArray(e.tools)){e.tools=e.tools.map(e=>{let{cache_control:t,...n}=e;return n});for(let t=e.tools.length-1;t>=0;t--)if(!e.tools[t].defer_loading){e.tools[t].cache_control={type:"ephemeral",ttl:"1h"};break}}return e}(g,p)),n===t.FORMATS.OPENAI_RESPONSES&&(g=function(e){if(!e||"object"!=typeof e)return e;let t={...e};return"string"==typeof t.input?t.input=[{type:"message",role:"user",content:[{type:"input_text",text:t.input}]}]:Array.isArray(t.input)?t.input=t.input.map(er):t.input&&"object"==typeof t.input&&(t.input=[er(t.input)]),t}(g)),s(g,{use9CharId:_}),r(g),g}function el(e,n,o,s){if(n===e)return[o];let r=[o],i=null,l=m(e,n);if(l&&e!==t.FORMATS.OPENAI&&n!==t.FORMATS.OPENAI){let e=l(o,s);return e?Array.isArray(e)?e:[e]:[]}if(e!==t.FORMATS.OPENAI){let n=m(e,t.FORMATS.OPENAI);if(n){r=[];let e=n(o,s);e&&(i=r=Array.isArray(e)?e:[e])}}if(n!==t.FORMATS.OPENAI){let e=m(t.FORMATS.OPENAI,n);if(e){let t=[];for(let n of r){let o=e(n,s);o&&t.push(...Array.isArray(o)?o:[o])}r=t}}return i&&n!==t.FORMATS.OPENAI&&e!==t.FORMATS.OPENAI&&(r._openaiIntermediate=i),r}function ea(e,t){return e!==t}function eu(e){let n={messageId:null,model:null,textBlockStarted:!1,thinkingBlockStarted:!1,inThinkingBlock:!1,currentBlockIndex:null,toolCalls:new Map,finishReason:null,finishReasonSent:!1,usage:null,contentBlockIndex:-1};return e===t.FORMATS.OPENAI_RESPONSES?{...n,seq:0,responseId:`resp_${Date.now()}`,created:Math.floor(Date.now()/1e3),started:!1,msgTextBuf:{},msgItemAdded:{},msgContentAdded:{},msgItemDone:{},reasoningId:"",reasoningIndex:-1,reasoningBuf:"",reasoningPartAdded:!1,reasoningDone:!1,inThinking:!1,funcArgsBuf:{},funcNames:{},funcCallIds:{},funcArgsDone:{},funcItemDone:{},completedSent:!1}:n}function ec(){X()}X(),e.s(["initState",()=>eu,"initTranslators",()=>ec,"needsTranslation",()=>ea,"translateRequest",()=>ei,"translateResponse",()=>el],352812)}];
17
+ ${s}`});return r}(r,t,n)}function ei(e){return"string"==typeof e?{type:"message",role:"user",content:[{type:"input_text",text:e}]}:e&&"object"==typeof e?e.type||e.role?e.type?e:{type:"message",...e}:"string"==typeof e.text?{type:"message",role:"user",content:[{type:"input_text",text:e.text}]}:e:e}function el(e,n,o,l,u=!0,c=null,p=null,f=null,m){let g=l,_=m?.normalizeToolCallId===!0,y=m?.preserveDeveloperRole;if(g=(0,et.applyThinkingBudget)(g),(0,ee.normalizeThinkingConfig)(g),s(g,{use9CharId:_}),r(g),g.messages&&Array.isArray(g.messages)&&(g.messages=er(g.messages,p||"",o||"",n,y)),e!==n){let s=d(e,n);if(s&&e!==t.FORMATS.OPENAI&&n!==t.FORMATS.OPENAI)g=s(o,g,u,c);else{if(e!==t.FORMATS.OPENAI){let n=d(e,t.FORMATS.OPENAI);n&&(g=n(o,g,u,c),f?.logOpenAIRequest?.(g))}if(n!==t.FORMATS.OPENAI){let e=d(t.FORMATS.OPENAI,n);e&&(g=e(o,g,u,c))}}}return n===t.FORMATS.OPENAI&&(g=function(e){if(!e.messages||!Array.isArray(e.messages))return e;if(e.messages=e.messages.map(e=>{if("tool"===e.role||"assistant"===e.role&&e.tool_calls||"string"==typeof e.content)return e;if(Array.isArray(e.content)){let t=[],n=null;for(let o of e.content){if("thinking"===o.type){n=o.thinking||o.text||"";continue}if("redacted_thinking"!==o.type){if(a.includes(o.type)){let{signature:e,cache_control:n,...s}=o;t.push(s)}else if("tool_use"===o.type)continue;else if("tool_result"===o.type){let{signature:e,cache_control:n,...s}=o;t.push(s)}}}0===t.length&&t.push({type:"text",text:""});let o={...e,content:t};return n&&"assistant"===e.role&&(o.reasoning_content=n),o}return e}),e.messages=e.messages.filter(e=>"tool"===e.role||"assistant"===e.role&&!!e.tool_calls||("string"==typeof e.content?""!==e.content.trim():!Array.isArray(e.content)||e.content.some(e=>"text"===e.type&&e.text?.trim()||"text"!==e.type))),e.tools&&Array.isArray(e.tools)&&0===e.tools.length&&delete e.tools,delete e.metadata,delete e.anthropic_version,e.tools&&Array.isArray(e.tools)&&e.tools.length>0&&(e.tools=e.tools.map(e=>"function"===e.type&&e.function?e:e.name&&(e.input_schema||e.description)?{type:"function",function:{name:e.name,description:e.description||"",parameters:e.input_schema||{type:"object",properties:{}}}}:e.functionDeclarations&&Array.isArray(e.functionDeclarations)?e.functionDeclarations.map(e=>({type:"function",function:{name:e.name,description:e.description||"",parameters:e.parameters||{type:"object",properties:{}}}})):e).flat()),e.tool_choice&&"object"==typeof e.tool_choice){let t=e.tool_choice;"auto"===t.type?e.tool_choice="auto":"any"===t.type?e.tool_choice="required":"tool"===t.type&&t.name&&(e.tool_choice={type:"function",function:{name:t.name}})}return e}(g)),n===t.FORMATS.CLAUDE&&e!==t.FORMATS.CLAUDE&&(g=function(e,t=null){if(e.system&&Array.isArray(e.system)&&(e.system=e.system.map((t,n)=>{let{cache_control:o,...s}=t;return n===e.system.length-1?{...s,cache_control:{type:"ephemeral",ttl:"1h"}}:s})),e.messages&&Array.isArray(e.messages)){let n=e.messages.length,o=[];for(let t=0;t<n;t++){let s=e.messages[t];if(Array.isArray(s.content))for(let e of s.content)delete e.cache_control;(t===n-1&&"assistant"===s.role||"string"==typeof s.content&&s.content.trim()||Array.isArray(s.content)&&s.content.some(e=>"text"===e.type&&e.text?.trim()||"tool_use"===e.type||"tool_result"===e.type))&&o.push(s)}for(let e of o)Array.isArray(e.content)&&(e.content=e.content.filter(e=>"tool_use"!==e.type||e.name&&e.name?.trim()),e.content=e.content.filter(e=>"tool_result"!==e.type||e.tool_use_id));e.tools&&Array.isArray(e.tools)&&(e.tools=e.tools.filter(e=>e.name&&e.name?.trim())),e.messages=o=function(e){if(e.length<=1)return e;for(let t of e)if("assistant"===t.role&&Array.isArray(t.content)&&t.content.some(e=>"tool_use"===e.type)){let e=[],n=!1;for(let o of t.content)"tool_use"===o.type?(n=!0,e.push(o)):"thinking"===o.type||"redacted_thinking"===o.type?e.push(o):n||e.push(o);t.content=e}let t=[];for(let n of e){let e=t[t.length-1];if(e&&e.role===n.role){let t=Array.isArray(e.content)?e.content:[{type:"text",text:e.content}],o=Array.isArray(n.content)?n.content:[{type:"text",text:n.content}];e.content=[...t.filter(e=>"tool_result"===e.type),...o.filter(e=>"tool_result"===e.type),...t.filter(e=>"tool_result"!==e.type),...o.filter(e=>"tool_result"!==e.type)]}else{let e=Array.isArray(n.content)?n.content:[{type:"text",text:n.content}];t.push({role:n.role,content:[...e]})}}return t}(o);let s=o[o.length-1],r=s?.role==="user",l=e.thinking?.type==="enabled"&&r,a=!1;for(let e=o.length-1;e>=0;e--){let n=o[e];if("assistant"===n.role&&Array.isArray(n.content)&&(!a&&n.content.length>0&&(n.content[n.content.length-1].cache_control={type:"ephemeral"},a=!0),"claude"===t||t?.startsWith?.("anthropic-compatible-"))){let e=!1,t=!1;for(let o of n.content)("thinking"===o.type||"redacted_thinking"===o.type)&&(o.signature=i,t=!0),"tool_use"===o.type&&(e=!0);l&&!t&&e&&n.content.unshift({type:"thinking",thinking:".",signature:i})}}}if(e.tools&&Array.isArray(e.tools)){e.tools=e.tools.map(e=>{let{cache_control:t,...n}=e;return n});for(let t=e.tools.length-1;t>=0;t--)if(!e.tools[t].defer_loading){e.tools[t].cache_control={type:"ephemeral",ttl:"1h"};break}}return e}(g,p)),n===t.FORMATS.OPENAI_RESPONSES&&(g=function(e){if(!e||"object"!=typeof e)return e;let t={...e};return"string"==typeof t.input?t.input=[{type:"message",role:"user",content:[{type:"input_text",text:t.input}]}]:Array.isArray(t.input)?t.input=t.input.map(ei):t.input&&"object"==typeof t.input&&(t.input=[ei(t.input)]),t}(g)),e===t.FORMATS.OPENAI_RESPONSES&&g.messages&&Array.isArray(g.messages)&&(g.messages=er(g.messages,p||"",o||"",n,y)),s(g,{use9CharId:_}),r(g),g}function ea(e,n,o,s){if(n===e)return[o];let r=[o],i=null,l=m(e,n);if(l&&e!==t.FORMATS.OPENAI&&n!==t.FORMATS.OPENAI){let e=l(o,s);return e?Array.isArray(e)?e:[e]:[]}if(e!==t.FORMATS.OPENAI){let n=m(e,t.FORMATS.OPENAI);if(n){r=[];let e=n(o,s);e&&(i=r=Array.isArray(e)?e:[e])}}if(n!==t.FORMATS.OPENAI){let e=m(t.FORMATS.OPENAI,n);if(e){let t=[];for(let n of r){let o=e(n,s);o&&t.push(...Array.isArray(o)?o:[o])}r=t}}return i&&n!==t.FORMATS.OPENAI&&e!==t.FORMATS.OPENAI&&(r._openaiIntermediate=i),r}function eu(e,t){return e!==t}function ec(e){let n={messageId:null,model:null,textBlockStarted:!1,thinkingBlockStarted:!1,inThinkingBlock:!1,currentBlockIndex:null,toolCalls:new Map,finishReason:null,finishReasonSent:!1,usage:null,contentBlockIndex:-1};return e===t.FORMATS.OPENAI_RESPONSES?{...n,seq:0,responseId:`resp_${Date.now()}`,created:Math.floor(Date.now()/1e3),started:!1,msgTextBuf:{},msgItemAdded:{},msgContentAdded:{},msgItemDone:{},reasoningId:"",reasoningIndex:-1,reasoningBuf:"",reasoningPartAdded:!1,reasoningDone:!1,inThinking:!1,funcArgsBuf:{},funcNames:{},funcCallIds:{},funcArgsDone:{},funcItemDone:{},completedSent:!1}:n}function ep(){X()}X(),e.s(["initState",()=>ec,"initTranslators",()=>ep,"needsTranslation",()=>eu,"translateRequest",()=>el,"translateResponse",()=>ea],352812)}];
18
18
 
19
19
  //# sourceMappingURL=open-sse_translator_index_ts_f5fd0821._.js.map