omniroute 1.0.1 → 1.0.3

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 (980) hide show
  1. package/README.de.md +4 -4
  2. package/README.es.md +4 -4
  3. package/README.fr.md +4 -4
  4. package/README.it.md +4 -4
  5. package/README.md +22 -16
  6. package/README.pt-BR.md +4 -4
  7. package/README.ru.md +4 -4
  8. package/README.zh-CN.md +4 -4
  9. package/app/.next/BUILD_ID +1 -1
  10. package/app/.next/app-path-routes-manifest.json +34 -30
  11. package/app/.next/build-manifest.json +2 -2
  12. package/app/.next/prerender-manifest.json +51 -3
  13. package/app/.next/required-server-files.json +6 -2
  14. package/app/.next/routes-manifest.json +24 -0
  15. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  16. package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js +2 -0
  19. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js.nft.json +1 -0
  20. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -0
  21. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  22. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  25. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js +2 -2
  28. package/app/.next/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  31. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/(dashboard)/dashboard/health/page.js +2 -2
  34. package/app/.next/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  35. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +2 -2
  37. package/app/.next/server/app/(dashboard)/dashboard/limits/page.js.nft.json +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js +2 -0
  40. package/app/.next/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -0
  41. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -0
  42. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
  43. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  45. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  46. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  49. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  52. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  55. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  58. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  59. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
  61. package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
  62. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
  64. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  65. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +3 -3
  67. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  68. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  70. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  71. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/_global-error/page.js +3 -3
  73. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/_global-error.html +2 -2
  75. package/app/.next/server/app/_global-error.rsc +12 -11
  76. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +12 -11
  77. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  78. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  79. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  80. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +4 -3
  81. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  82. package/app/.next/server/app/_not-found/page.js +2 -2
  83. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  84. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/_not-found.html +1 -1
  86. package/app/.next/server/app/_not-found.rsc +18 -17
  87. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +18 -17
  88. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  89. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +6 -5
  90. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  91. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  92. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  93. package/app/.next/server/app/api/auth/login/route.js +1 -1
  94. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  95. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/auth/status/route.js +1 -0
  98. package/app/.next/server/app/api/auth/status/route.js.nft.json +1 -0
  99. package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
  100. package/app/.next/server/app/api/cache/route.js +2 -2
  101. package/app/.next/server/app/api/cache/route.js.nft.json +1 -1
  102. package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
  104. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  105. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  106. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  108. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
  110. package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  112. package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  114. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  115. package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  116. package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  117. package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +1 -1
  118. package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  119. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  120. package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  121. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  122. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
  123. package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  124. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
  126. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  127. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  128. package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  130. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  131. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
  133. package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
  134. package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
  135. package/app/.next/server/app/api/cli-tools/status/route.js.nft.json +1 -1
  136. package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/cloud/auth/route.js +1 -1
  138. package/app/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
  139. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
  141. package/app/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
  142. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  143. package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
  144. package/app/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
  145. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  146. package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
  147. package/app/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
  148. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  149. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  150. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  151. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  152. package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/api/combos/route.js +1 -1
  154. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  155. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  156. package/app/.next/server/app/api/combos/test/route.js +1 -1
  157. package/app/.next/server/app/api/combos/test/route.js.nft.json +1 -1
  158. package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
  159. package/app/.next/server/app/api/compliance/audit-log/route.js +1 -1
  160. package/app/.next/server/app/api/compliance/audit-log/route.js.nft.json +1 -1
  161. package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
  162. package/app/.next/server/app/api/db-backups/export/route.js +1 -1
  163. package/app/.next/server/app/api/db-backups/export/route.js.nft.json +1 -1
  164. package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
  165. package/app/.next/server/app/api/db-backups/exportAll/route.js +1 -1
  166. package/app/.next/server/app/api/db-backups/exportAll/route.js.nft.json +1 -1
  167. package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
  168. package/app/.next/server/app/api/db-backups/import/route.js +1 -1
  169. package/app/.next/server/app/api/db-backups/import/route.js.nft.json +1 -1
  170. package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
  171. package/app/.next/server/app/api/db-backups/route.js +1 -1
  172. package/app/.next/server/app/api/db-backups/route.js.nft.json +1 -1
  173. package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
  174. package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
  175. package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
  176. package/app/.next/server/app/api/fallback/chains/route.js +2 -2
  177. package/app/.next/server/app/api/fallback/chains/route.js.nft.json +1 -1
  178. package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
  179. package/app/.next/server/app/api/init/route.js +1 -1
  180. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  181. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  182. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  183. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  184. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  185. package/app/.next/server/app/api/keys/route.js +1 -1
  186. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  187. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  188. package/app/.next/server/app/api/logs/console/route.js +1 -0
  189. package/app/.next/server/app/api/logs/console/route.js.nft.json +1 -0
  190. package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -0
  191. package/app/.next/server/app/api/models/alias/route.js +1 -1
  192. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  193. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  194. package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  195. package/app/.next/server/app/api/models/catalog/route.js +2 -2
  196. package/app/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
  197. package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
  198. package/app/.next/server/app/api/models/route.js +2 -2
  199. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  200. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  201. package/app/.next/server/app/api/monitoring/health/route.js +2 -2
  202. package/app/.next/server/app/api/monitoring/health/route.js.nft.json +1 -1
  203. package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
  204. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  205. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  206. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  207. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  208. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  209. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  210. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  211. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  212. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  213. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  214. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  215. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  216. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  217. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  218. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  219. package/app/.next/server/app/api/policies/route.js +2 -2
  220. package/app/.next/server/app/api/policies/route.js.nft.json +1 -1
  221. package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
  222. package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
  223. package/app/.next/server/app/api/pricing/models/route.js +1 -1
  224. package/app/.next/server/app/api/pricing/models/route.js.nft.json +1 -1
  225. package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
  226. package/app/.next/server/app/api/pricing/route.js +1 -1
  227. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  228. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  229. package/app/.next/server/app/api/provider-metrics/route.js +2 -2
  230. package/app/.next/server/app/api/provider-metrics/route.js.nft.json +1 -1
  231. package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
  232. package/app/.next/server/app/api/provider-models/route.js +1 -1
  233. package/app/.next/server/app/api/provider-models/route.js.nft.json +1 -1
  234. package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
  235. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  236. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  237. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  238. package/app/.next/server/app/api/provider-nodes/route.js +2 -2
  239. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  240. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  241. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  242. package/app/.next/server/app/api/providers/[id]/models/route.js +2 -2
  243. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  244. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  245. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  246. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  247. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  248. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  249. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  250. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  251. package/app/.next/server/app/api/providers/client/route.js +1 -1
  252. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  253. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  254. package/app/.next/server/app/api/providers/route.js +2 -2
  255. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  256. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  257. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  258. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  259. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  260. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  261. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  262. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  263. package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
  264. package/app/.next/server/app/api/rate-limits/route.js +1 -1
  265. package/app/.next/server/app/api/rate-limits/route.js.nft.json +1 -1
  266. package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
  267. package/app/.next/server/app/api/resilience/reset/route.js +1 -1
  268. package/app/.next/server/app/api/resilience/reset/route.js.nft.json +1 -1
  269. package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
  270. package/app/.next/server/app/api/resilience/route.js +1 -1
  271. package/app/.next/server/app/api/resilience/route.js.nft.json +1 -1
  272. package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
  273. package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  274. package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  275. package/app/.next/server/app/api/settings/combo-defaults/route.js +1 -1
  276. package/app/.next/server/app/api/settings/combo-defaults/route.js.nft.json +1 -1
  277. package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
  278. package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
  279. package/app/.next/server/app/api/settings/proxy/route.js +1 -1
  280. package/app/.next/server/app/api/settings/proxy/route.js.nft.json +1 -1
  281. package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
  282. package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
  283. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  284. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  285. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  286. package/app/.next/server/app/api/settings/route.js +1 -1
  287. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  288. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  289. package/app/.next/server/app/api/settings/system-prompt/route.js +1 -1
  290. package/app/.next/server/app/api/settings/system-prompt/route.js.nft.json +1 -1
  291. package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
  292. package/app/.next/server/app/api/settings/thinking-budget/route.js +1 -1
  293. package/app/.next/server/app/api/settings/thinking-budget/route.js.nft.json +1 -1
  294. package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
  295. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  296. package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
  297. package/app/.next/server/app/api/sync/cloud/route.js +1 -1
  298. package/app/.next/server/app/api/sync/cloud/route.js.nft.json +1 -1
  299. package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
  300. package/app/.next/server/app/api/sync/initialize/route.js +1 -1
  301. package/app/.next/server/app/api/sync/initialize/route.js.nft.json +1 -1
  302. package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
  303. package/app/.next/server/app/api/tags/route.js +1 -1
  304. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  305. package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
  306. package/app/.next/server/app/api/token-health/route.js +1 -1
  307. package/app/.next/server/app/api/token-health/route.js.nft.json +1 -1
  308. package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
  309. package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
  310. package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
  311. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  312. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  313. package/app/.next/server/app/api/translator/send/route.js +1 -1
  314. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  315. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  316. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  317. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  318. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  319. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  320. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  321. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  322. package/app/.next/server/app/api/usage/analytics/route.js +1 -1
  323. package/app/.next/server/app/api/usage/analytics/route.js.nft.json +1 -1
  324. package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
  325. package/app/.next/server/app/api/usage/budget/route.js +2 -2
  326. package/app/.next/server/app/api/usage/budget/route.js.nft.json +1 -1
  327. package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
  328. package/app/.next/server/app/api/usage/call-logs/[id]/route.js +1 -1
  329. package/app/.next/server/app/api/usage/call-logs/[id]/route.js.nft.json +1 -1
  330. package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
  331. package/app/.next/server/app/api/usage/call-logs/route.js +1 -1
  332. package/app/.next/server/app/api/usage/call-logs/route.js.nft.json +1 -1
  333. package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
  334. package/app/.next/server/app/api/usage/history/route.js +1 -1
  335. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  336. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  337. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  338. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  339. package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  340. package/app/.next/server/app/api/usage/proxy-logs/route.js +2 -2
  341. package/app/.next/server/app/api/usage/proxy-logs/route.js.nft.json +1 -1
  342. package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
  343. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  344. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  345. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  346. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  347. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  348. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  349. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  350. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  351. package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  352. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  353. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  354. package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  355. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  356. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  357. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  358. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  359. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  360. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  361. package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
  362. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  363. package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  364. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  365. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  366. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  367. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  368. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  369. package/app/.next/server/app/api/v1/models/route.js +2 -2
  370. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  371. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  372. package/app/.next/server/app/api/v1/moderations/route.js +1 -1
  373. package/app/.next/server/app/api/v1/moderations/route.js.nft.json +1 -1
  374. package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
  375. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +1 -1
  376. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js.nft.json +1 -1
  377. package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
  378. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +1 -1
  379. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js.nft.json +1 -1
  380. package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
  381. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +1 -1
  382. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
  383. package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
  384. package/app/.next/server/app/api/v1/rerank/route.js +1 -1
  385. package/app/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
  386. package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
  387. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  388. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  389. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  390. package/app/.next/server/app/api/v1/route.js +1 -1
  391. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  392. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  393. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  394. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  395. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  396. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  397. package/app/.next/server/app/callback/page.js +2 -2
  398. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  399. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  400. package/app/.next/server/app/callback.html +1 -1
  401. package/app/.next/server/app/callback.rsc +19 -18
  402. package/app/.next/server/app/callback.segments/_full.segment.rsc +19 -18
  403. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  404. package/app/.next/server/app/callback.segments/_index.segment.rsc +6 -5
  405. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  406. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  407. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  408. package/app/.next/server/app/dashboard/analytics.html +2 -1
  409. package/app/.next/server/app/dashboard/analytics.rsc +21 -19
  410. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +2 -2
  411. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +2 -1
  412. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  413. package/app/.next/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  414. package/app/.next/server/app/dashboard/analytics.segments/_full.segment.rsc +21 -19
  415. package/app/.next/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  416. package/app/.next/server/app/dashboard/analytics.segments/_index.segment.rsc +6 -5
  417. package/app/.next/server/app/dashboard/analytics.segments/_tree.segment.rsc +2 -2
  418. package/app/.next/server/app/dashboard/audit-log.html +1 -0
  419. package/app/.next/server/app/dashboard/audit-log.meta +17 -0
  420. package/app/.next/server/app/dashboard/audit-log.rsc +25 -0
  421. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard/audit-log/__PAGE__.segment.rsc +9 -0
  422. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard/audit-log.segment.rsc +4 -0
  423. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +4 -0
  424. package/app/.next/server/app/dashboard/audit-log.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -0
  425. package/app/.next/server/app/dashboard/audit-log.segments/_full.segment.rsc +25 -0
  426. package/app/.next/server/app/dashboard/audit-log.segments/_head.segment.rsc +6 -0
  427. package/app/.next/server/app/dashboard/audit-log.segments/_index.segment.rsc +10 -0
  428. package/app/.next/server/app/dashboard/audit-log.segments/_tree.segment.rsc +5 -0
  429. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  430. package/app/.next/server/app/dashboard/cli-tools.rsc +18 -17
  431. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  432. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  433. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  434. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  435. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +18 -17
  436. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  437. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -5
  438. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  439. package/app/.next/server/app/dashboard/combos.html +1 -1
  440. package/app/.next/server/app/dashboard/combos.rsc +20 -19
  441. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  442. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  443. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  444. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  445. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +20 -19
  446. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  447. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +6 -5
  448. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  449. package/app/.next/server/app/dashboard/costs.html +1 -1
  450. package/app/.next/server/app/dashboard/costs.rsc +20 -19
  451. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs/__PAGE__.segment.rsc +2 -2
  452. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard/costs.segment.rsc +1 -1
  453. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  454. package/app/.next/server/app/dashboard/costs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  455. package/app/.next/server/app/dashboard/costs.segments/_full.segment.rsc +20 -19
  456. package/app/.next/server/app/dashboard/costs.segments/_head.segment.rsc +1 -1
  457. package/app/.next/server/app/dashboard/costs.segments/_index.segment.rsc +6 -5
  458. package/app/.next/server/app/dashboard/costs.segments/_tree.segment.rsc +2 -2
  459. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  460. package/app/.next/server/app/dashboard/endpoint.rsc +18 -17
  461. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  462. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  463. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  464. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  465. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +18 -17
  466. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  467. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -5
  468. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  469. package/app/.next/server/app/dashboard/health.html +1 -1
  470. package/app/.next/server/app/dashboard/health.rsc +20 -19
  471. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health/__PAGE__.segment.rsc +2 -2
  472. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard/health.segment.rsc +1 -1
  473. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  474. package/app/.next/server/app/dashboard/health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  475. package/app/.next/server/app/dashboard/health.segments/_full.segment.rsc +20 -19
  476. package/app/.next/server/app/dashboard/health.segments/_head.segment.rsc +1 -1
  477. package/app/.next/server/app/dashboard/health.segments/_index.segment.rsc +6 -5
  478. package/app/.next/server/app/dashboard/health.segments/_tree.segment.rsc +2 -2
  479. package/app/.next/server/app/dashboard/limits.html +2 -2
  480. package/app/.next/server/app/dashboard/limits.rsc +20 -19
  481. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits/__PAGE__.segment.rsc +2 -2
  482. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard/limits.segment.rsc +1 -1
  483. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  484. package/app/.next/server/app/dashboard/limits.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  485. package/app/.next/server/app/dashboard/limits.segments/_full.segment.rsc +20 -19
  486. package/app/.next/server/app/dashboard/limits.segments/_head.segment.rsc +1 -1
  487. package/app/.next/server/app/dashboard/limits.segments/_index.segment.rsc +6 -5
  488. package/app/.next/server/app/dashboard/limits.segments/_tree.segment.rsc +2 -2
  489. package/app/.next/server/app/dashboard/logs.html +1 -0
  490. package/app/.next/server/app/dashboard/logs.meta +17 -0
  491. package/app/.next/server/app/dashboard/logs.rsc +25 -0
  492. package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs/__PAGE__.segment.rsc +9 -0
  493. package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs.segment.rsc +4 -0
  494. package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +4 -0
  495. package/app/.next/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -0
  496. package/app/.next/server/app/dashboard/logs.segments/_full.segment.rsc +25 -0
  497. package/app/.next/server/app/dashboard/logs.segments/_head.segment.rsc +6 -0
  498. package/app/.next/server/app/dashboard/logs.segments/_index.segment.rsc +10 -0
  499. package/app/.next/server/app/dashboard/logs.segments/_tree.segment.rsc +5 -0
  500. package/app/.next/server/app/dashboard/onboarding.html +1 -1
  501. package/app/.next/server/app/dashboard/onboarding.rsc +20 -19
  502. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding/__PAGE__.segment.rsc +2 -2
  503. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard/onboarding.segment.rsc +1 -1
  504. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  505. package/app/.next/server/app/dashboard/onboarding.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  506. package/app/.next/server/app/dashboard/onboarding.segments/_full.segment.rsc +20 -19
  507. package/app/.next/server/app/dashboard/onboarding.segments/_head.segment.rsc +1 -1
  508. package/app/.next/server/app/dashboard/onboarding.segments/_index.segment.rsc +6 -5
  509. package/app/.next/server/app/dashboard/onboarding.segments/_tree.segment.rsc +2 -2
  510. package/app/.next/server/app/dashboard/profile.html +1 -1
  511. package/app/.next/server/app/dashboard/profile.rsc +17 -16
  512. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  513. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  514. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  515. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  516. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +17 -16
  517. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  518. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +6 -5
  519. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  520. package/app/.next/server/app/dashboard/providers/new.html +2 -1
  521. package/app/.next/server/app/dashboard/providers/new.rsc +22 -19
  522. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  523. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  524. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +4 -2
  525. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  526. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  527. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +22 -19
  528. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  529. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -5
  530. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  531. package/app/.next/server/app/dashboard/providers.html +2 -1
  532. package/app/.next/server/app/dashboard/providers.rsc +22 -19
  533. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  534. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +4 -2
  535. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  536. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  537. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +22 -19
  538. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  539. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +6 -5
  540. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  541. package/app/.next/server/app/dashboard/settings/pricing.html +2 -1
  542. package/app/.next/server/app/dashboard/settings/pricing.rsc +22 -19
  543. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  544. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
  545. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +4 -2
  546. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  547. package/app/.next/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  548. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +22 -19
  549. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  550. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -5
  551. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  552. package/app/.next/server/app/dashboard/settings.html +2 -1
  553. package/app/.next/server/app/dashboard/settings.rsc +22 -19
  554. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +2 -2
  555. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +4 -2
  556. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  557. package/app/.next/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  558. package/app/.next/server/app/dashboard/settings.segments/_full.segment.rsc +22 -19
  559. package/app/.next/server/app/dashboard/settings.segments/_head.segment.rsc +1 -1
  560. package/app/.next/server/app/dashboard/settings.segments/_index.segment.rsc +6 -5
  561. package/app/.next/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
  562. package/app/.next/server/app/dashboard/translator.html +2 -2
  563. package/app/.next/server/app/dashboard/translator.rsc +17 -16
  564. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  565. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  566. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  567. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  568. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +17 -16
  569. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  570. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +6 -5
  571. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  572. package/app/.next/server/app/dashboard/usage.html +1 -1
  573. package/app/.next/server/app/dashboard/usage.rsc +20 -19
  574. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  575. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  576. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  577. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  578. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +20 -19
  579. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  580. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +6 -5
  581. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  582. package/app/.next/server/app/docs/page.js +3 -3
  583. package/app/.next/server/app/docs/page.js.nft.json +1 -1
  584. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  585. package/app/.next/server/app/docs.html +1 -1
  586. package/app/.next/server/app/docs.rsc +83 -82
  587. package/app/.next/server/app/docs.segments/_full.segment.rsc +83 -82
  588. package/app/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  589. package/app/.next/server/app/docs.segments/_index.segment.rsc +6 -5
  590. package/app/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  591. package/app/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  592. package/app/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  593. package/app/.next/server/app/forbidden/page.js +2 -2
  594. package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
  595. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  596. package/app/.next/server/app/forbidden.html +1 -1
  597. package/app/.next/server/app/forbidden.rsc +19 -18
  598. package/app/.next/server/app/forbidden.segments/_full.segment.rsc +19 -18
  599. package/app/.next/server/app/forbidden.segments/_head.segment.rsc +1 -1
  600. package/app/.next/server/app/forbidden.segments/_index.segment.rsc +6 -5
  601. package/app/.next/server/app/forbidden.segments/_tree.segment.rsc +2 -2
  602. package/app/.next/server/app/forbidden.segments/forbidden/__PAGE__.segment.rsc +1 -1
  603. package/app/.next/server/app/forbidden.segments/forbidden.segment.rsc +1 -1
  604. package/app/.next/server/app/forgot-password/page.js +2 -2
  605. package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
  606. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  607. package/app/.next/server/app/forgot-password.html +1 -1
  608. package/app/.next/server/app/forgot-password.rsc +19 -18
  609. package/app/.next/server/app/forgot-password.segments/_full.segment.rsc +19 -18
  610. package/app/.next/server/app/forgot-password.segments/_head.segment.rsc +1 -1
  611. package/app/.next/server/app/forgot-password.segments/_index.segment.rsc +6 -5
  612. package/app/.next/server/app/forgot-password.segments/_tree.segment.rsc +2 -2
  613. package/app/.next/server/app/forgot-password.segments/forgot-password/__PAGE__.segment.rsc +2 -2
  614. package/app/.next/server/app/forgot-password.segments/forgot-password.segment.rsc +1 -1
  615. package/app/.next/server/app/index.html +1 -1
  616. package/app/.next/server/app/index.rsc +16 -15
  617. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  618. package/app/.next/server/app/index.segments/_full.segment.rsc +16 -15
  619. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  620. package/app/.next/server/app/index.segments/_index.segment.rsc +6 -5
  621. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  622. package/app/.next/server/app/landing/page.js +2 -2
  623. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  624. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  625. package/app/.next/server/app/landing.html +1 -1
  626. package/app/.next/server/app/landing.rsc +19 -18
  627. package/app/.next/server/app/landing.segments/_full.segment.rsc +19 -18
  628. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  629. package/app/.next/server/app/landing.segments/_index.segment.rsc +6 -5
  630. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  631. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  632. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  633. package/app/.next/server/app/login/page.js +2 -2
  634. package/app/.next/server/app/login/page.js.nft.json +1 -1
  635. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  636. package/app/.next/server/app/login.html +1 -1
  637. package/app/.next/server/app/login.rsc +19 -18
  638. package/app/.next/server/app/login.segments/_full.segment.rsc +19 -18
  639. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  640. package/app/.next/server/app/login.segments/_index.segment.rsc +6 -5
  641. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  642. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  643. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  644. package/app/.next/server/app/page.js +2 -2
  645. package/app/.next/server/app/page.js.nft.json +1 -1
  646. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  647. package/app/.next/server/app/privacy/page.js +2 -2
  648. package/app/.next/server/app/privacy/page.js.nft.json +1 -1
  649. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  650. package/app/.next/server/app/privacy.html +1 -1
  651. package/app/.next/server/app/privacy.rsc +23 -22
  652. package/app/.next/server/app/privacy.segments/_full.segment.rsc +23 -22
  653. package/app/.next/server/app/privacy.segments/_head.segment.rsc +1 -1
  654. package/app/.next/server/app/privacy.segments/_index.segment.rsc +6 -5
  655. package/app/.next/server/app/privacy.segments/_tree.segment.rsc +2 -2
  656. package/app/.next/server/app/privacy.segments/privacy/__PAGE__.segment.rsc +1 -1
  657. package/app/.next/server/app/privacy.segments/privacy.segment.rsc +1 -1
  658. package/app/.next/server/app/terms/page.js +2 -2
  659. package/app/.next/server/app/terms/page.js.nft.json +1 -1
  660. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  661. package/app/.next/server/app/terms.html +1 -1
  662. package/app/.next/server/app/terms.rsc +24 -23
  663. package/app/.next/server/app/terms.segments/_full.segment.rsc +24 -23
  664. package/app/.next/server/app/terms.segments/_head.segment.rsc +1 -1
  665. package/app/.next/server/app/terms.segments/_index.segment.rsc +6 -5
  666. package/app/.next/server/app/terms.segments/_tree.segment.rsc +2 -2
  667. package/app/.next/server/app/terms.segments/terms/__PAGE__.segment.rsc +1 -1
  668. package/app/.next/server/app/terms.segments/terms.segment.rsc +1 -1
  669. package/app/.next/server/app-paths-manifest.json +34 -30
  670. package/app/.next/server/chunks/1079.js +1 -1
  671. package/app/.next/server/chunks/2180.js +258 -0
  672. package/app/.next/server/chunks/239.js +1 -1
  673. package/app/.next/server/chunks/2620.js +1 -1
  674. package/app/.next/server/chunks/2767.js +6 -6
  675. package/app/.next/server/chunks/2852.js +2 -0
  676. package/app/.next/server/chunks/287.js +1 -1
  677. package/app/.next/server/chunks/{1549.js → 2910.js} +17 -3
  678. package/app/.next/server/chunks/3447.js +9 -0
  679. package/app/.next/server/chunks/4133.js +1 -0
  680. package/app/.next/server/chunks/4488.js +243 -0
  681. package/app/.next/server/chunks/7109.js +1 -1
  682. package/app/.next/server/chunks/7230.js +4 -4
  683. package/app/.next/server/chunks/73.js +1 -0
  684. package/app/.next/server/chunks/7669.js +1 -1
  685. package/app/.next/server/chunks/7723.js +2 -0
  686. package/app/.next/server/chunks/9824.js +1 -1
  687. package/app/.next/server/chunks/9979.js +2 -0
  688. package/app/.next/server/functions-config-manifest.json +4 -0
  689. package/app/.next/server/instrumentation.js +1 -0
  690. package/app/.next/server/middleware.js +18 -4
  691. package/app/.next/server/pages/404.html +1 -1
  692. package/app/.next/server/pages/500.html +2 -2
  693. package/app/.next/server/server-reference-manifest.js +1 -1
  694. package/app/.next/server/server-reference-manifest.json +1 -1
  695. package/app/.next/static/PyPKu8KUmFFVZNhlykJuq/_buildManifest.js +1 -0
  696. package/app/.next/static/chunks/{5846-dfe52e95348ffdd8.js → 5846-cd6a545a34f64728.js} +1 -1
  697. package/app/.next/static/chunks/993-7146218952a45b4b.js +21 -0
  698. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-6f1750506292c630.js +1 -0
  699. package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/{page-74ac2092c2a6b3dc.js → page-f8b57e41a1b6fce6.js} +1 -1
  700. package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-c37f849e39b1bf02.js +1 -0
  701. package/app/.next/static/chunks/app/(dashboard)/dashboard/logs/page-88e667cb7ae99420.js +1 -0
  702. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-19072ecdea202e4e.js +1 -0
  703. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-d2651dc387e7fdfd.js +1 -0
  704. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/{page-58b169603fdf1d6f.js → page-58a4e7114d200844.js} +1 -1
  705. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/error-2f0177a2197dd556.js +1 -0
  706. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/loading-99ab4d478260d53b.js +1 -0
  707. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/error-e844916e39172c8b.js +1 -0
  708. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/loading-bb068659ee679ff4.js +1 -0
  709. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1067b7b1be3728d7.js +1 -0
  710. package/app/.next/static/chunks/app/_global-error/{page-58b169603fdf1d6f.js → page-58a4e7114d200844.js} +1 -1
  711. package/app/.next/static/chunks/app/_not-found/{page-58b169603fdf1d6f.js → page-58a4e7114d200844.js} +1 -1
  712. package/app/.next/static/chunks/app/api/auth/login/{route-58b169603fdf1d6f.js → route-58a4e7114d200844.js} +1 -1
  713. package/app/.next/static/chunks/app/api/auth/logout/route-58a4e7114d200844.js +1 -0
  714. package/app/.next/static/chunks/app/api/auth/status/route-58a4e7114d200844.js +1 -0
  715. package/app/.next/static/chunks/app/api/cache/route-58a4e7114d200844.js +1 -0
  716. package/app/.next/static/chunks/app/api/cache/stats/route-58a4e7114d200844.js +1 -0
  717. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-58a4e7114d200844.js +1 -0
  718. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-58a4e7114d200844.js +1 -0
  719. package/app/.next/static/chunks/app/api/cli-tools/backups/route-58a4e7114d200844.js +1 -0
  720. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-58a4e7114d200844.js +1 -0
  721. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-58a4e7114d200844.js +1 -0
  722. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-58a4e7114d200844.js +1 -0
  723. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-58a4e7114d200844.js +1 -0
  724. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-58a4e7114d200844.js +1 -0
  725. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-58a4e7114d200844.js +1 -0
  726. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-58a4e7114d200844.js +1 -0
  727. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-58a4e7114d200844.js +1 -0
  728. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-58a4e7114d200844.js +1 -0
  729. package/app/.next/static/chunks/app/api/cli-tools/status/route-58a4e7114d200844.js +1 -0
  730. package/app/.next/static/chunks/app/api/cloud/auth/route-58a4e7114d200844.js +1 -0
  731. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-58a4e7114d200844.js +1 -0
  732. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-58a4e7114d200844.js +1 -0
  733. package/app/.next/static/chunks/app/api/cloud/models/alias/route-58a4e7114d200844.js +1 -0
  734. package/app/.next/static/chunks/app/api/combos/[id]/route-58a4e7114d200844.js +1 -0
  735. package/app/.next/static/chunks/app/api/combos/metrics/route-58a4e7114d200844.js +1 -0
  736. package/app/.next/static/chunks/app/api/combos/route-58a4e7114d200844.js +1 -0
  737. package/app/.next/static/chunks/app/api/combos/test/route-58a4e7114d200844.js +1 -0
  738. package/app/.next/static/chunks/app/api/compliance/audit-log/route-58a4e7114d200844.js +1 -0
  739. package/app/.next/static/chunks/app/api/db-backups/export/route-58a4e7114d200844.js +1 -0
  740. package/app/.next/static/chunks/app/api/db-backups/exportAll/route-58a4e7114d200844.js +1 -0
  741. package/app/.next/static/chunks/app/api/db-backups/import/route-58a4e7114d200844.js +1 -0
  742. package/app/.next/static/chunks/app/api/db-backups/route-58a4e7114d200844.js +1 -0
  743. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-58a4e7114d200844.js +1 -0
  744. package/app/.next/static/chunks/app/api/evals/route-58a4e7114d200844.js +1 -0
  745. package/app/.next/static/chunks/app/api/fallback/chains/route-58a4e7114d200844.js +1 -0
  746. package/app/.next/static/chunks/app/api/init/route-58a4e7114d200844.js +1 -0
  747. package/app/.next/static/chunks/app/api/keys/[id]/route-58a4e7114d200844.js +1 -0
  748. package/app/.next/static/chunks/app/api/keys/route-58a4e7114d200844.js +1 -0
  749. package/app/.next/static/chunks/app/api/logs/console/route-58a4e7114d200844.js +1 -0
  750. package/app/.next/static/chunks/app/api/models/alias/route-58a4e7114d200844.js +1 -0
  751. package/app/.next/static/chunks/app/api/models/availability/route-58a4e7114d200844.js +1 -0
  752. package/app/.next/static/chunks/app/api/models/catalog/route-58a4e7114d200844.js +1 -0
  753. package/app/.next/static/chunks/app/api/models/route-58a4e7114d200844.js +1 -0
  754. package/app/.next/static/chunks/app/api/monitoring/health/route-58a4e7114d200844.js +1 -0
  755. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-58a4e7114d200844.js +1 -0
  756. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-58a4e7114d200844.js +1 -0
  757. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-58a4e7114d200844.js +1 -0
  758. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-58a4e7114d200844.js +1 -0
  759. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-58a4e7114d200844.js +1 -0
  760. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-58a4e7114d200844.js +1 -0
  761. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-58a4e7114d200844.js +1 -0
  762. package/app/.next/static/chunks/app/api/policies/route-58a4e7114d200844.js +1 -0
  763. package/app/.next/static/chunks/app/api/pricing/defaults/route-58a4e7114d200844.js +1 -0
  764. package/app/.next/static/chunks/app/api/pricing/models/route-58a4e7114d200844.js +1 -0
  765. package/app/.next/static/chunks/app/api/pricing/route-58a4e7114d200844.js +1 -0
  766. package/app/.next/static/chunks/app/api/provider-metrics/route-58a4e7114d200844.js +1 -0
  767. package/app/.next/static/chunks/app/api/provider-models/route-58a4e7114d200844.js +1 -0
  768. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-58a4e7114d200844.js +1 -0
  769. package/app/.next/static/chunks/app/api/provider-nodes/route-58a4e7114d200844.js +1 -0
  770. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-58a4e7114d200844.js +1 -0
  771. package/app/.next/static/chunks/app/api/providers/[id]/models/route-58a4e7114d200844.js +1 -0
  772. package/app/.next/static/chunks/app/api/providers/[id]/route-58a4e7114d200844.js +1 -0
  773. package/app/.next/static/chunks/app/api/providers/[id]/test/route-58a4e7114d200844.js +1 -0
  774. package/app/.next/static/chunks/app/api/providers/client/route-58a4e7114d200844.js +1 -0
  775. package/app/.next/static/chunks/app/api/providers/route-58a4e7114d200844.js +1 -0
  776. package/app/.next/static/chunks/app/api/providers/test-batch/route-58a4e7114d200844.js +1 -0
  777. package/app/.next/static/chunks/app/api/providers/validate/route-58a4e7114d200844.js +1 -0
  778. package/app/.next/static/chunks/app/api/rate-limit/route-58a4e7114d200844.js +1 -0
  779. package/app/.next/static/chunks/app/api/rate-limits/route-58a4e7114d200844.js +1 -0
  780. package/app/.next/static/chunks/app/api/resilience/reset/route-58a4e7114d200844.js +1 -0
  781. package/app/.next/static/chunks/app/api/resilience/route-58a4e7114d200844.js +1 -0
  782. package/app/.next/static/chunks/app/api/restart/route-58a4e7114d200844.js +1 -0
  783. package/app/.next/static/chunks/app/api/sessions/route-58a4e7114d200844.js +1 -0
  784. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-58a4e7114d200844.js +1 -0
  785. package/app/.next/static/chunks/app/api/settings/ip-filter/route-58a4e7114d200844.js +1 -0
  786. package/app/.next/static/chunks/app/api/settings/proxy/route-58a4e7114d200844.js +1 -0
  787. package/app/.next/static/chunks/app/api/settings/proxy/test/route-58a4e7114d200844.js +1 -0
  788. package/app/.next/static/chunks/app/api/settings/require-login/route-58a4e7114d200844.js +1 -0
  789. package/app/.next/static/chunks/app/api/settings/route-58a4e7114d200844.js +1 -0
  790. package/app/.next/static/chunks/app/api/settings/system-prompt/route-58a4e7114d200844.js +1 -0
  791. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-58a4e7114d200844.js +1 -0
  792. package/app/.next/static/chunks/app/api/shutdown/route-58a4e7114d200844.js +1 -0
  793. package/app/.next/static/chunks/app/api/storage/health/route-58a4e7114d200844.js +1 -0
  794. package/app/.next/static/chunks/app/api/sync/cloud/route-58a4e7114d200844.js +1 -0
  795. package/app/.next/static/chunks/app/api/sync/initialize/route-58a4e7114d200844.js +1 -0
  796. package/app/.next/static/chunks/app/api/tags/route-58a4e7114d200844.js +1 -0
  797. package/app/.next/static/chunks/app/api/telemetry/summary/route-58a4e7114d200844.js +1 -0
  798. package/app/.next/static/chunks/app/api/token-health/route-58a4e7114d200844.js +1 -0
  799. package/app/.next/static/chunks/app/api/translator/detect/route-58a4e7114d200844.js +1 -0
  800. package/app/.next/static/chunks/app/api/translator/history/route-58a4e7114d200844.js +1 -0
  801. package/app/.next/static/chunks/app/api/translator/load/route-58a4e7114d200844.js +1 -0
  802. package/app/.next/static/chunks/app/api/translator/save/route-58a4e7114d200844.js +1 -0
  803. package/app/.next/static/chunks/app/api/translator/send/route-58a4e7114d200844.js +1 -0
  804. package/app/.next/static/chunks/app/api/translator/translate/route-58a4e7114d200844.js +1 -0
  805. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-58a4e7114d200844.js +1 -0
  806. package/app/.next/static/chunks/app/api/usage/analytics/route-58a4e7114d200844.js +1 -0
  807. package/app/.next/static/chunks/app/api/usage/budget/route-58a4e7114d200844.js +1 -0
  808. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-58a4e7114d200844.js +1 -0
  809. package/app/.next/static/chunks/app/api/usage/call-logs/route-58a4e7114d200844.js +1 -0
  810. package/app/.next/static/chunks/app/api/usage/history/route-58a4e7114d200844.js +1 -0
  811. package/app/.next/static/chunks/app/api/usage/logs/route-58a4e7114d200844.js +1 -0
  812. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-58a4e7114d200844.js +1 -0
  813. package/app/.next/static/chunks/app/api/usage/request-logs/route-58a4e7114d200844.js +1 -0
  814. package/app/.next/static/chunks/app/api/v1/api/chat/route-58a4e7114d200844.js +1 -0
  815. package/app/.next/static/chunks/app/api/v1/audio/speech/route-58a4e7114d200844.js +1 -0
  816. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-58a4e7114d200844.js +1 -0
  817. package/app/.next/static/chunks/app/api/v1/chat/completions/route-58a4e7114d200844.js +1 -0
  818. package/app/.next/static/chunks/app/api/v1/embeddings/route-58a4e7114d200844.js +1 -0
  819. package/app/.next/static/chunks/app/api/v1/images/generations/route-58a4e7114d200844.js +1 -0
  820. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-58a4e7114d200844.js +1 -0
  821. package/app/.next/static/chunks/app/api/v1/messages/route-58a4e7114d200844.js +1 -0
  822. package/app/.next/static/chunks/app/api/v1/models/route-58a4e7114d200844.js +1 -0
  823. package/app/.next/static/chunks/app/api/v1/moderations/route-58a4e7114d200844.js +1 -0
  824. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-58a4e7114d200844.js +1 -0
  825. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-58a4e7114d200844.js +1 -0
  826. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-58a4e7114d200844.js +1 -0
  827. package/app/.next/static/chunks/app/api/v1/rerank/route-58a4e7114d200844.js +1 -0
  828. package/app/.next/static/chunks/app/api/v1/responses/route-58a4e7114d200844.js +1 -0
  829. package/app/.next/static/chunks/app/api/v1/route-58a4e7114d200844.js +1 -0
  830. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-58a4e7114d200844.js +1 -0
  831. package/app/.next/static/chunks/app/api/v1beta/models/route-58a4e7114d200844.js +1 -0
  832. package/app/.next/static/chunks/app/error-0d59fc4efafbc38c.js +1 -0
  833. package/app/.next/static/chunks/app/global-error-41eef2a698918fc1.js +1 -0
  834. package/app/.next/static/chunks/app/login/page-40a8824400706b5e.js +1 -0
  835. package/app/.next/static/chunks/app/not-found-38123f3e1e5abc33.js +1 -0
  836. package/app/.next/static/chunks/app/page-58a4e7114d200844.js +1 -0
  837. package/app/.next/static/chunks/{main-db1120009090c406.js → main-47efa2ccb55b4a8d.js} +1 -1
  838. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-58a4e7114d200844.js +1 -0
  839. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-58a4e7114d200844.js +1 -0
  840. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-58a4e7114d200844.js +1 -0
  841. package/app/.next/static/css/c5b80d2d58d2e417.css +1 -0
  842. package/app/package.json +4 -3
  843. package/app/server.js +1 -1
  844. package/app/src/lib/db/migrations/001_initial_schema.sql +202 -0
  845. package/app/src/mitm/server.ts +48 -3
  846. package/package.json +4 -3
  847. package/app/.next/server/chunks/1020.js +0 -1
  848. package/app/.next/server/chunks/2817.js +0 -4
  849. package/app/.next/server/chunks/5583.js +0 -2
  850. package/app/.next/static/chunks/993-5102e3fd1db64935.js +0 -21
  851. package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-207d4961e362eae5.js +0 -1
  852. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-3c840eaf6d7cd77d.js +0 -1
  853. package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-cdc5fc5dfecc1047.js +0 -1
  854. package/app/.next/static/chunks/app/api/auth/logout/route-58b169603fdf1d6f.js +0 -1
  855. package/app/.next/static/chunks/app/api/cache/route-58b169603fdf1d6f.js +0 -1
  856. package/app/.next/static/chunks/app/api/cache/stats/route-58b169603fdf1d6f.js +0 -1
  857. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-58b169603fdf1d6f.js +0 -1
  858. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-58b169603fdf1d6f.js +0 -1
  859. package/app/.next/static/chunks/app/api/cli-tools/backups/route-58b169603fdf1d6f.js +0 -1
  860. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-58b169603fdf1d6f.js +0 -1
  861. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-58b169603fdf1d6f.js +0 -1
  862. package/app/.next/static/chunks/app/api/cli-tools/codex-profiles/route-58b169603fdf1d6f.js +0 -1
  863. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-58b169603fdf1d6f.js +0 -1
  864. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-58b169603fdf1d6f.js +0 -1
  865. package/app/.next/static/chunks/app/api/cli-tools/guide-settings/[toolId]/route-58b169603fdf1d6f.js +0 -1
  866. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-58b169603fdf1d6f.js +0 -1
  867. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-58b169603fdf1d6f.js +0 -1
  868. package/app/.next/static/chunks/app/api/cli-tools/runtime/[toolId]/route-58b169603fdf1d6f.js +0 -1
  869. package/app/.next/static/chunks/app/api/cli-tools/status/route-58b169603fdf1d6f.js +0 -1
  870. package/app/.next/static/chunks/app/api/cloud/auth/route-58b169603fdf1d6f.js +0 -1
  871. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-58b169603fdf1d6f.js +0 -1
  872. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-58b169603fdf1d6f.js +0 -1
  873. package/app/.next/static/chunks/app/api/cloud/models/alias/route-58b169603fdf1d6f.js +0 -1
  874. package/app/.next/static/chunks/app/api/combos/[id]/route-58b169603fdf1d6f.js +0 -1
  875. package/app/.next/static/chunks/app/api/combos/metrics/route-58b169603fdf1d6f.js +0 -1
  876. package/app/.next/static/chunks/app/api/combos/route-58b169603fdf1d6f.js +0 -1
  877. package/app/.next/static/chunks/app/api/combos/test/route-58b169603fdf1d6f.js +0 -1
  878. package/app/.next/static/chunks/app/api/compliance/audit-log/route-58b169603fdf1d6f.js +0 -1
  879. package/app/.next/static/chunks/app/api/db-backups/export/route-58b169603fdf1d6f.js +0 -1
  880. package/app/.next/static/chunks/app/api/db-backups/exportAll/route-58b169603fdf1d6f.js +0 -1
  881. package/app/.next/static/chunks/app/api/db-backups/import/route-58b169603fdf1d6f.js +0 -1
  882. package/app/.next/static/chunks/app/api/db-backups/route-58b169603fdf1d6f.js +0 -1
  883. package/app/.next/static/chunks/app/api/evals/[suiteId]/route-58b169603fdf1d6f.js +0 -1
  884. package/app/.next/static/chunks/app/api/evals/route-58b169603fdf1d6f.js +0 -1
  885. package/app/.next/static/chunks/app/api/fallback/chains/route-58b169603fdf1d6f.js +0 -1
  886. package/app/.next/static/chunks/app/api/init/route-58b169603fdf1d6f.js +0 -1
  887. package/app/.next/static/chunks/app/api/keys/[id]/route-58b169603fdf1d6f.js +0 -1
  888. package/app/.next/static/chunks/app/api/keys/route-58b169603fdf1d6f.js +0 -1
  889. package/app/.next/static/chunks/app/api/models/alias/route-58b169603fdf1d6f.js +0 -1
  890. package/app/.next/static/chunks/app/api/models/availability/route-58b169603fdf1d6f.js +0 -1
  891. package/app/.next/static/chunks/app/api/models/catalog/route-58b169603fdf1d6f.js +0 -1
  892. package/app/.next/static/chunks/app/api/models/route-58b169603fdf1d6f.js +0 -1
  893. package/app/.next/static/chunks/app/api/monitoring/health/route-58b169603fdf1d6f.js +0 -1
  894. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-58b169603fdf1d6f.js +0 -1
  895. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-58b169603fdf1d6f.js +0 -1
  896. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-58b169603fdf1d6f.js +0 -1
  897. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-58b169603fdf1d6f.js +0 -1
  898. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-58b169603fdf1d6f.js +0 -1
  899. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-58b169603fdf1d6f.js +0 -1
  900. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-58b169603fdf1d6f.js +0 -1
  901. package/app/.next/static/chunks/app/api/policies/route-58b169603fdf1d6f.js +0 -1
  902. package/app/.next/static/chunks/app/api/pricing/defaults/route-58b169603fdf1d6f.js +0 -1
  903. package/app/.next/static/chunks/app/api/pricing/models/route-58b169603fdf1d6f.js +0 -1
  904. package/app/.next/static/chunks/app/api/pricing/route-58b169603fdf1d6f.js +0 -1
  905. package/app/.next/static/chunks/app/api/provider-metrics/route-58b169603fdf1d6f.js +0 -1
  906. package/app/.next/static/chunks/app/api/provider-models/route-58b169603fdf1d6f.js +0 -1
  907. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-58b169603fdf1d6f.js +0 -1
  908. package/app/.next/static/chunks/app/api/provider-nodes/route-58b169603fdf1d6f.js +0 -1
  909. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-58b169603fdf1d6f.js +0 -1
  910. package/app/.next/static/chunks/app/api/providers/[id]/models/route-58b169603fdf1d6f.js +0 -1
  911. package/app/.next/static/chunks/app/api/providers/[id]/route-58b169603fdf1d6f.js +0 -1
  912. package/app/.next/static/chunks/app/api/providers/[id]/test/route-58b169603fdf1d6f.js +0 -1
  913. package/app/.next/static/chunks/app/api/providers/client/route-58b169603fdf1d6f.js +0 -1
  914. package/app/.next/static/chunks/app/api/providers/route-58b169603fdf1d6f.js +0 -1
  915. package/app/.next/static/chunks/app/api/providers/test-batch/route-58b169603fdf1d6f.js +0 -1
  916. package/app/.next/static/chunks/app/api/providers/validate/route-58b169603fdf1d6f.js +0 -1
  917. package/app/.next/static/chunks/app/api/rate-limit/route-58b169603fdf1d6f.js +0 -1
  918. package/app/.next/static/chunks/app/api/rate-limits/route-58b169603fdf1d6f.js +0 -1
  919. package/app/.next/static/chunks/app/api/resilience/reset/route-58b169603fdf1d6f.js +0 -1
  920. package/app/.next/static/chunks/app/api/resilience/route-58b169603fdf1d6f.js +0 -1
  921. package/app/.next/static/chunks/app/api/restart/route-58b169603fdf1d6f.js +0 -1
  922. package/app/.next/static/chunks/app/api/sessions/route-58b169603fdf1d6f.js +0 -1
  923. package/app/.next/static/chunks/app/api/settings/combo-defaults/route-58b169603fdf1d6f.js +0 -1
  924. package/app/.next/static/chunks/app/api/settings/ip-filter/route-58b169603fdf1d6f.js +0 -1
  925. package/app/.next/static/chunks/app/api/settings/proxy/route-58b169603fdf1d6f.js +0 -1
  926. package/app/.next/static/chunks/app/api/settings/proxy/test/route-58b169603fdf1d6f.js +0 -1
  927. package/app/.next/static/chunks/app/api/settings/require-login/route-58b169603fdf1d6f.js +0 -1
  928. package/app/.next/static/chunks/app/api/settings/route-58b169603fdf1d6f.js +0 -1
  929. package/app/.next/static/chunks/app/api/settings/system-prompt/route-58b169603fdf1d6f.js +0 -1
  930. package/app/.next/static/chunks/app/api/settings/thinking-budget/route-58b169603fdf1d6f.js +0 -1
  931. package/app/.next/static/chunks/app/api/shutdown/route-58b169603fdf1d6f.js +0 -1
  932. package/app/.next/static/chunks/app/api/storage/health/route-58b169603fdf1d6f.js +0 -1
  933. package/app/.next/static/chunks/app/api/sync/cloud/route-58b169603fdf1d6f.js +0 -1
  934. package/app/.next/static/chunks/app/api/sync/initialize/route-58b169603fdf1d6f.js +0 -1
  935. package/app/.next/static/chunks/app/api/tags/route-58b169603fdf1d6f.js +0 -1
  936. package/app/.next/static/chunks/app/api/telemetry/summary/route-58b169603fdf1d6f.js +0 -1
  937. package/app/.next/static/chunks/app/api/token-health/route-58b169603fdf1d6f.js +0 -1
  938. package/app/.next/static/chunks/app/api/translator/detect/route-58b169603fdf1d6f.js +0 -1
  939. package/app/.next/static/chunks/app/api/translator/history/route-58b169603fdf1d6f.js +0 -1
  940. package/app/.next/static/chunks/app/api/translator/load/route-58b169603fdf1d6f.js +0 -1
  941. package/app/.next/static/chunks/app/api/translator/save/route-58b169603fdf1d6f.js +0 -1
  942. package/app/.next/static/chunks/app/api/translator/send/route-58b169603fdf1d6f.js +0 -1
  943. package/app/.next/static/chunks/app/api/translator/translate/route-58b169603fdf1d6f.js +0 -1
  944. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-58b169603fdf1d6f.js +0 -1
  945. package/app/.next/static/chunks/app/api/usage/analytics/route-58b169603fdf1d6f.js +0 -1
  946. package/app/.next/static/chunks/app/api/usage/budget/route-58b169603fdf1d6f.js +0 -1
  947. package/app/.next/static/chunks/app/api/usage/call-logs/[id]/route-58b169603fdf1d6f.js +0 -1
  948. package/app/.next/static/chunks/app/api/usage/call-logs/route-58b169603fdf1d6f.js +0 -1
  949. package/app/.next/static/chunks/app/api/usage/history/route-58b169603fdf1d6f.js +0 -1
  950. package/app/.next/static/chunks/app/api/usage/logs/route-58b169603fdf1d6f.js +0 -1
  951. package/app/.next/static/chunks/app/api/usage/proxy-logs/route-58b169603fdf1d6f.js +0 -1
  952. package/app/.next/static/chunks/app/api/usage/request-logs/route-58b169603fdf1d6f.js +0 -1
  953. package/app/.next/static/chunks/app/api/v1/api/chat/route-58b169603fdf1d6f.js +0 -1
  954. package/app/.next/static/chunks/app/api/v1/audio/speech/route-58b169603fdf1d6f.js +0 -1
  955. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-58b169603fdf1d6f.js +0 -1
  956. package/app/.next/static/chunks/app/api/v1/chat/completions/route-58b169603fdf1d6f.js +0 -1
  957. package/app/.next/static/chunks/app/api/v1/embeddings/route-58b169603fdf1d6f.js +0 -1
  958. package/app/.next/static/chunks/app/api/v1/images/generations/route-58b169603fdf1d6f.js +0 -1
  959. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-58b169603fdf1d6f.js +0 -1
  960. package/app/.next/static/chunks/app/api/v1/messages/route-58b169603fdf1d6f.js +0 -1
  961. package/app/.next/static/chunks/app/api/v1/models/route-58b169603fdf1d6f.js +0 -1
  962. package/app/.next/static/chunks/app/api/v1/moderations/route-58b169603fdf1d6f.js +0 -1
  963. package/app/.next/static/chunks/app/api/v1/providers/[provider]/chat/completions/route-58b169603fdf1d6f.js +0 -1
  964. package/app/.next/static/chunks/app/api/v1/providers/[provider]/embeddings/route-58b169603fdf1d6f.js +0 -1
  965. package/app/.next/static/chunks/app/api/v1/providers/[provider]/images/generations/route-58b169603fdf1d6f.js +0 -1
  966. package/app/.next/static/chunks/app/api/v1/rerank/route-58b169603fdf1d6f.js +0 -1
  967. package/app/.next/static/chunks/app/api/v1/responses/route-58b169603fdf1d6f.js +0 -1
  968. package/app/.next/static/chunks/app/api/v1/route-58b169603fdf1d6f.js +0 -1
  969. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-58b169603fdf1d6f.js +0 -1
  970. package/app/.next/static/chunks/app/api/v1beta/models/route-58b169603fdf1d6f.js +0 -1
  971. package/app/.next/static/chunks/app/global-error-ece0210f8bb4e441.js +0 -1
  972. package/app/.next/static/chunks/app/login/page-8a9aa887783f2370.js +0 -1
  973. package/app/.next/static/chunks/app/not-found-a1cabc3706cf5b84.js +0 -1
  974. package/app/.next/static/chunks/app/page-58b169603fdf1d6f.js +0 -1
  975. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-58b169603fdf1d6f.js +0 -1
  976. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-58b169603fdf1d6f.js +0 -1
  977. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-58b169603fdf1d6f.js +0 -1
  978. package/app/.next/static/css/99e359b9e40091af.css +0 -1
  979. package/app/.next/static/mo3wTjoSYKP1E96Wu512B/_buildManifest.js +0 -1
  980. /package/app/.next/static/{mo3wTjoSYKP1E96Wu512B → PyPKu8KUmFFVZNhlykJuq}/_ssgManifest.js +0 -0
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=3447,exports.ids=[3447],exports.modules={32113:(a,b,c)=>{c.d(b,{SZ:()=>p,Tz:()=>k,e2:()=>n,jJ:()=>o,vA:()=>m});var d=c(60293),e=c(83596);let f="https://api.openai.com/v1",g="https://api.anthropic.com/v1";function h(a){return"string"==typeof a&&a.startsWith("openai-compatible-")}function i(a){return"string"==typeof a&&a.startsWith("anthropic-compatible-")}function j(a){return h(a)&&a.includes("responses")?"responses":"chat"}function k(a){let b=Object.prototype.hasOwnProperty.call(a,"input")&&void 0!==a.input,c=void 0!==a.max_output_tokens||void 0!==a.previous_response_id||void 0!==a.reasoning;if(b||c)return"openai-responses";if(a.request?.contents&&"antigravity"===a.userAgent)return"antigravity";if(a.contents&&Array.isArray(a.contents))return"gemini";if(a.stream_options||a.response_format||void 0!==a.logprobs||void 0!==a.top_logprobs||void 0!==a.n||void 0!==a.presence_penalty||void 0!==a.frequency_penalty||a.logit_bias||a.user)return"openai";if(a.messages&&Array.isArray(a.messages)){let b=a.messages[0];if(b?.content&&Array.isArray(b.content)){let c=b.content[0];if(c?.type==="text"&&!a.model?.includes("/")){if(a.system||a.anthropic_version)return"claude";let c=b.content.some(a=>"image"===a.type&&a.source?.type==="base64"),d=b.content.some(a=>"image_url"===a.type&&a.image_url?.url);if(c)return"claude";if(d)return"openai";if(b.content.some(a=>"tool_use"===a.type||"tool_result"===a.type))return"claude"}}if(void 0!==a.system||a.anthropic_version||a.max_tokens&&!a.stream_options&&!a.response_format)return"claude"}return"openai"}function l(a){if(h(a)){let b=j(a);return{...d.xq.openai,format:"responses"===b?"openai-responses":"openai",baseUrl:f}}return i(a)?{...d.xq.anthropic,format:"claude",baseUrl:g}:d.xq[a]||d.xq.openai}function m(a,b,c=!0,d={}){if(h(a)){var k;let b,c=j(a);return k=d?.baseUrl||f,b=k.replace(/\/$/,""),`${b}${"responses"===c?"/responses":"/chat/completions"}`}if(i(a)){let a;return a=(d?.baseUrl||g).replace(/\/$/,""),`${a}/messages`}let n=(0,e.qs)(a),o=l(a);if(n){if(n.baseUrls){let a=d?.baseUrlIndex||0,e=n.baseUrls[a]||n.baseUrls[0];return n.urlBuilder?n.urlBuilder(e,b,c):e}if(n.urlBuilder)return n.urlBuilder(n.baseUrl,b,c);if(n.urlSuffix)return`${n.baseUrl}${n.urlSuffix}`}return o.baseUrl}function n(a,b,c=!0,d=null){let f=l(a),g=(0,e.qs)(a),h={"Content-Type":"application/json",...f.headers};if(i(a))b.apiKey?h["x-api-key"]=b.apiKey:b.accessToken&&(h.Authorization=`Bearer ${b.accessToken}`),h["anthropic-version"]||(h["anthropic-version"]="2023-06-01");else if("github"===a){let a=b.copilotToken||b.accessToken;h.Authorization=`Bearer ${a}`,h["x-request-id"]=crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)}),c||(h.Accept="application/json")}else if(g){let a=g.authHeader||"bearer";if("x-api-key"===a){let a=b.apiKey||b.accessToken;a&&(h["x-api-key"]=a)}else"x-goog-api-key"===a?b.apiKey?h["x-goog-api-key"]=b.apiKey:b.accessToken&&(h.Authorization=`Bearer ${b.accessToken}`):h.Authorization=`Bearer ${b.apiKey||b.accessToken}`}else h.Authorization=`Bearer ${b.apiKey||b.accessToken}`;return c&&(h.Accept="text/event-stream"),h}function o(a){if(h(a))return"responses"===j(a)?"openai-responses":"openai";if(i(a))return"claude";let b=(0,e.qs)(a);return b?b.format||"openai":l(a).format||"openai"}function p(a){return!function(a){let b=a.messages||a.contents;if(!b?.length)return!0;let c=b[b.length-1];return c?.role==="user"}(a)&&(delete a.reasoning_effort,delete a.thinking),a}},45893:(a,b,c)=>{c.d(b,{Gp:()=>j,IZ:()=>i,UJ:()=>h,g8:()=>d});let d={AUTO:"auto",PASSTHROUGH:"passthrough",CUSTOM:"custom",ADAPTIVE:"adaptive"},e={none:0,low:1024,medium:10240,high:131072},f={mode:d.PASSTHROUGH,customBudget:10240,effortLevel:"medium"},g={...f};function h(a){g={...f,...a}}function i(){return{...g}}function j(a,b=null){let c=b||g;if(!a||"object"!=typeof a)return a;switch(c.mode){case d.AUTO:let f;return f={...a},delete f.thinking,delete f.reasoning_effort,delete f.reasoning,f.generationConfig&&(f.generationConfig={...f.generationConfig},delete f.generationConfig.thinking_config,delete f.generationConfig.thinkingConfig),f;case d.PASSTHROUGH:return a;case d.CUSTOM:return k(a,c.customBudget);case d.ADAPTIVE:return function(a,b){let c=a.messages||a.input||[],d=c.length,f=(a.tools||[]).length,g=0;for(let a=c.length-1;a>=0;a--){let b=c[a];if("user"===b.role){g="string"==typeof b.content?b.content.length:JSON.stringify(b.content||"").length;break}}let h=1;return d>10&&(h+=.5),f>3&&(h+=.5),g>2e3&&(h+=.3),k(a,Math.min(Math.ceil((e[b.effortLevel]||e.medium)*h),131072))}(a,c);default:return a}}function k(a,b){let c,d={...a};return(d.thinking||(c=d.model||"").includes("claude")||c.includes("o1")||c.includes("o3")||c.includes("o4")||c.includes("gemini")||c.includes("thinking"))&&(d.thinking={type:b>0?"enabled":"disabled",budget_tokens:b}),(void 0!==d.reasoning_effort||void 0!==d.reasoning)&&(b<=0?(delete d.reasoning_effort,delete d.reasoning):b<=1024?d.reasoning_effort="low":b<=10240?d.reasoning_effort="medium":d.reasoning_effort="high"),(d.generationConfig?.thinking_config||d.generationConfig?.thinkingConfig)&&(d.generationConfig={...d.generationConfig,thinking_config:{thinking_budget:b}}),d}},55120:(a,b,c)=>{c.d(b,{h:()=>d});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor"}},89575:(a,b,c)=>{c.d(b,{Ws:()=>Z,Ai:()=>$,nZ:()=>Y,kz:()=>V,GH:()=>W,Y8:()=>X});var d,e,f=c(55120);let g="EpwGCkYIChgCKkCzVUuRrg7CcglSUWEef4rH6o35g9UYS8ZPe0/VomQTBsFx6sttYNj5l8GqgW6ejuHyYqpFToxIbZl0bw17l5dJEgzCnqDO0Z8fRlMrNgsaDLS1cnCjC53KBqE0CCIwAADQdo1eO+7qPAmo8J4WR3JPmr92S97kmvr5K1iPMiOpkZNj8mEXW8uzBoOJs/9ZKoMFiqHJ3UObwaJDqFOW70E9oCwDoc6jesaWVAEdN5vWfKMpIkjFJjECdjIdkxyJNJ8Ib8yXVal3qwE7uThoPRqSZDdHB5mmwPEjWE/90cSYCbtX2YsJki1265CabBb8/QEkODXg4kgRrL+c8e8rRXz/dr1RswvaPuzEdGKHRNi9UooNUeOK4/ebx1KkP9YZttyohN9GWqlts36kOoW0Cfie/ABDgF9g534BPth/sstxDM6d79QlRmh6NxizyTF74DXJI34u0M4tTRchqE5pAq85SgdJaa+dix1yJPMji8m6nZkwJbscJb9rdc2MKyKWjz8QL2+rTSSuZ2F1k1qSsW0xNcI7qLcI12Vncfn/VqY6YOIZy/saZBR0ezXvN6g+UYbuIdyVg7AyIFZt3nbrO7/kmOEb2VKzygwklHGEIJHfFgMpH3JSrAzbZIowVHOF7VaJ+KXRFDCFin7hHTOiOsdg+1ij1mML9Z/x/9CP4b7OUcaQm1llDZPSHc6rZMNL3DdB+fW5YfmNgKU35S+7AMtA10nVILzDAk1UV4T2K9Do09JlI6rjOs9UuULlIN2Z0eE8YTlANR6uQcw7lMcdfqYE8tke4rDKc2dDiaS5vVe45VewICNpdXGN11yw8QqH7p27CR1HtN30e0tHXOR3bIwWk/Yb6O5fTaKG6Ri8e5ZCPvdD9HqepVi188nM0iTjJqL58F3ni04ECIhcbyaQWnuTes1Kw4CMwiZDLQkk8Hgz7HkUOf1btQTF/0nhD7ry0n0hAEg2PaDM3V6TjOjf4hEldRmeqERcQF1PfgKb6ZM12rlIIfUqKACczWJSzTV158+47HX36o0cgux6nFlv/DE+sEiRVxgB",h="EuwGCukGAXLI2nxwZIq54WWSoL/YN0P3TsDZ7zRnLi8g0S4aVr2HUGxvaHKySuY6HAVzcE0GPGjXrytLIldxthSvfxgUlJh6Qa9Z+Oj5QZBlYdg6HaJ6yuY5R7waE6rdwBsRf7Ft2j3DJ9rMi9qhWFqApewYtPhls3VHtuvND3l8Rm09+lbAXQs6KKWEWrxNLKTBkfpMgXhRERc/TQRMZu1twAablm6/Zk1tsYRvfWKLsNbeKF+CCojJdXJKvnR/8Ouuoa+Y2Ti20hcW7aZIIjZDFYPU//k6Ybmhg69J/imbFai2ckhfLaisqdDkdoIiBJScTOUvYqP6AE9d4MsydSC+UlhIMk4hoP76R8vUSCZRMkjOaDXstf/QoVZKbt94wyRZgAJ1G0BqI8L5ow86kLpA4wJEtxsRGymOE4bKUvApveBakYDNM9APkf+LbtbzWSseGjoZcSlycF9iN8Q2XNYKRrHbv3Lr5Y8JjdH/5y/6SHkNehTEZugaeGnSPSyCTWto1kQgHpxdWmhkLfJGNUGLmue7Mesj4TSms4J33mRpYVhNB/J333FCqIP0hr/E7BkkjEn7yZ4X7SQlh+xKPurapsnHRwiKmtsilmEFrnTE9iQr+pMr6M29qqFNv1tr5yumbaJw8JW9sB15tNsRv+dW6BjNanbsKz7HCgKUBc8tGy+7YuhXzAfViyRefcjK7eZW0Fbyt7AbybJTKz78W8NH7ye6LAwzOebXpeZ4D43fNIt8bKh26qgduSQv/7o+pAflkuqHZ99YWgHQ8h8OkZFi3eOiSYjsjhdZ/czWOdoPI/OnqIldzMPF5YlrKBLFX8VhRKVmqgsmWf5PHGulHhMkVlS+XG2UIseGy69ARa93D78Gsa+1n1kJr7EEB7Rh+27vUMxVYLdz1yMSvE5nalTAlg/ZeG8+XQ0cHuAI3KbQpHW2Q++RdXfm5JzD5WdJZUU+Zn8t8UUn85BH4RxZLeE0qJikgSsKoYVBc6YhiMjhPgkR95ReimY4Z0xCJdRo1gjexOFeODZMpQF6Yxnoic7IrdgsFA3iePTbFnPp3IAM1fAThWhXJUn3QInUOTd5o1qmTmn6REbL15g/JQNl+dqUoPkhleeb2V3kjqp1okmO3wMZbPknR3S1LZNmlS72/iBQUm+n2b/RCn4PjmM2",i=["text","image_url","image"];var j=c(32113),k=c(45893);let l=new Set([]),m=["glm-","ernie-"];var n=c(60293);function o(a){let b=a.max_tokens||n.Uc;return a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&b<n.eo&&(b=n.eo),b}V(f.h.CLAUDE,f.h.OPENAI,function(a,b,c){let d={model:a,messages:[],stream:c};if(b.max_tokens&&(d.max_tokens=o(b)),void 0!==b.temperature&&(d.temperature=b.temperature),b.system){let a=Array.isArray(b.system)?b.system.map(a=>a.text||"").join("\n"):b.system;a&&d.messages.push({role:"system",content:a})}if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=function(a){let b="user"===a.role||"tool"===a.role?"user":"assistant";if("string"==typeof a.content)return{role:b,content:a.content};if(Array.isArray(a.content)){let c=[],d=[],e=[];for(let b of a.content)switch(b.type){case"text":c.push({type:"text",text:b.text});break;case"image":b.source?.type==="base64"&&c.push({type:"image_url",image_url:{url:`data:${b.source.media_type};base64,${b.source.data}`}});break;case"tool_use":d.push({id:b.id,type:"function",function:{name:b.name,arguments:JSON.stringify(b.input||{})}});break;case"tool_result":let a="";"string"==typeof b.content?a=b.content:Array.isArray(b.content)?a=b.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n")||JSON.stringify(b.content):b.content&&(a=JSON.stringify(b.content)),e.push({role:"tool",tool_call_id:b.tool_use_id,content:a})}if(e.length>0)return c.length>0?[...e,{role:"user",content:1===c.length&&"text"===c[0].type?c[0].text:c}]:e;if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),a.tool_calls=d,a}if(c.length>0)return{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c};if(0===a.content.length)return{role:b,content:""}}return null}(b.messages[a]);c&&(Array.isArray(c)?d.messages.push(...c):d.messages.push(c))}return function(a){for(let b=0;b<a.length;b++){let c=a[b];if("assistant"===c.role&&c.tool_calls&&c.tool_calls.length>0){let d=c.tool_calls.map(a=>a.id),e=new Set,f=b+1;for(let c=b+1;c<a.length;c++){let b=a[c];if("tool"===b.role&&b.tool_call_id)e.add(b.tool_call_id),f=c+1;else break}let g=d.filter(a=>!e.has(a));if(g.length>0){let c=g.map(a=>({role:"tool",tool_call_id:a,content:"[No response received]"}));a.splice(f,0,...c),b=f+c.length-1}}}}(d.messages),b.tools&&Array.isArray(b.tools)&&(d.tools=b.tools.map(a=>({type:"function",function:{name:a.name,description:a.description,parameters:a.input_schema||{type:"object",properties:{}}}}))),b.tool_choice&&(d.tool_choice=function(a){if(!a)return"auto";if("string"==typeof a)return a;switch(a.type){case"auto":default:return"auto";case"any":return"required";case"tool":return{type:"function",function:{name:a.name}}}}(b.tool_choice)),d},null);let p="proxy_";function q(a,b,c){var d;let e=new Map,f={model:a,max_tokens:o(b),stream:c};void 0!==b.temperature&&(f.temperature=b.temperature),f.messages=[];let h=[];if(b.messages&&Array.isArray(b.messages)){let a;for(let a of b.messages)"system"===a.role&&h.push("string"==typeof a.content?a.content:r(a.content));let c=b.messages.filter(a=>"system"!==a.role),d=[],i=()=>{a&&d.length>0&&(f.messages.push({role:a,content:d}),d=[])};for(let b of c){let c="user"===b.role||"tool"===b.role?"user":"assistant",h=function(a,b=new Map){let c=[];if("tool"===a.role)c.push({type:"tool_result",tool_use_id:a.tool_call_id,content:a.content});else if("user"===a.role){if("string"==typeof a.content)a.content&&c.push({type:"text",text:a.content});else if(Array.isArray(a.content))for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_result"===b.type)c.push({type:"tool_result",tool_use_id:b.tool_use_id,content:b.content,...b.is_error&&{is_error:b.is_error}});else if("image_url"===b.type){let a=b.image_url.url.match(/^data:([^;]+);base64,(.+)$/);a&&c.push({type:"image",source:{type:"base64",media_type:a[1],data:a[2]}})}else"image"===b.type&&b.source&&c.push({type:"image",source:b.source})}else if("assistant"===a.role){if(a.reasoning_content&&c.push({type:"thinking",thinking:a.reasoning_content,signature:g}),Array.isArray(a.content))for(let b of a.content)"text"===b.type&&b.text?c.push({type:"text",text:b.text}):"thinking"===b.type||"redacted_thinking"===b.type?c.push({...b,signature:b.signature||g}):"tool_use"===b.type&&c.push({type:"tool_use",id:b.id,name:b.name,input:b.input});else if(a.content){let b="string"==typeof a.content?a.content:r(a.content);b&&c.push({type:"text",text:b})}if(a.tool_calls&&Array.isArray(a.tool_calls)){for(let b of a.tool_calls)if("function"===b.type){let a=p+b.function.name;c.push({type:"tool_use",id:b.id,name:a,input:function(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return a}}(b.function.arguments)})}}}return c}(b,e),j=h.some(a=>"tool_use"===a.type);if(h.some(a=>"tool_result"===a.type)){let b=h.filter(a=>"tool_result"===a.type),e=h.filter(a=>"tool_result"!==a.type);i(),b.length>0&&f.messages.push({role:"user",content:b}),e.length>0&&(a=c,d.push(...e));continue}a!==c&&(i(),a=c),d.push(...h),j&&i()}i();for(let a=f.messages.length-1;a>=0;a--){let b=f.messages[a];if("assistant"===b.role&&Array.isArray(b.content)&&b.content.length>0){let a=b.content[b.content.length-1];if(a){a.cache_control={type:"ephemeral"};break}}}}let i={type:"text",text:n.Co};return h.length>0?f.system=[i,{type:"text",text:h.join("\n"),cache_control:{type:"ephemeral",ttl:"1h"}}]:f.system=[i],b.tools&&Array.isArray(b.tools)&&(f.tools=b.tools.map(a=>{let b="function"===a.type&&a.function?a.function:a,c=b.name,d=p+c;return e.set(d,c),{name:d,description:b.description||"",input_schema:b.parameters||b.input_schema||{type:"object",properties:{},required:[]}}}),f.tools.length>0&&(f.tools[f.tools.length-1].cache_control={type:"ephemeral",ttl:"1h"})),b.tool_choice&&(f.tool_choice=(d=b.tool_choice)?"object"==typeof d&&d.type?d:"auto"===d||"none"===d?{type:"auto"}:"required"===d?{type:"any"}:"object"==typeof d&&d.function?{type:"tool",name:d.function.name}:{type:"auto"}:{type:"auto"}),b.thinking&&(f.thinking={type:b.thinking.type||"enabled",...b.thinking.budget_tokens&&{budget_tokens:b.thinking.budget_tokens},...b.thinking.max_tokens&&{max_tokens:b.thinking.max_tokens}}),e.size>0&&(f._toolNameMap=e),f}function r(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):""}function s(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;a.maxOutputTokens&&(d.max_tokens=o({max_tokens:a.maxOutputTokens,tools:b.tools})),void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d}V(f.h.OPENAI,f.h.CLAUDE,q,null),V(f.h.GEMINI,f.h.OPENAI,s,null),V(f.h.GEMINI_CLI,f.h.OPENAI,s,null);let t=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","pattern","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","additionalProperties","propertyNames","patternProperties","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],u=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function v(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(""):""}function w(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return null}}function x(){return`-${Math.floor(9e18*Math.random())}`}function y(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function z(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function A(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a))),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=z(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=z(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b,c){if(b&&"object"==typeof b)if(Array.isArray(b))for(let d of b)a(d,c);else{for(let a of c)a in b&&delete b[a];for(let d of Object.values(b))d&&"object"==typeof d&&a(d,c)}}(a,t),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}function B(){return crypto.randomUUID()}function C(a,b,c){let d={model:a,contents:[],generationConfig:{},safetySettings:u};void 0!==b.temperature&&(d.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(d.generationConfig.topP=b.top_p),void 0!==b.top_k&&(d.generationConfig.topK=b.top_k),void 0!==b.max_tokens&&(d.generationConfig.maxOutputTokens=b.max_tokens);let e={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)"function"===b.type&&b.id&&b.function?.name&&(e[b.id]=b.function.name)}let f={};if(b.messages&&Array.isArray(b.messages))for(let a of b.messages)"tool"===a.role&&a.tool_call_id&&(f[a.tool_call_id]=a.content);if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=b.messages[a],g=c.role,i=c.content;if("system"===g&&b.messages.length>1)d.systemInstruction={role:"user",parts:[{text:"string"==typeof i?i:v(i)}]};else if("user"===g||"system"===g&&1===b.messages.length){let a=function(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if("text"===c.type)b.push({text:c.text});else if("image_url"===c.type&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}}return b}(i);a.length>0&&d.contents.push({role:"user",parts:a})}else if("assistant"===g){let a=[];if(c.reasoning_content&&(a.push({thought:!0,text:c.reasoning_content}),a.push({thoughtSignature:h,text:""})),i){let b="string"==typeof i?i:v(i);b&&a.push({text:b})}if(c.tool_calls&&Array.isArray(c.tool_calls)){let b=[];for(let d of c.tool_calls){if("function"!==d.type)continue;let c=w(d.function?.arguments||"{}");a.push({thoughtSignature:h,functionCall:{id:d.id,name:d.function.name,args:c}}),b.push(d.id)}if(a.length>0&&d.contents.push({role:"model",parts:a}),b.some(a=>f[a])){let a=[];for(let c of b){if(!f[c])continue;let b=e[c];if(!b){let a=c.split("-");b=a.length>2?a.slice(0,-2).join("-"):c}let d=f[c],g=w(d);null===g?g={result:d}:"object"!=typeof g&&(g={result:g}),a.push({functionResponse:{id:c,name:b,response:{result:g}}})}a.length>0&&d.contents.push({role:"user",parts:a})}}else a.length>0&&d.contents.push({role:"model",parts:a})}}if(b.tools&&Array.isArray(b.tools)&&b.tools.length>0){let a=[];for(let c of b.tools)if(c.name&&c.input_schema)a.push({name:c.name,description:c.description||"",parameters:c.input_schema||{type:"object",properties:{}}});else if("function"===c.type&&c.function){let b=c.function;a.push({name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}})}a.length>0&&(d.tools=[{functionDeclarations:a}])}if(b.response_format)if("json_schema"===b.response_format.type&&b.response_format.json_schema){d.generationConfig.responseMimeType="application/json";let a=b.response_format.json_schema.schema||b.response_format.json_schema;if(a&&"object"==typeof a){let{$schema:b,additionalProperties:c,...e}=a;d.generationConfig.responseSchema=e}}else"json_object"===b.response_format.type?d.generationConfig.responseMimeType="application/json":"text"===b.response_format.type&&(d.generationConfig.responseMimeType="text/plain");return d}function D(a,b,c){let d=C(a,b,c);if(a.toLowerCase().includes("claude"),b.reasoning_effort){let a={low:1024,medium:8192,high:32768}[b.reasoning_effort]||8192;d.generationConfig.thinkingConfig={thinkingBudget:a,include_thoughts:!0}}if(b.thinking?.type==="enabled"&&b.thinking.budget_tokens&&(d.generationConfig.thinkingConfig={thinkingBudget:b.thinking.budget_tokens,include_thoughts:!0}),d.tools?.[0]?.functionDeclarations){for(let a of d.tools[0].functionDeclarations)if(a.parameters){let b=A(a.parameters);a.parameters=b}}return d}function E(a,b,c=null,d=!1){let e={project:c?.projectId||y(),model:a,userAgent:d?"antigravity":"gemini-cli",requestId:d?`agent-${B()}`:`agent-${crypto.randomUUID()}`,request:{sessionId:x(),contents:b.contents,systemInstruction:b.systemInstruction,generationConfig:b.generationConfig,tools:b.tools}};if(d){e.requestType="agent";let a={text:n.$V};e.request.systemInstruction?.parts?e.request.systemInstruction.parts.unshift(a):e.request.systemInstruction={role:"user",parts:[a]},b.tools?.length>0&&(e.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}})}else e.request.safetySettings=b.safetySettings;return e}V(f.h.OPENAI,f.h.GEMINI,function(a,b,c){return C(a,b,c)},null),V(f.h.OPENAI,f.h.GEMINI_CLI,(a,b,c,d)=>E(a,D(a,b,c),d),null),V(f.h.OPENAI,f.h.ANTIGRAVITY,function(a,b,c,d=null){if(a.toLowerCase().includes("claude")){let e,f=((e=q(a,b,c)).system&&Array.isArray(e.system)&&(e.system=e.system.filter(a=>!a.text||!a.text.includes("You are Claude Code")),0===e.system.length&&delete e.system),e.tools&&Array.isArray(e.tools)&&(e.tools=e.tools.map(a=>a.name&&a.name.startsWith(p)?{...a,name:a.name.slice(p.length)}:a)),e.messages&&Array.isArray(e.messages)&&(e.messages=e.messages.map(a=>{if(!a.content||!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type&&a.name&&a.name.startsWith(p)?{...a,name:a.name.slice(p.length)}:a);return{...a,content:b}})),e);return function(a,b,c=null){let d={project:c?.projectId||y(),model:a,userAgent:"antigravity",requestId:`agent-${B()}`,requestType:"agent",request:{sessionId:x(),contents:[],generationConfig:{temperature:b.temperature||1,maxOutputTokens:b.max_tokens||4096}}};if(b.messages&&Array.isArray(b.messages))for(let a of b.messages){let b=[];if(Array.isArray(a.content)){for(let c of a.content)if("text"===c.type)b.push({text:c.text});else if("tool_use"===c.type)b.push({functionCall:{id:c.id,name:c.name,args:c.input||{}}});else if("tool_result"===c.type){let a=c.content;Array.isArray(a)&&(a=a.map(a=>"text"===a.type?a.text:JSON.stringify(a)).join("\n")),b.push({functionResponse:{id:c.tool_use_id,name:"unknown",response:{result:w(a)||a}}})}}else"string"==typeof a.content&&b.push({text:a.content});b.length>0&&d.request.contents.push({role:"assistant"===a.role?"model":"user",parts:b})}if(b.tools&&Array.isArray(b.tools)){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=A(c.input_schema);a.push({name:c.name,description:c.description||"",parameters:b})}a.length>0&&(d.request.tools=[{functionDeclarations:a}],d.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}})}let e=[{text:n.$V}];if(b.system)if(Array.isArray(b.system))for(let a of b.system)a.text&&e.push({text:a.text});else"string"==typeof b.system&&e.push({text:b.system});return d.request.systemInstruction={role:"user",parts:e},d}(a,f,d)}let e=D(a,b,c);return E(a,e,d,!0)},null),V(f.h.ANTIGRAVITY,f.h.OPENAI,function(a,b,c){let d=b.request||b,e={model:a,messages:[],stream:c};if(d.generationConfig){let a=d.generationConfig;if(a.maxOutputTokens&&(e.max_tokens=o({max_tokens:a.maxOutputTokens,tools:d.tools})),void 0!==a.temperature&&(e.temperature=a.temperature),void 0!==a.topP&&(e.top_p=a.topP),void 0!==a.topK&&(e.top_k=a.topK),a.thinkingConfig){let b=a.thinkingConfig.thinkingBudget||0;b>0&&(b<=2048?e.reasoning_effort="low":b<=16384?e.reasoning_effort="medium":e.reasoning_effort="high")}}if(d.systemInstruction){var f;let a="string"==typeof(f=d.systemInstruction)?f:f.parts&&Array.isArray(f.parts)?f.parts.map(a=>a.text||"").join(""):"";a&&e.messages.push({role:"system",content:a})}if(d.contents&&Array.isArray(d.contents))for(let a of d.contents){let b=function(a){let b="model"===a.role?"assistant":"user"===a.role?"user":a.role;if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[],e=[],f="";for(let b of a.parts){if(!0===b.thought&&b.text){f+=b.text;continue}if(b.thoughtSignature&&void 0!==b.text){c.push({type:"text",text:b.text});continue}void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:b.functionCall.id||`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse&&e.push({role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})})}if(e.length>0)return e;if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a.tool_calls=d,a}if(c.length>0||f){let a={role:b};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a}return null}(a);b&&(Array.isArray(b)?e.messages.push(...b):e.messages.push(b))}if(d.tools&&Array.isArray(d.tools)){for(let a of(e.tools=[],d.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)e.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:function a(b){if(!b||"object"!=typeof b)return b;let c=Array.isArray(b)?[...b]:{...b};if("string"==typeof c.type&&(c.type=c.type.toLowerCase()),c.properties){let b={};for(let[d,e]of Object.entries(c.properties))b[d]=a(e);c.properties=b}return c.items&&(c.items=a(c.items)),c}(b.parameters)||{type:"object",properties:{}}}})}return e},null),V(f.h.OPENAI_RESPONSES,f.h.OPENAI,function(a,b,c,d){if(!b.input)return b;let e=["file_search","code_interpreter","web_search_preview"];if(b.tools?.length){for(let a of b.tools)if(e.includes(a.type)){let b=Error(`Unsupported Responses API feature: ${a.type} tool type is not supported by omniroute`);throw b.statusCode=400,b.errorType="unsupported_feature",b}}if(b.background){let a=Error("Unsupported Responses API feature: background mode is not supported by omniroute");throw a.statusCode=400,a.errorType="unsupported_feature",a}let f={...b};f.messages=[],b.instructions&&f.messages.push({role:"system",content:b.instructions});let g=null,h=[];for(let a of b.input){let b=a.type||(a.role?"message":null);if("message"===b){if(g&&(f.messages.push(g),g=null),h.length>0){for(let a of h)f.messages.push(a);h=[]}let b=Array.isArray(a.content)?a.content.map(a=>"input_text"===a.type||"output_text"===a.type?{type:"text",text:a.text}:a):a.content;f.messages.push({role:a.role,content:b})}else if("function_call"===b)g||(g={role:"assistant",content:null,tool_calls:[]}),g.tool_calls.push({id:a.call_id,type:"function",function:{name:a.name,arguments:a.arguments}});else if("function_call_output"===b){if(g&&(f.messages.push(g),g=null),h.length>0){for(let a of h)f.messages.push(a);h=[]}f.messages.push({role:"tool",tool_call_id:a.call_id,content:"string"==typeof a.output?a.output:JSON.stringify(a.output)})}else if("reasoning"===b)continue}if(g&&f.messages.push(g),h.length>0)for(let a of h)f.messages.push(a);return b.tools&&Array.isArray(b.tools)&&(f.tools=b.tools.map(a=>a.function?a:{type:"function",function:{name:a.name,description:a.description,parameters:a.parameters,strict:a.strict}})),delete f.input,delete f.instructions,delete f.include,delete f.prompt_cache_key,delete f.store,delete f.reasoning,f},null),V(f.h.OPENAI,f.h.OPENAI_RESPONSES,function(a,b,c,d){let e={model:a,input:[],stream:!0,store:!1},f=!1;for(let a of b.messages||[]){if("system"===a.role){f||(e.instructions="string"==typeof a.content?a.content:"",f=!0);continue}if("user"===a.role){let b="string"==typeof a.content?[{type:"input_text",text:a.content}]:Array.isArray(a.content)?a.content.map(a=>"text"===a.type?{type:"input_text",text:a.text}:(a.type,a)):[{type:"input_text",text:""}];e.input.push({type:"message",role:"user",content:b})}if("assistant"===a.role){if(a.reasoning_content&&e.input.push({type:"reasoning",id:`reasoning_${e.input.length}`,summary:[{type:"summary_text",text:a.reasoning_content}]}),Array.isArray(a.content))for(let b of a.content)("thinking"===b.type||"redacted_thinking"===b.type)&&e.input.push({type:"reasoning",id:`reasoning_${e.input.length}`,summary:[{type:"summary_text",text:b.thinking||b.data||"..."}]});let b=[];if("string"==typeof a.content&&a.content)b.push({type:"output_text",text:a.content});else if(Array.isArray(a.content))for(let c of a.content)if("text"===c.type&&c.text)b.push({type:"output_text",text:c.text});else{if("thinking"===c.type||"redacted_thinking"===c.type)continue;"thinking"!==c.type&&"redacted_thinking"!==c.type&&b.push(c)}if(b.length>0&&e.input.push({type:"message",role:"assistant",content:b}),a.tool_calls&&Array.isArray(a.tool_calls))for(let b of a.tool_calls)e.input.push({type:"function_call",call_id:b.id,name:b.function?.name||"",arguments:b.function?.arguments||"{}"})}"tool"===a.role&&e.input.push({type:"function_call_output",call_id:a.tool_call_id,output:a.content})}return f||(e.instructions=""),b.tools&&Array.isArray(b.tools)&&(e.tools=b.tools.map(a=>"function"===a.type?{type:"function",name:a.function.name,description:a.function.description,parameters:a.function.parameters,strict:a.function.strict}:a)),void 0!==b.temperature&&(e.temperature=b.temperature),void 0!==b.max_tokens&&(e.max_tokens=b.max_tokens),void 0!==b.top_p&&(e.top_p=b.top_p),e},null);var F=c(94755);function G(a,b,c=null){return{id:`chatcmpl-${a.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}V(f.h.OPENAI,f.h.KIRO,function(a,b,c,d){let e=b.messages||[],f=b.tools||[],g=b.temperature,h=b.top_p,{history:i,currentMessage:j}=function(a,b,c){let d=[],e=null,f=[],g=[],h=[],i=null,j=()=>{if("user"===i){let a={userInputMessage:{content:f.join("\n\n").trim()||"continue",modelId:""}};h.length>0&&(a.userInputMessage.userInputMessageContext={toolResults:h}),b&&b.length>0&&0===d.length&&(a.userInputMessage.userInputMessageContext||(a.userInputMessage.userInputMessageContext={}),a.userInputMessage.userInputMessageContext.tools=b.map(a=>{let b=a.function?.name||a.name,c=a.function?.description||a.description||"";return c.trim()||(c=`Tool: ${b}`),{toolSpecification:{name:b,description:c,inputSchema:{json:a.function?.parameters||a.parameters||a.input_schema||{}}}}})),d.push(a),e=a,f=[],h=[]}else if("assistant"===i){let a=g.join("\n\n").trim()||"...";d.push({assistantResponseMessage:{content:a}}),g=[]}};for(let b=0;b<a.length;b++){let c=a[b],e=c.role;if(("system"===e||"tool"===e)&&(e="user"),e!==i&&null!==i&&j(),i=e,"user"===e){let a="";if("string"==typeof c.content)a=c.content;else if(Array.isArray(c.content)){a=c.content.filter(a=>"text"===a.type||a.text).map(a=>a.text||"").join("\n");let b=c.content.filter(a=>"tool_result"===a.type);b.length>0&&b.forEach(a=>{let b=Array.isArray(a.content)?a.content.map(a=>a.text||"").join("\n"):"string"==typeof a.content?a.content:"";h.push({toolUseId:a.tool_use_id,status:"success",content:[{text:b}]})})}if("tool"===c.role){let a="string"==typeof c.content?c.content:"";h.push({toolUseId:c.tool_call_id,status:"success",content:[{text:a}]})}else a&&f.push(a)}else if("assistant"===e){let a="",b=[];if(Array.isArray(c.content)?(a=c.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n").trim(),b=c.content.filter(a=>"tool_use"===a.type)):"string"==typeof c.content&&(a=c.content.trim()),c.tool_calls&&c.tool_calls.length>0&&(b=c.tool_calls),a&&g.push(a),b.length>0){g.length,j();let a=d[d.length-1];a?.assistantResponseMessage&&(a.assistantResponseMessage.toolUses=b.map(a=>a.function?{toolUseId:a.id||(0,F.A)(),name:a.function.name,input:"string"==typeof a.function.arguments?JSON.parse(a.function.arguments):a.function.arguments||{}}:{toolUseId:a.id||(0,F.A)(),name:a.name,input:a.input||{}})),i=null}}}null!==i&&j(),d.length>0&&d[d.length-1].userInputMessage&&(e=d.pop());let k=d[0];return k?.userInputMessage?.userInputMessageContext?.tools&&!e?.userInputMessage?.userInputMessageContext?.tools&&(e.userInputMessage.userInputMessageContext||(e.userInputMessage.userInputMessageContext={}),e.userInputMessage.userInputMessageContext.tools=k.userInputMessage.userInputMessageContext.tools),d.forEach(a=>{a.userInputMessage?.userInputMessageContext?.tools&&delete a.userInputMessage.userInputMessageContext.tools,a.userInputMessage?.userInputMessageContext&&0===Object.keys(a.userInputMessage.userInputMessageContext).length&&delete a.userInputMessage.userInputMessageContext,a.userInputMessage&&!a.userInputMessage.modelId&&(a.userInputMessage.modelId=c)}),{history:d,currentMessage:e}}(e,f,a),k=d?.providerSpecificData?.profileArn||"",l=j?.userInputMessage?.content||"",m=new Date().toISOString();l=`[Context: Current time is ${m}]
2
+
3
+ ${l}`;let n={conversationState:{chatTriggerType:"MANUAL",conversationId:(0,F.A)(),currentMessage:{userInputMessage:{content:l,modelId:a,origin:"AI_EDITOR",...j?.userInputMessage?.userInputMessageContext&&{userInputMessageContext:j.userInputMessage.userInputMessageContext}}},history:i}};return k&&(n.profileArn=k),n.inferenceConfig={},n.inferenceConfig.maxTokens=32e3,void 0!==g&&(n.inferenceConfig.temperature=g),void 0!==h&&(n.inferenceConfig.topP=h),n},null),c(92773),V(f.h.CLAUDE,f.h.GEMINI,function(a,b,c){let d={model:a,contents:[],generationConfig:{},safetySettings:u};if(void 0!==b.temperature&&(d.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(d.generationConfig.topP=b.top_p),void 0!==b.top_k&&(d.generationConfig.topK=b.top_k),void 0!==b.max_tokens&&(d.generationConfig.maxOutputTokens=b.max_tokens),b.system){let a;(a=Array.isArray(b.system)?b.system.map(a=>a.text||"").join("\n"):String(b.system))&&(d.systemInstruction={role:"user",parts:[{text:a}]})}let e={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if("assistant"===a.role&&Array.isArray(a.content))for(let b of a.content)"tool_use"===b.type&&b.id&&b.name&&(e[b.id]=b.name)}if(b.messages&&Array.isArray(b.messages))for(let a of b.messages){let b=[];if(Array.isArray(a.content))for(let c of a.content)switch(c.type){case"text":c.text&&b.push({text:c.text});break;case"thinking":c.thinking&&(b.push({thought:!0,text:c.thinking}),b.push({thoughtSignature:h,text:""}));break;case"tool_use":b.push({thoughtSignature:h,functionCall:{id:c.id,name:c.name,args:c.input||{}}});break;case"tool_result":{let a=c.content;Array.isArray(a)&&(a=a.map(a=>"text"===a.type?a.text:JSON.stringify(a)).join("\n"));let d=w(a);null===d?d={result:a}:"object"!=typeof d&&(d={result:d}),b.push({functionResponse:{id:c.tool_use_id,name:e[c.tool_use_id]||"unknown",response:{result:d}}});break}case"image":c.source?.type==="base64"&&b.push({inlineData:{mimeType:c.source.media_type,data:c.source.data}})}else"string"==typeof a.content&&a.content&&b.push({text:a.content});if(b.length>0){let c="assistant"===a.role?"model":"user";d.contents.push({role:c,parts:b})}}if(b.tools&&Array.isArray(b.tools)&&b.tools.length>0){let a=[];for(let c of b.tools)c.name&&a.push({name:c.name,description:c.description||"",parameters:c.input_schema||{type:"object",properties:{}}});a.length>0&&(d.tools=[{functionDeclarations:a}])}return b.thinking?.type==="enabled"&&b.thinking.budget_tokens&&(d.generationConfig.thinkingConfig={thinkingBudget:b.thinking.budget_tokens,include_thoughts:!0}),d},null),V(f.h.CLAUDE,f.h.OPENAI,null,function(a,b){if(!a)return null;let c=[];switch(a.type){case"message_start":b.messageId=a.message?.id||`msg_${Date.now()}`,b.model=a.message?.model,b.toolCallIndex=0,c.push(G(b,{role:"assistant"}));break;case"content_block_start":{let d=a.content_block;if(d?.type==="text")b.textBlockStarted=!0;else if(d?.type==="thinking")b.inThinkingBlock=!0,b.currentBlockIndex=a.index,c.push(G(b,{content:"<think>"}));else if(d?.type==="tool_use"){let e=b.toolCallIndex++,f=b.toolNameMap?.get(d.name)||d.name,g={index:e,id:d.id,type:"function",function:{name:f,arguments:""}};b.toolCalls.set(a.index,g),c.push(G(b,{tool_calls:[g]}))}break}case"content_block_delta":{let d=a.delta;if(d?.type==="text_delta"&&d.text)c.push(G(b,{content:d.text}));else if(d?.type==="thinking_delta"&&d.thinking)c.push(G(b,{content:d.thinking}));else if(d?.type==="input_json_delta"&&d.partial_json){let e=b.toolCalls.get(a.index);e&&(e.function.arguments+=d.partial_json,c.push(G(b,{tool_calls:[{index:e.index,id:e.id,function:{arguments:d.partial_json}}]})))}break}case"content_block_stop":b.inThinkingBlock&&a.index===b.currentBlockIndex&&(c.push(G(b,{content:"</think>"})),b.inThinkingBlock=!1),b.textBlockStarted=!1,b.thinkingBlockStarted=!1;break;case"message_delta":if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.input_tokens?a.usage.input_tokens:0,d="number"==typeof a.usage.output_tokens?a.usage.output_tokens:0,e="number"==typeof a.usage.cache_read_input_tokens?a.usage.cache_read_input_tokens:0,f="number"==typeof a.usage.cache_creation_input_tokens?a.usage.cache_creation_input_tokens:0;b.usage={prompt_tokens:c,completion_tokens:d,input_tokens:c,output_tokens:d},e>0&&(b.usage.cache_read_input_tokens=e),f>0&&(b.usage.cache_creation_input_tokens=f)}if(a.delta?.stop_reason){b.finishReason=function(a){switch(a){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(a.delta.stop_reason);let d={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:b.finishReason}]};if(b.usage&&"object"==typeof b.usage){let a=b.usage.input_tokens||0,c=b.usage.output_tokens||0,e=b.usage.cache_read_input_tokens||0,f=b.usage.cache_creation_input_tokens||0,g=a+e+f;d.usage={prompt_tokens:g,completion_tokens:c,total_tokens:g+c},(e>0||f>0)&&(d.usage.prompt_tokens_details={},e>0&&(d.usage.prompt_tokens_details.cached_tokens=e),f>0&&(d.usage.prompt_tokens_details.cache_creation_tokens=f))}c.push(d),b.finishReasonSent=!0}break;case"message_stop":if(!b.finishReasonSent){let a=b.finishReason||(b.toolCalls?.size>0?"tool_calls":"stop"),d=b.usage&&"object"==typeof b.usage?{usage:{prompt_tokens:b.usage.input_tokens||0,completion_tokens:b.usage.output_tokens||0,total_tokens:(b.usage.input_tokens||0)+(b.usage.output_tokens||0)}}:{};c.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}],...d}),b.finishReasonSent=!0}}return c.length>0?c:null});let H="proxy_";function I(a,b){a.thinkingBlockStarted&&(b.push({type:"content_block_stop",index:a.thinkingBlockIndex}),a.thinkingBlockStarted=!1)}function J(a,b){a.textBlockStarted&&!a.textBlockClosed&&(a.textBlockClosed=!0,b.push({type:"content_block_stop",index:a.textBlockIndex}),a.textBlockStarted=!1)}function K(a,b){if(!a)return null;let c=a.response||a;if(!c||!c.candidates?.[0])return null;let d=[],e=c.candidates[0],f=e.content;if(b.messageId||(b.messageId=c.responseId||`msg_${Date.now()}`,b.model=c.modelVersion||"gemini",b.functionIndex=0,d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),f?.parts)for(let a of f.parts){let c=a.thoughtSignature||a.thought_signature,e=!0===a.thought;if(c){let c=void 0!==a.text&&""!==a.text,f=!!a.functionCall;if(c&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:e?{reasoning_content:a.text}:{content:a.text},finish_reason:null}]}),f){let c=a.functionCall.name,e=a.functionCall.args||{},f=b.functionIndex++,g={id:`${c}-${Date.now()}-${f}`,index:f,type:"function",function:{name:c,arguments:JSON.stringify(e)}};b.toolCalls.set(f,g),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[g]},finish_reason:null}]})}continue}if(void 0!==a.text&&""!==a.text&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{content:a.text},finish_reason:null}]}),a.functionCall){let c=a.functionCall.name,e=a.functionCall.args||{},f=b.functionIndex++,g={id:`${c}-${Date.now()}-${f}`,index:f,type:"function",function:{name:c,arguments:JSON.stringify(e)}};b.toolCalls.set(f,g),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[g]},finish_reason:null}]})}let f=a.inlineData||a.inline_data;if(f?.data){let a=f.mimeType||f.mime_type||"image/png";d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{images:[{type:"image_url",image_url:{url:`data:${a};base64,${f.data}`}}]},finish_reason:null}]})}}let g=c.usageMetadata||a.usageMetadata;if(g&&"object"==typeof g){let a="number"==typeof g.cachedContentTokenCount?g.cachedContentTokenCount:0,c="number"==typeof g.promptTokenCount?g.promptTokenCount:0,d="number"==typeof g.thoughtsTokenCount?g.thoughtsTokenCount:0,e="number"==typeof g.candidatesTokenCount?g.candidatesTokenCount:0,f="number"==typeof g.totalTokenCount?g.totalTokenCount:0;0===e&&f>0&&(e=f-c-d)<0&&(e=0),b.usage={prompt_tokens:c,completion_tokens:e+d,total_tokens:f},a>0&&(b.usage.prompt_tokens_details={cached_tokens:a}),d>0&&(b.usage.completion_tokens_details={reasoning_tokens:d})}if(e.finishReason){let a=e.finishReason.toLowerCase();"stop"===a&&b.toolCalls.size>0&&(a="tool_calls");let c={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}]};b.usage&&(c.usage=b.usage),d.push(c),b.finishReason=a}return d.length>0?d:null}function L(a,b){if(!a)return null;let c=a.response||a;if(!c||!c.candidates?.[0])return null;let d=[],e=c.candidates[0],f=e.content;if(b.messageId||(b.messageId=c.responseId||`msg_${Date.now()}`,b.model=c.modelVersion||"gemini",b.contentBlockIndex=0,d.push({type:"message_start",message:{id:b.messageId,type:"message",role:"assistant",model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}})),f?.parts)for(let a of f.parts){let c=a.thoughtSignature||a.thought_signature,e=!0===a.thought;if(e&&a.text){let c=b.contentBlockIndex++;d.push({type:"content_block_start",index:c,content_block:{type:"thinking",thinking:""}}),d.push({type:"content_block_delta",index:c,delta:{type:"thinking_delta",thinking:a.text}}),d.push({type:"content_block_stop",index:c});continue}if(a.functionCall){let c=a.functionCall,e=b.contentBlockIndex++,f=c.id||`toolu_${Date.now()}_${e}`;d.push({type:"content_block_start",index:e,content_block:{type:"tool_use",id:f,name:c.name,input:{}}});let g=JSON.stringify(c.args||{});d.push({type:"content_block_delta",index:e,delta:{type:"input_json_delta",partial_json:g}}),d.push({type:"content_block_stop",index:e}),b.hasToolUse||(b.hasToolUse=!0);continue}if(void 0!==a.text&&""!==a.text&&!c){let c=b.contentBlockIndex++;d.push({type:"content_block_start",index:c,content_block:{type:"text",text:""}}),d.push({type:"content_block_delta",index:c,delta:{type:"text_delta",text:a.text}}),d.push({type:"content_block_stop",index:c})}if(c&&void 0!==a.text&&""!==a.text&&!e&&!a.functionCall){let c=b.contentBlockIndex++;d.push({type:"content_block_start",index:c,content_block:{type:"text",text:""}}),d.push({type:"content_block_delta",index:c,delta:{type:"text_delta",text:a.text}}),d.push({type:"content_block_stop",index:c})}}let g=c.usageMetadata||a.usageMetadata;if(g&&"object"==typeof g){let a="number"==typeof g.promptTokenCount?g.promptTokenCount:0,c="number"==typeof g.candidatesTokenCount?g.candidatesTokenCount:0,d="number"==typeof g.thoughtsTokenCount?g.thoughtsTokenCount:0,e="number"==typeof g.cachedContentTokenCount?g.cachedContentTokenCount:0;b.usage={input_tokens:a,output_tokens:c+d},e>0&&(b.usage.cache_read_input_tokens=e)}if(e.finishReason){let a,c=e.finishReason.toLowerCase();a=b.hasToolUse||"tool_calls"===c?"tool_use":"max_tokens"===c||"length"===c?"max_tokens":"end_turn",d.push({type:"message_delta",delta:{stop_reason:a,stop_sequence:null},usage:b.usage||{input_tokens:0,output_tokens:0}}),d.push({type:"message_stop"})}return d.length>0?d:null}function M(a,b,c){a.reasoningId||(a.reasoningId=`rs_${a.responseId}_${c}`,a.reasoningIndex=c,b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:a.reasoningId,type:"reasoning",summary:[]}}),b("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:a.reasoningId,output_index:c,summary_index:0,part:{type:"summary_text",text:""}}),a.reasoningPartAdded=!0)}function N(a,b,c){c&&(a.reasoningBuf+=c,b("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,delta:c}))}function O(a,b){a.reasoningId&&!a.reasoningDone&&(a.reasoningDone=!0,b("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,text:a.reasoningBuf}),b("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,part:{type:"summary_text",text:a.reasoningBuf}}),b("response.output_item.done",{type:"response.output_item.done",output_index:a.reasoningIndex,item:{id:a.reasoningId,type:"reasoning",summary:[{type:"summary_text",text:a.reasoningBuf}]}}))}function P(a,b,c){if(a.msgItemAdded[c]&&!a.msgItemDone[c]){a.msgItemDone[c]=!0;let d=a.msgTextBuf[c]||"",e=`msg_${a.responseId}_${c}`;b("response.output_text.done",{type:"response.output_text.done",item_id:e,output_index:parseInt(c),content_index:0,text:d,logprobs:[]}),b("response.content_part.done",{type:"response.content_part.done",item_id:e,output_index:parseInt(c),content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:d}}),b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:e,type:"message",content:[{type:"output_text",annotations:[],logprobs:[],text:d}],role:"assistant"}})}}function Q(a,b,c){let d=a.funcCallIds[c];if(d&&!a.funcItemDone[c]){let e=a.funcArgsBuf[c]||"{}";b("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:`fc_${d}`,output_index:parseInt(c),arguments:e}),b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:`fc_${d}`,type:"function_call",arguments:e,call_id:d,name:a.funcNames[c]||""}}),a.funcItemDone[c]=!0,a.funcArgsDone[c]=!0}}function R(a,b){a.completedSent||(a.completedSent=!0,b("response.completed",{type:"response.completed",response:{id:a.responseId,object:"response",created_at:a.created,status:"completed",background:!1,error:null}}))}function S(){return d||(d=new Map),d}function T(){return e||(e=new Map),e}function U(a){return"string"==typeof a?{type:"message",role:"user",content:[{type:"input_text",text:a}]}:a&&"object"==typeof a?a.type||a.role?a.type?a:{type:"message",...a}:"string"==typeof a.text?{type:"message",role:"user",content:[{type:"input_text",text:a.text}]}:a:a}function V(a,b,c,d){let e=`${a}:${b}`;c&&S().set(e,c),d&&T().set(e,d)}function W(a,b,c,d,e=!0,h=null,n=null,o=null){let p=d;if(p=(0,k.Gp)(p),(0,j.SZ)(p),!function(a){if(a.messages&&Array.isArray(a.messages)){for(let b of a.messages)if("assistant"===b.role&&b.tool_calls&&Array.isArray(b.tool_calls))for(let a of b.tool_calls)a.id||(a.id=`call_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`),a.type||(a.type="function"),a.function?.arguments&&"string"!=typeof a.function.arguments&&(a.function.arguments=JSON.stringify(a.function.arguments))}}(p),!function(a){if(!a.messages||!Array.isArray(a.messages))return;let b=[];for(let c=0;c<a.messages.length;c++){let d=a.messages[c],e=a.messages[c+1];b.push(d);let f=function(a){if("assistant"!==a.role)return[];let b=[];if(a.tool_calls&&Array.isArray(a.tool_calls))for(let c of a.tool_calls)c.id&&b.push(c.id);if(Array.isArray(a.content))for(let c of a.content)"tool_use"===c.type&&c.id&&b.push(c.id);return b}(d);if(0!==f.length&&e&&!function(a,b){if(!a||!b.length)return!1;if("tool"===a.role&&a.tool_call_id)return b.includes(a.tool_call_id);if("user"===a.role&&Array.isArray(a.content)){for(let c of a.content)if("tool_result"===c.type&&b.includes(c.tool_use_id))return!0}return!1}(e,f))for(let a of f)b.push({role:"tool",tool_call_id:a,content:""})}a.messages=b}(p),p.messages&&Array.isArray(p.messages)&&(p.messages=function(a,b,c,d){if(!Array.isArray(a))return a;let e=Array.isArray(a)&&"openai"!==d?a.map(a=>"developer"===a.role?{...a,role:"system"}:a):a;return function(a,b,c){if(!Array.isArray(a)||0===a.length||function(a,b){if(l.has(a))return!1;let c=(b||"").toLowerCase();for(let a of m)if(c.startsWith(a))return!1;return!0}(b,c))return a;let d=a.filter(a=>"system"===a.role||"developer"===a.role);if(0===d.length)return a;let e=d.map(a=>"string"==typeof a.content?a.content:Array.isArray(a.content)?a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):"").filter(Boolean).join("\n\n");if(!e)return a.filter(a=>"system"!==a.role&&"developer"!==a.role);let f=a.filter(a=>"system"!==a.role&&"developer"!==a.role),g=f.findIndex(a=>"user"===a.role);if(g>=0){let a=f[g],b="string"==typeof a.content?a.content:Array.isArray(a.content)?a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):"";f[g]={...a,content:`[System Instructions]
4
+ ${e}
5
+
6
+ [User Message]
7
+ ${b}`}}else f.unshift({role:"user",content:`[System Instructions]
8
+ ${e}`});return f}(e,b,c)}(p.messages,n||"",c||"",b)),a!==b){let d=`${a}:${b}`,g=S().get(d);if(g&&a!==f.h.OPENAI&&b!==f.h.OPENAI)p=g(c,p,e,h);else{if(a!==f.h.OPENAI){let b=S().get(`${a}:${f.h.OPENAI}`);b&&(p=b(c,p,e,h),o?.logOpenAIRequest?.(p))}if(b!==f.h.OPENAI){let a=S().get(`${f.h.OPENAI}:${b}`);a&&(p=a(c,p,e,h))}}}return b===f.h.OPENAI&&(p=function(a){if(!a.messages||!Array.isArray(a.messages))return a;if(a.messages=a.messages.map(a=>{if("tool"===a.role||"assistant"===a.role&&a.tool_calls||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=[],c=null;for(let d of a.content){if("thinking"===d.type){c=d.thinking||d.text||"";continue}if("redacted_thinking"!==d.type){if(i.includes(d.type)){let{signature:a,cache_control:c,...e}=d;b.push(e)}else if("tool_use"===d.type)continue;else if("tool_result"===d.type){let{signature:a,cache_control:c,...e}=d;b.push(e)}}}0===b.length&&b.push({type:"text",text:""});let d={...a,content:b};return c&&"assistant"===a.role&&(d.reasoning_content=c),d}return a}),a.messages=a.messages.filter(a=>"tool"===a.role||"assistant"===a.role&&!!a.tool_calls||("string"==typeof a.content?""!==a.content.trim():!Array.isArray(a.content)||a.content.some(a=>"text"===a.type&&a.text?.trim()||"text"!==a.type))),a.tools&&Array.isArray(a.tools)&&0===a.tools.length&&delete a.tools,a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&(a.tools=a.tools.map(a=>"function"===a.type&&a.function?a:a.name&&(a.input_schema||a.description)?{type:"function",function:{name:a.name,description:a.description||"",parameters:a.input_schema||{type:"object",properties:{}}}}:a.functionDeclarations&&Array.isArray(a.functionDeclarations)?a.functionDeclarations.map(a=>({type:"function",function:{name:a.name,description:a.description||"",parameters:a.parameters||{type:"object",properties:{}}}})):a).flat()),a.tool_choice&&"object"==typeof a.tool_choice){let b=a.tool_choice;"auto"===b.type?a.tool_choice="auto":"any"===b.type?a.tool_choice="required":"tool"===b.type&&b.name&&(a.tool_choice={type:"function",function:{name:b.name}})}return a}(p)),b===f.h.CLAUDE&&(p=function(a,b=null){if(a.system&&Array.isArray(a.system)&&(a.system=a.system.map((b,c)=>{let{cache_control:d,...e}=b;return c===a.system.length-1?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e})),a.messages&&Array.isArray(a.messages)){let c=a.messages.length,d=[];for(let b=0;b<c;b++){let e=a.messages[b];if(Array.isArray(e.content))for(let a of e.content)delete a.cache_control;(b===c-1&&"assistant"===e.role||"string"==typeof e.content&&e.content.trim()||Array.isArray(e.content)&&e.content.some(a=>"text"===a.type&&a.text?.trim()||"tool_use"===a.type||"tool_result"===a.type))&&d.push(e)}a.messages=d=function(a){if(a.length<=1)return a;for(let b of a)if("assistant"===b.role&&Array.isArray(b.content)&&b.content.some(a=>"tool_use"===a.type)){let a=[],c=!1;for(let d of b.content)"tool_use"===d.type?(c=!0,a.push(d)):"thinking"===d.type||"redacted_thinking"===d.type?a.push(d):c||a.push(d);b.content=a}let b=[];for(let c of a){let a=b[b.length-1];if(a&&a.role===c.role){let b=Array.isArray(a.content)?a.content:[{type:"text",text:a.content}],d=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];a.content=[...b.filter(a=>"tool_result"===a.type),...d.filter(a=>"tool_result"===a.type),...b.filter(a=>"tool_result"!==a.type),...d.filter(a=>"tool_result"!==a.type)]}else{let a=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];b.push({role:c.role,content:[...a]})}}return b}(d);let e=d[d.length-1],f=e?.role==="user",h=a.thinking?.type==="enabled"&&f,i=!1;for(let a=d.length-1;a>=0;a--){let c=d[a];if("assistant"===c.role&&Array.isArray(c.content)&&(!i&&c.content.length>0&&(c.content[c.content.length-1].cache_control={type:"ephemeral"},i=!0),"claude"===b||b?.startsWith?.("anthropic-compatible-"))){let a=!1,b=!1;for(let d of c.content)("thinking"===d.type||"redacted_thinking"===d.type)&&(d.signature=g,b=!0),"tool_use"===d.type&&(a=!0);h&&!b&&a&&c.content.unshift({type:"thinking",thinking:".",signature:g})}}}return a.tools&&Array.isArray(a.tools)&&(a.tools=a.tools.map((b,c)=>{let{cache_control:d,...e}=b;return c===a.tools.length-1?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e})),a}(p,n)),b===f.h.OPENAI_RESPONSES&&(p=function(a){if(!a||"object"!=typeof a)return a;let b={...a};return"string"==typeof b.input?b.input=[{type:"message",role:"user",content:[{type:"input_text",text:b.input}]}]:Array.isArray(b.input)?b.input=b.input.map(U):b.input&&"object"==typeof b.input&&(b.input=[U(b.input)]),b}(p)),p}function X(a,b,c,d){if(b===a)return[c];let e=[c],g=null,h=`${a}:${b}`,i=T().get(h);if(i&&a!==f.h.OPENAI&&b!==f.h.OPENAI){let a=i(c,d);return a?Array.isArray(a)?a:[a]:[]}if(a!==f.h.OPENAI){let b=T().get(`${a}:${f.h.OPENAI}`);if(b){e=[];let a=b(c,d);a&&(g=e=Array.isArray(a)?a:[a])}}if(b!==f.h.OPENAI){let a=T().get(`${f.h.OPENAI}:${b}`);if(a){let b=[];for(let c of e){let e=a(c,d);e&&b.push(...Array.isArray(e)?e:[e])}e=b}}return g&&b!==f.h.OPENAI&&a!==f.h.OPENAI&&(e._openaiIntermediate=g),e}function Y(a,b){return a!==b}function Z(a){let b={messageId:null,model:null,textBlockStarted:!1,thinkingBlockStarted:!1,inThinkingBlock:!1,currentBlockIndex:null,toolCalls:new Map,finishReason:null,finishReasonSent:!1,usage:null,contentBlockIndex:-1};return a===f.h.OPENAI_RESPONSES?{...b,seq:0,responseId:`resp_${Date.now()}`,created:Math.floor(Date.now()/1e3),started:!1,msgTextBuf:{},msgItemAdded:{},msgContentAdded:{},msgItemDone:{},reasoningId:"",reasoningIndex:-1,reasoningBuf:"",reasoningPartAdded:!1,reasoningDone:!1,inThinking:!1,funcArgsBuf:{},funcNames:{},funcCallIds:{},funcArgsDone:{},funcItemDone:{},completedSent:!1}:b}function $(){}V(f.h.OPENAI,f.h.CLAUDE,null,function(a,b){if(!a||!a.choices?.[0])return null;let c=[],d=a.choices[0],e=d.delta;if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.prompt_tokens?a.usage.prompt_tokens:0,d="number"==typeof a.usage.completion_tokens?a.usage.completion_tokens:0,e=a.usage.prompt_tokens_details?.cached_tokens,f=a.usage.prompt_tokens_details?.cache_creation_tokens,g="number"==typeof e?e:0,h="number"==typeof f?f:0;b.usage={input_tokens:c-g-h,output_tokens:d},g>0&&(b.usage.cache_read_input_tokens=g),h>0&&(b.usage.cache_creation_input_tokens=h)}b.messageStartSent||(b.messageStartSent=!0,b.messageId=a.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!b.messageId||"chat"===b.messageId||b.messageId.length<8)&&(b.messageId=a.extend_fields?.requestId||a.extend_fields?.traceId||`msg_${Date.now()}`),b.model=a.model||"unknown",b.nextBlockIndex=0,c.push({type:"message_start",message:{id:b.messageId,type:"message",role:"assistant",model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let f=e?.reasoning_content||e?.reasoning;if(f&&(J(b,c),b.thinkingBlockStarted||(b.thinkingBlockIndex=b.nextBlockIndex++,b.thinkingBlockStarted=!0,c.push({type:"content_block_start",index:b.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),c.push({type:"content_block_delta",index:b.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:f}})),e?.content&&(I(b,c),b.textBlockStarted||(b.textBlockIndex=b.nextBlockIndex++,b.textBlockStarted=!0,b.textBlockClosed=!1,c.push({type:"content_block_start",index:b.textBlockIndex,content_block:{type:"text",text:""}})),c.push({type:"content_block_delta",index:b.textBlockIndex,delta:{type:"text_delta",text:e.content}})),e?.tool_calls)for(let a of e.tool_calls){let d=a.index??0;if(a.id){I(b,c),J(b,c);let e=b.nextBlockIndex++;b.toolCalls.set(d,{id:a.id,name:a.function?.name||"",blockIndex:e});let f=a.function?.name||"";f.startsWith(H)&&(f=f.slice(H.length)),c.push({type:"content_block_start",index:e,content_block:{type:"tool_use",id:a.id,name:f,input:{}}})}if(a.function?.arguments){let e=b.toolCalls.get(d);e&&c.push({type:"content_block_delta",index:e.blockIndex,delta:{type:"input_json_delta",partial_json:a.function.arguments}})}}if(d.finish_reason){for(let[,a]of(I(b,c),J(b,c),b.toolCalls))c.push({type:"content_block_stop",index:a.blockIndex});b.finishReason=d.finish_reason;let a=b.usage||{input_tokens:0,output_tokens:0};c.push({type:"message_delta",delta:{stop_reason:function(a){switch(a){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(d.finish_reason)},usage:a}),c.push({type:"message_stop"})}return c.length>0?c:null}),V(f.h.GEMINI,f.h.OPENAI,null,K),V(f.h.GEMINI_CLI,f.h.OPENAI,null,K),V(f.h.ANTIGRAVITY,f.h.OPENAI,null,K),V(f.h.GEMINI,f.h.CLAUDE,null,L),V(f.h.GEMINI_CLI,f.h.CLAUDE,null,L),V(f.h.ANTIGRAVITY,f.h.CLAUDE,null,L),V(f.h.OPENAI,f.h.ANTIGRAVITY,null,function(a,b){if(!a)return null;let c=a.choices?.[0];if(!c)return a.usage&&(b._usage=a.usage),null;let d=c.delta||{},e=c.finish_reason;b._toolCallAccum||(b._toolCallAccum={}),b._responseId||(b._responseId=a.id||`resp_${Date.now()}`),b._modelVersion||(b._modelVersion=a.model||"");let f=[];if(d.reasoning_content&&f.push({thought:!0,text:d.reasoning_content}),d.content&&f.push({text:d.content}),d.tool_calls){for(let a of d.tool_calls){let c=a.index??0;b._toolCallAccum[c]||(b._toolCallAccum[c]={id:"",name:"",arguments:""});let d=b._toolCallAccum[c];a.id&&(d.id=a.id),a.function?.name&&(d.name+=a.function.name),a.function?.arguments&&(d.arguments+=a.function.arguments)}if(0===f.length&&!e)return null}if(e)for(let a of Object.keys(b._toolCallAccum)){let c=b._toolCallAccum[a],d={};try{d=JSON.parse(c.arguments)}catch{}f.push({functionCall:{name:c.name,args:d}})}if(0===f.length&&!e)return null;0===f.length&&e&&f.push({text:""});let g={content:{role:"model",parts:f}};e&&(g.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[e]||"STOP");let h={candidates:[g],modelVersion:b._modelVersion,responseId:b._responseId},i=a.usage||b._usage;return i&&(h.usageMetadata={promptTokenCount:i.prompt_tokens||0,candidatesTokenCount:i.completion_tokens||0,totalTokenCount:i.total_tokens||0},i.completion_tokens_details?.reasoning_tokens&&(h.usageMetadata.thoughtsTokenCount=i.completion_tokens_details.reasoning_tokens),i.prompt_tokens_details?.cached_tokens&&(h.usageMetadata.cachedContentTokenCount=i.prompt_tokens_details.cached_tokens)),{response:h}}),V(f.h.OPENAI,f.h.OPENAI_RESPONSES,null,function(a,b){if(!a){var c=b;if(c.completedSent)return[];let a=[],d=(b,d)=>{d.sequence_number=++c.seq,a.push({event:b,data:d})};for(let a in c.msgItemAdded)P(c,d,a);for(let a in O(c,d),c.funcCallIds)Q(c,d,a);return R(c,d),a}if(!a.choices?.length)return[];let d=[],e=(a,c)=>{c.sequence_number=++b.seq,d.push({event:a,data:c})},f=a.choices[0],g=f.index||0,h=f.delta||{};if(b.started||(b.started=!0,b.responseId=a.id?`resp_${a.id}`:b.responseId,e("response.created",{type:"response.created",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress",background:!1,error:null,output:[]}}),e("response.in_progress",{type:"response.in_progress",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress"}})),h.reasoning_content&&(M(b,e,g),N(b,e,h.reasoning_content)),h.content){let a=h.content;if(a.includes("<think>")&&(b.inThinking=!0,a=a.replace("<think>",""),M(b,e,g)),a.includes("</think>")){let c=a.split("</think>"),d=c[0],f=c.slice(1).join("</think>");d&&N(b,e,d),O(b,e),b.inThinking=!1,a=f}if(b.inThinking&&a)return N(b,e,a),d;a&&function(a,b,c,d){if(!a.msgItemAdded[c]){a.msgItemAdded[c]=!0;let d=`msg_${a.responseId}_${c}`;b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:d,type:"message",content:[],role:"assistant"}})}a.msgContentAdded[c]||(a.msgContentAdded[c]=!0,b("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:""}})),b("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,delta:d,logprobs:[]}),a.msgTextBuf[c]||(a.msgTextBuf[c]=""),a.msgTextBuf[c]+=d}(b,e,g,a)}if(h.tool_calls)for(let a of(P(b,e,g),h.tool_calls))!function(a,b,c){let d=c.index??0,e=c.id,f=c.function?.name;if(f&&(a.funcNames[d]=f),!a.funcCallIds[d]&&e&&(a.funcCallIds[d]=e,b("response.output_item.added",{type:"response.output_item.added",output_index:d,item:{id:`fc_${e}`,type:"function_call",arguments:"",call_id:e,name:a.funcNames[d]||""}})),a.funcArgsBuf[d]||(a.funcArgsBuf[d]=""),c.function?.arguments){let f=a.funcCallIds[d]||e;f&&b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:`fc_${f}`,output_index:d,delta:c.function.arguments}),a.funcArgsBuf[d]+=c.function.arguments}}(b,e,a);if(f.finish_reason){for(let a in b.msgItemAdded)P(b,e,a);for(let a in O(b,e),b.funcCallIds)Q(b,e,a);R(b,e)}return d}),V(f.h.OPENAI_RESPONSES,f.h.OPENAI,null,function(a,b){if(!a)return!b.finishReasonSent&&b.started?(b.finishReasonSent=!0,{id:b.chatId||`chatcmpl-${Date.now()}`,object:"chat.completion.chunk",created:b.created||Math.floor(Date.now()/1e3),model:b.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:"stop"}]}):null;let c=a.type||a.event,d=a.data||a;if(b.started||(b.started=!0,b.chatId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.toolCallIndex=0,b.currentToolCallId=null),"response.output_text.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"gpt-4",choices:[{index:0,delta:{content:a},finish_reason:null}]}:null}if("response.output_text.done"===c)return null;if("response.output_item.added"===c&&d.item?.type==="function_call"){let a=d.item;return b.currentToolCallId=a.call_id||`call_${Date.now()}`,{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:b.toolCallIndex,id:b.currentToolCallId,type:"function",function:{name:a.name||"",arguments:""}}]},finish_reason:null}]}}if("response.function_call_arguments.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"gpt-4",choices:[{index:0,delta:{tool_calls:[{index:b.toolCallIndex,function:{arguments:a}}]},finish_reason:null}]}:null}if("response.output_item.done"===c&&d.item?.type==="function_call")return b.toolCallIndex++,null;if("response.completed"===c){let a=d.response?.usage;if(a&&"object"==typeof a){let c=a.input_tokens||a.prompt_tokens||0,d=a.output_tokens||a.completion_tokens||0,e=a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0,g=c+e+f;b.usage={prompt_tokens:g,completion_tokens:d,total_tokens:g+d},(e>0||f>0)&&(b.usage.prompt_tokens_details={},e>0&&(b.usage.prompt_tokens_details.cached_tokens=e),f>0&&(b.usage.prompt_tokens_details.cache_creation_tokens=f))}if(!b.finishReasonSent){b.finishReasonSent=!0,b.finishReason="stop";let a={id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"gpt-4",choices:[{index:0,delta:{},finish_reason:"stop"}]};return b.usage&&"object"==typeof b.usage&&(a.usage=b.usage),a}}return null}),V(f.h.KIRO,f.h.OPENAI,null,function(a,b){if(!a)return null;if("chat.completion.chunk"===a.object&&a.choices)return a;let c=a;if("string"==typeof a){let b=a.split("\n"),d="",e="";for(let a of b)a.startsWith("event:")?d=a.slice(6).trim():a.startsWith(":event-type:")?d=a.slice(12).trim():a.startsWith("data:")?e=a.slice(5).trim():a.startsWith(":content-type:")||a.trim()&&!a.startsWith(":")&&(e=a.trim());if(!e)return null;try{(c=JSON.parse(e))._eventType=d}catch{c={text:e,_eventType:d}}}b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.chunkIndex=0);let d=c._eventType||c.event||"";if("assistantResponseEvent"===d||c.assistantResponseEvent){let a=c.assistantResponseEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:a},finish_reason:null}]};return b.chunkIndex++,d}if("reasoningContentEvent"===d||c.reasoningContentEvent){let a=c.reasoningContentEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:`<thinking>${a}</thinking>`},finish_reason:null}]};return b.chunkIndex++,d}if("toolUseEvent"===d||c.toolUseEvent){let a=c.toolUseEvent||c,d=a.toolUseId||`call_${Date.now()}`,e=a.name||"",f=a.input||{},g={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:d,type:"function",function:{name:e,arguments:JSON.stringify(f)}}]},finish_reason:null}]};return b.chunkIndex++,g}if("messageStopEvent"===d||"done"===d||c.messageStopEvent){b.finishReason="stop";let a={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return b.usage&&"object"==typeof b.usage&&(a.usage=b.usage),a}if("usageEvent"===d||c.usageEvent){let a=c.usageEvent||c;a&&"object"==typeof a&&(b.usage={prompt_tokens:a.inputTokens||0,completion_tokens:a.outputTokens||0,total_tokens:(a.inputTokens||0)+(a.outputTokens||0)})}return null}),V(f.h.CURSOR,f.h.OPENAI,null,function(a,b){return a?("chat.completion.chunk"===a.object&&a.choices||"chat.completion"===a.object&&a.choices,a):null})},92773:(a,b,c)=>{c.d(b,{k:()=>f});var d=c(89575),e=c(55120);function f(a,b,c,d){let e=function(a){let b=[],c=[];for(let d=0;d<a.length;d++){let e=a[d];if("system"===e.role){b.push({role:"user",content:`[System Instructions]
9
+ ${e.content}`});continue}if("tool"===e.role){let a="";if("string"==typeof e.content)a=e.content;else if(Array.isArray(e.content))for(let b of e.content)"text"===b.type&&(a+=b.text);let b=e.name||"tool",d=e.tool_call_id||"";c.push({tool_call_id:d,name:b,index:c.length,raw_args:a});continue}if("user"===e.role||"assistant"===e.role){let a="";if("string"==typeof e.content)a=e.content;else if(Array.isArray(e.content))for(let b of e.content)"text"===b.type&&(a+=b.text);if("assistant"===e.role&&e.tool_calls&&e.tool_calls.length>0){let d={role:"assistant"};a&&(d.content=a),d.tool_calls=e.tool_calls,c.length>0&&(d.tool_results=c,c=[]),b.push(d)}else if(a||c.length>0){let d={role:e.role,content:a||""};c.length>0&&(d.tool_results=c,c=[]),b.push(d)}}}return b}(b.messages||[]);return{...b,messages:e}}(0,d.kz)(e.h.OPENAI,e.h.CURSOR,f,null)}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=4133,exports.ids=[4133],exports.modules={17347:(a,b,c)=>{c.d(b,{cE:()=>m,k6:()=>l});var d=c(99129),e=c(73575),f=c(36281);let g=a=>Math.floor(a.getTime()/1e3),h=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function i(a){let b,c=h.exec(a);if(!c||c[4]&&c[1])throw TypeError("Invalid time period format");let d=parseFloat(c[2]);switch(c[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":b=Math.round(d);break;case"minute":case"minutes":case"min":case"mins":case"m":b=Math.round(60*d);break;case"hour":case"hours":case"hr":case"hrs":case"h":b=Math.round(3600*d);break;case"day":case"days":case"d":b=Math.round(86400*d);break;case"week":case"weeks":case"w":b=Math.round(604800*d);break;default:b=Math.round(0x1e187e0*d)}return"-"===c[1]||"ago"===c[4]?-b:b}function j(a,b){if(!Number.isFinite(b))throw TypeError(`Invalid ${a} input`);return b}let k=a=>a.includes("/")?a.toLowerCase():`application/${a.toLowerCase()}`;function l(a,b,c={}){var h,j;let m,n;try{m=JSON.parse(e.D0.decode(b))}catch{}if(!(0,f.G)(m))throw new d.Dp("JWT Claims Set must be a top-level JSON object");let{typ:o}=c;if(o&&("string"!=typeof a.typ||k(a.typ)!==k(o)))throw new d.ie('unexpected "typ" JWT header value',m,"typ","check_failed");let{requiredClaims:p=[],issuer:q,subject:r,audience:s,maxTokenAge:t}=c,u=[...p];for(let a of(void 0!==t&&u.push("iat"),void 0!==s&&u.push("aud"),void 0!==r&&u.push("sub"),void 0!==q&&u.push("iss"),new Set(u.reverse())))if(!(a in m))throw new d.ie(`missing required "${a}" claim`,m,a,"missing");if(q&&!(Array.isArray(q)?q:[q]).includes(m.iss))throw new d.ie('unexpected "iss" claim value',m,"iss","check_failed");if(r&&m.sub!==r)throw new d.ie('unexpected "sub" claim value',m,"sub","check_failed");if(s&&(h=m.aud,j="string"==typeof s?[s]:s,"string"==typeof h?!j.includes(h):!(Array.isArray(h)&&j.some(Set.prototype.has.bind(new Set(h))))))throw new d.ie('unexpected "aud" claim value',m,"aud","check_failed");switch(typeof c.clockTolerance){case"string":n=i(c.clockTolerance);break;case"number":n=c.clockTolerance;break;case"undefined":n=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:v}=c,w=g(v||new Date);if((void 0!==m.iat||t)&&"number"!=typeof m.iat)throw new d.ie('"iat" claim must be a number',m,"iat","invalid");if(void 0!==m.nbf){if("number"!=typeof m.nbf)throw new d.ie('"nbf" claim must be a number',m,"nbf","invalid");if(m.nbf>w+n)throw new d.ie('"nbf" claim timestamp check failed',m,"nbf","check_failed")}if(void 0!==m.exp){if("number"!=typeof m.exp)throw new d.ie('"exp" claim must be a number',m,"exp","invalid");if(m.exp<=w-n)throw new d.n('"exp" claim timestamp check failed',m,"exp","check_failed")}if(t){let a=w-m.iat;if(a-n>("number"==typeof t?t:i(t)))throw new d.n('"iat" claim timestamp check failed (too far in the past)',m,"iat","check_failed");if(a<0-n)throw new d.ie('"iat" claim timestamp check failed (it should be in the past)',m,"iat","check_failed")}return m}class m{#a;constructor(a){if(!(0,f.G)(a))throw TypeError("JWT Claims Set MUST be an object");this.#a=structuredClone(a)}data(){return e.Rd.encode(JSON.stringify(this.#a))}get iss(){return this.#a.iss}set iss(a){this.#a.iss=a}get sub(){return this.#a.sub}set sub(a){this.#a.sub=a}get aud(){return this.#a.aud}set aud(a){this.#a.aud=a}set jti(a){this.#a.jti=a}set nbf(a){"number"==typeof a?this.#a.nbf=j("setNotBefore",a):a instanceof Date?this.#a.nbf=j("setNotBefore",g(a)):this.#a.nbf=g(new Date)+i(a)}set exp(a){"number"==typeof a?this.#a.exp=j("setExpirationTime",a):a instanceof Date?this.#a.exp=j("setExpirationTime",g(a)):this.#a.exp=g(new Date)+i(a)}set iat(a){void 0===a?this.#a.iat=g(new Date):a instanceof Date?this.#a.iat=j("setIssuedAt",g(a)):"string"==typeof a?this.#a.iat=j("setIssuedAt",g(new Date)+i(a)):this.#a.iat=j("setIssuedAt",a)}}},24762:(a,b,c)=>{c.d(b,{y:()=>i});var d=c(58287),e=c(75497),f=c(38192);let g=a=>a?.[Symbol.toStringTag],h=(a,b,c)=>{if(void 0!==b.use){let a;switch(c){case"sign":case"verify":a="sig";break;case"encrypt":case"decrypt":a="enc"}if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==a)throw TypeError(`Invalid key for this operation, its "alg" must be "${a}" when present`);if(Array.isArray(b.key_ops)){let d;switch(!0){case"sign"===c||"verify"===c:case"dir"===a:case a.includes("CBC-HS"):d=c;break;case a.startsWith("PBES2"):d="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(a):d=!a.includes("GCM")&&a.endsWith("KW")?"encrypt"===c?"wrapKey":"unwrapKey":c;break;case"encrypt"===c&&a.startsWith("RSA"):d="wrapKey";break;case"decrypt"===c:d=a.startsWith("RSA")?"unwrapKey":"deriveBits"}if(d&&b.key_ops?.includes?.(d)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}return!0};function i(a,b,c){switch(a.substring(0,2)){case"A1":case"A2":case"di":case"HS":case"PB":((a,b,c)=>{if(!(b instanceof Uint8Array)){if(f.ll(b)){if(f.t9(b)&&h(a,b,c))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!(0,e.P2)(b))throw TypeError((0,d.t)(a,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==b.type)throw TypeError(`${g(b)} instances for symmetric algorithms must be of type "secret"`)}})(a,b,c);break;default:((a,b,c)=>{if(f.ll(b))switch(c){case"decrypt":case"sign":if(f.W2(b)&&h(a,b,c))return;throw TypeError("JSON Web Key for this operation must be a private JWK");case"encrypt":case"verify":if(f.M3(b)&&h(a,b,c))return;throw TypeError("JSON Web Key for this operation must be a public JWK")}if(!(0,e.P2)(b))throw TypeError((0,d.t)(a,b,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===b.type)throw TypeError(`${g(b)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===b.type)switch(c){case"sign":throw TypeError(`${g(b)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw TypeError(`${g(b)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===b.type)switch(c){case"verify":throw TypeError(`${g(b)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw TypeError(`${g(b)} instances for asymmetric algorithm encryption must be of type "public"`)}})(a,b,c)}}},30121:(a,b,c)=>{c.d(b,{B:()=>e});var d=c(99129);function e(a,b){let c=`SHA-${a.slice(-3)}`;switch(a){case"HS256":case"HS384":case"HS512":return{hash:c,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:c,name:"RSA-PSS",saltLength:parseInt(a.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:c,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:c,name:"ECDSA",namedCurve:b.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return{name:a};default:throw new d.T0(`alg ${a} is not supported either by JOSE or your javascript runtime`)}}},36281:(a,b,c)=>{c.d(b,{G:()=>d});function d(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;if(null===Object.getPrototypeOf(a))return!0;let b=a;for(;null!==Object.getPrototypeOf(b);)b=Object.getPrototypeOf(b);return Object.getPrototypeOf(a)===b}},38192:(a,b,c)=>{c.d(b,{M3:()=>g,W2:()=>f,ll:()=>e,t9:()=>h});var d=c(36281);let e=a=>(0,d.G)(a)&&"string"==typeof a.kty,f=a=>"oct"!==a.kty&&("AKP"===a.kty&&"string"==typeof a.priv||"string"==typeof a.d),g=a=>"oct"!==a.kty&&void 0===a.d&&void 0===a.priv,h=a=>"oct"===a.kty&&"string"==typeof a.k},41842:(a,b,c)=>{c.d(b,{f:()=>d});function d(...a){let b,c=a.filter(Boolean);if(0===c.length||1===c.length)return!0;for(let a of c){let c=Object.keys(a);if(!b||0===b.size){b=new Set(c);continue}for(let a of c){if(b.has(a))return!1;b.add(a)}}return!0}},48682:(a,b,c)=>{c.d(b,{O:()=>d});function d(a,b){if(a.startsWith("RS")||a.startsWith("PS")){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}}},55956:(a,b,c)=>{let d;c.d(b,{l:()=>k});var e=c(38192),f=c(56642),g=c(99129);async function h(a){if(!a.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:b,keyUsages:c}=function(a){let b,c;switch(a.kty){case"AKP":switch(a.alg){case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":b={name:a.alg},c=a.priv?["sign"]:["verify"];break;default:throw new g.T0('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"RSA":switch(a.alg){case"PS256":case"PS384":case"PS512":b={name:"RSA-PSS",hash:`SHA-${a.alg.slice(-3)}`},c=a.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":b={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${a.alg.slice(-3)}`},c=a.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":b={name:"RSA-OAEP",hash:`SHA-${parseInt(a.alg.slice(-3),10)||1}`},c=a.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new g.T0('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(a.alg){case"ES256":b={name:"ECDSA",namedCurve:"P-256"},c=a.d?["sign"]:["verify"];break;case"ES384":b={name:"ECDSA",namedCurve:"P-384"},c=a.d?["sign"]:["verify"];break;case"ES512":b={name:"ECDSA",namedCurve:"P-521"},c=a.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":b={name:"ECDH",namedCurve:a.crv},c=a.d?["deriveBits"]:[];break;default:throw new g.T0('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(a.alg){case"Ed25519":case"EdDSA":b={name:"Ed25519"},c=a.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":b={name:a.crv},c=a.d?["deriveBits"]:[];break;default:throw new g.T0('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new g.T0('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:b,keyUsages:c}}(a),d={...a};return"AKP"!==d.kty&&delete d.alg,delete d.use,crypto.subtle.importKey("jwk",d,b,a.ext??(!a.d&&!a.priv),a.key_ops??c)}var i=c(75497);let j=async(a,b,c,e=!1)=>{let f=(d||=new WeakMap).get(a);if(f?.[c])return f[c];let g=await h({...b,alg:c});return e&&Object.freeze(a),f?f[c]=g:d.set(a,{[c]:g}),g};async function k(a,b){if(a instanceof Uint8Array||(0,i.R7)(a))return a;if((0,i.D2)(a)){if("secret"===a.type)return a.export();if("toCryptoKey"in a&&"function"==typeof a.toCryptoKey)try{return((a,b)=>{let c,e=(d||=new WeakMap).get(a);if(e?.[b])return e[b];let f="public"===a.type,g=!!f;if("x25519"===a.asymmetricKeyType){switch(b){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}c=a.toCryptoKey(a.asymmetricKeyType,g,f?[]:["deriveBits"])}if("ed25519"===a.asymmetricKeyType){if("EdDSA"!==b&&"Ed25519"!==b)throw TypeError("given KeyObject instance cannot be used for this algorithm");c=a.toCryptoKey(a.asymmetricKeyType,g,[f?"verify":"sign"])}switch(a.asymmetricKeyType){case"ml-dsa-44":case"ml-dsa-65":case"ml-dsa-87":if(b!==a.asymmetricKeyType.toUpperCase())throw TypeError("given KeyObject instance cannot be used for this algorithm");c=a.toCryptoKey(a.asymmetricKeyType,g,[f?"verify":"sign"])}if("rsa"===a.asymmetricKeyType){let d;switch(b){case"RSA-OAEP":d="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":d="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":d="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":d="SHA-512";break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}if(b.startsWith("RSA-OAEP"))return a.toCryptoKey({name:"RSA-OAEP",hash:d},g,f?["encrypt"]:["decrypt"]);c=a.toCryptoKey({name:b.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:d},g,[f?"verify":"sign"])}if("ec"===a.asymmetricKeyType){let d=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(a.asymmetricKeyDetails?.namedCurve);if(!d)throw TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===b&&"P-256"===d&&(c=a.toCryptoKey({name:"ECDSA",namedCurve:d},g,[f?"verify":"sign"])),"ES384"===b&&"P-384"===d&&(c=a.toCryptoKey({name:"ECDSA",namedCurve:d},g,[f?"verify":"sign"])),"ES512"===b&&"P-521"===d&&(c=a.toCryptoKey({name:"ECDSA",namedCurve:d},g,[f?"verify":"sign"])),b.startsWith("ECDH-ES")&&(c=a.toCryptoKey({name:"ECDH",namedCurve:d},g,f?[]:["deriveBits"]))}if(!c)throw TypeError("given KeyObject instance cannot be used for this algorithm");return e?e[b]=c:d.set(a,{[b]:c}),c})(a,b)}catch(a){if(a instanceof TypeError)throw a}let c=a.export({format:"jwk"});return j(a,c,b)}if((0,e.ll)(a))return a.k?(0,f.D)(a.k):j(a,a,b,!0);throw Error("unreachable")}},56642:(a,b,c)=>{c.d(b,{D:()=>e,l:()=>f});var d=c(73575);function e(a){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof a?a:d.D0.decode(a),{alphabet:"base64url"});let b=a;b instanceof Uint8Array&&(b=d.D0.decode(b)),b=b.replace(/-/g,"+").replace(/_/g,"/");try{var c=b;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(c);let a=atob(c),d=new Uint8Array(a.length);for(let b=0;b<a.length;b++)d[b]=a.charCodeAt(b);return d}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}function f(a){let b=a;return("string"==typeof b&&(b=d.Rd.encode(b)),Uint8Array.prototype.toBase64)?b.toBase64({alphabet:"base64url",omitPadding:!0}):(function(a){if(Uint8Array.prototype.toBase64)return a.toBase64();let b=[];for(let c=0;c<a.length;c+=32768)b.push(String.fromCharCode.apply(null,a.subarray(c,c+32768)));return btoa(b.join(""))})(b).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}},58287:(a,b,c)=>{function d(a,b,...c){if((c=c.filter(Boolean)).length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a}c.d(b,{X:()=>e,t:()=>f});let e=(a,...b)=>d("Key must be ",a,...b),f=(a,b,...c)=>d(`Key for the ${a} algorithm must be `,b,...c)},63952:(a,b,c)=>{c.d(b,{j:()=>g});let d=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);function e(a){return parseInt(a.name.slice(4),10)}var f=c(58287);async function g(a,b,c){if(b instanceof Uint8Array){if(!a.startsWith("HS"))throw TypeError((0,f.X)(b,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",b,{hash:`SHA-${a.slice(-3)}`,name:"HMAC"},!1,[c])}return!function(a,b,c){switch(b){case"HS256":case"HS384":case"HS512":{if("HMAC"!==a.algorithm.name)throw d("HMAC");let c=parseInt(b.slice(2),10);if(e(a.algorithm.hash)!==c)throw d(`SHA-${c}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if("RSASSA-PKCS1-v1_5"!==a.algorithm.name)throw d("RSASSA-PKCS1-v1_5");let c=parseInt(b.slice(2),10);if(e(a.algorithm.hash)!==c)throw d(`SHA-${c}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if("RSA-PSS"!==a.algorithm.name)throw d("RSA-PSS");let c=parseInt(b.slice(2),10);if(e(a.algorithm.hash)!==c)throw d(`SHA-${c}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if("Ed25519"!==a.algorithm.name)throw d("Ed25519");break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":let f;if(f=a.algorithm,f.name!==b)throw d(b);break;case"ES256":case"ES384":case"ES512":{if("ECDSA"!==a.algorithm.name)throw d("ECDSA");let c=function(a){switch(a){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}(b);if(a.algorithm.namedCurve!==c)throw d(c,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}if(c&&!a.usages.includes(c))throw TypeError(`CryptoKey does not support this operation, its usages must include ${c}.`)}(b,a,c),b}},73575:(a,b,c)=>{c.d(b,{D0:()=>e,Rd:()=>d,lF:()=>g,xW:()=>f});let d=new TextEncoder,e=new TextDecoder;function f(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function g(a){let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}},75497:(a,b,c)=>{c.d(b,{D2:()=>e,P2:()=>f,R7:()=>d});let d=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}},e=a=>a?.[Symbol.toStringTag]==="KeyObject",f=a=>d(a)||e(a)},80308:(a,b,c)=>{c.d(b,{n:()=>e});var d=c(99129);function e(a,b,c,e,f){let g;if(void 0!==f.crit&&e?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!e||void 0===e.crit)return new Set;if(!Array.isArray(e.crit)||0===e.crit.length||e.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let h of(g=void 0!==c?new Map([...Object.entries(c),...b.entries()]):b,e.crit)){if(!g.has(h))throw new d.T0(`Extension Header Parameter "${h}" is not recognized`);if(void 0===f[h])throw new a(`Extension Header Parameter "${h}" is missing`);if(g.get(h)&&void 0===e[h])throw new a(`Extension Header Parameter "${h}" MUST be integrity protected`)}return new Set(e.crit)}},99129:(a,b,c)=>{c.d(b,{Dp:()=>j,Rb:()=>g,T0:()=>h,Ye:()=>i,h2:()=>l,ie:()=>e,n:()=>f});class d extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class e extends d{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class f extends d{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class g extends d{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class h extends d{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class i extends d{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class j extends d{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class k extends d{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(a="multiple matching keys found in the JSON Web Key Set",b){super(a,b)}}class l extends d{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}}};
@@ -0,0 +1,243 @@
1
+ "use strict";exports.id=4488,exports.ids=[4488],exports.modules={44488:(a,b,c)=>{c.d(b,{getDbInstance:()=>z});var d=c(87550),e=c.n(d),f=c(76760),g=c.n(f),h=c(73024),i=c.n(h),j=c(48161),k=c.n(j);let l="omniroute";function m(){try{return k().homedir()}catch{return process.cwd()}}function n(a){if("string"!=typeof a)return null;let b=a.trim();return b?g().resolve(b):null}function o(){return g().join(m(),`.${l}`)}let p=(0,c(73136).fileURLToPath)("file:///home/runner/work/OmniRoute/OmniRoute/src/lib/db/migrationRunner.ts"),q=g().dirname(p),r=g().join(q,"migrations"),s="object"==typeof globalThis.caches&&null!==globalThis.caches,t="phase-production-build"===process.env.NEXT_PHASE,u=function({isCloud:a=!1}={}){if(a)return"/tmp";let b=n(process.env.DATA_DIR);if(b)return b;let c=m();if("win32"===process.platform){let a=process.env.APPDATA||g().join(c,"AppData","Roaming");return g().join(a,l)}let d=n(process.env.XDG_CONFIG_HOME);return d?g().join(d,l):o()}({isCloud:s});s||o();let v=s?null:g().join(u,"storage.sqlite"),w=s?null:g().join(u,"db.json");s||g().join(u,"db_backups"),s||i().existsSync(u)||i().mkdirSync(u,{recursive:!0});let x=`
2
+ CREATE TABLE IF NOT EXISTS provider_connections (
3
+ id TEXT PRIMARY KEY,
4
+ provider TEXT NOT NULL,
5
+ auth_type TEXT,
6
+ name TEXT,
7
+ email TEXT,
8
+ priority INTEGER DEFAULT 0,
9
+ is_active INTEGER DEFAULT 1,
10
+ access_token TEXT,
11
+ refresh_token TEXT,
12
+ expires_at TEXT,
13
+ token_expires_at TEXT,
14
+ scope TEXT,
15
+ project_id TEXT,
16
+ test_status TEXT,
17
+ error_code TEXT,
18
+ last_error TEXT,
19
+ last_error_at TEXT,
20
+ last_error_type TEXT,
21
+ last_error_source TEXT,
22
+ backoff_level INTEGER DEFAULT 0,
23
+ rate_limited_until TEXT,
24
+ health_check_interval INTEGER,
25
+ last_health_check_at TEXT,
26
+ last_tested TEXT,
27
+ api_key TEXT,
28
+ id_token TEXT,
29
+ provider_specific_data TEXT,
30
+ expires_in INTEGER,
31
+ display_name TEXT,
32
+ global_priority INTEGER,
33
+ default_model TEXT,
34
+ token_type TEXT,
35
+ consecutive_use_count INTEGER DEFAULT 0,
36
+ rate_limit_protection INTEGER DEFAULT 0,
37
+ created_at TEXT NOT NULL,
38
+ updated_at TEXT NOT NULL
39
+ );
40
+ CREATE INDEX IF NOT EXISTS idx_pc_provider ON provider_connections(provider);
41
+ CREATE INDEX IF NOT EXISTS idx_pc_active ON provider_connections(is_active);
42
+ CREATE INDEX IF NOT EXISTS idx_pc_priority ON provider_connections(provider, priority);
43
+
44
+ CREATE TABLE IF NOT EXISTS provider_nodes (
45
+ id TEXT PRIMARY KEY,
46
+ type TEXT NOT NULL,
47
+ name TEXT NOT NULL,
48
+ prefix TEXT,
49
+ api_type TEXT,
50
+ base_url TEXT,
51
+ created_at TEXT NOT NULL,
52
+ updated_at TEXT NOT NULL
53
+ );
54
+
55
+ CREATE TABLE IF NOT EXISTS key_value (
56
+ namespace TEXT NOT NULL,
57
+ key TEXT NOT NULL,
58
+ value TEXT NOT NULL,
59
+ PRIMARY KEY (namespace, key)
60
+ );
61
+
62
+ CREATE TABLE IF NOT EXISTS combos (
63
+ id TEXT PRIMARY KEY,
64
+ name TEXT NOT NULL UNIQUE,
65
+ data TEXT NOT NULL,
66
+ created_at TEXT NOT NULL,
67
+ updated_at TEXT NOT NULL
68
+ );
69
+
70
+ CREATE TABLE IF NOT EXISTS api_keys (
71
+ id TEXT PRIMARY KEY,
72
+ name TEXT NOT NULL,
73
+ key TEXT NOT NULL UNIQUE,
74
+ machine_id TEXT,
75
+ created_at TEXT NOT NULL
76
+ );
77
+ CREATE INDEX IF NOT EXISTS idx_ak_key ON api_keys(key);
78
+
79
+ CREATE TABLE IF NOT EXISTS db_meta (
80
+ key TEXT PRIMARY KEY,
81
+ value TEXT
82
+ );
83
+
84
+ CREATE TABLE IF NOT EXISTS usage_history (
85
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
86
+ provider TEXT,
87
+ model TEXT,
88
+ connection_id TEXT,
89
+ api_key_id TEXT,
90
+ api_key_name TEXT,
91
+ tokens_input INTEGER DEFAULT 0,
92
+ tokens_output INTEGER DEFAULT 0,
93
+ tokens_cache_read INTEGER DEFAULT 0,
94
+ tokens_cache_creation INTEGER DEFAULT 0,
95
+ tokens_reasoning INTEGER DEFAULT 0,
96
+ status TEXT,
97
+ timestamp TEXT NOT NULL
98
+ );
99
+ CREATE INDEX IF NOT EXISTS idx_uh_timestamp ON usage_history(timestamp);
100
+ CREATE INDEX IF NOT EXISTS idx_uh_provider ON usage_history(provider);
101
+ CREATE INDEX IF NOT EXISTS idx_uh_model ON usage_history(model);
102
+
103
+ CREATE TABLE IF NOT EXISTS call_logs (
104
+ id TEXT PRIMARY KEY,
105
+ timestamp TEXT NOT NULL,
106
+ method TEXT,
107
+ path TEXT,
108
+ status INTEGER,
109
+ model TEXT,
110
+ provider TEXT,
111
+ account TEXT,
112
+ connection_id TEXT,
113
+ duration INTEGER DEFAULT 0,
114
+ tokens_in INTEGER DEFAULT 0,
115
+ tokens_out INTEGER DEFAULT 0,
116
+ source_format TEXT,
117
+ target_format TEXT,
118
+ api_key_id TEXT,
119
+ api_key_name TEXT,
120
+ combo_name TEXT,
121
+ request_body TEXT,
122
+ response_body TEXT,
123
+ error TEXT
124
+ );
125
+ CREATE INDEX IF NOT EXISTS idx_cl_timestamp ON call_logs(timestamp);
126
+ CREATE INDEX IF NOT EXISTS idx_cl_status ON call_logs(status);
127
+
128
+ CREATE TABLE IF NOT EXISTS proxy_logs (
129
+ id TEXT PRIMARY KEY,
130
+ timestamp TEXT NOT NULL,
131
+ status TEXT,
132
+ proxy_type TEXT,
133
+ proxy_host TEXT,
134
+ proxy_port INTEGER,
135
+ level TEXT,
136
+ level_id TEXT,
137
+ provider TEXT,
138
+ target_url TEXT,
139
+ public_ip TEXT,
140
+ latency_ms INTEGER DEFAULT 0,
141
+ error TEXT,
142
+ connection_id TEXT,
143
+ combo_id TEXT,
144
+ account TEXT,
145
+ tls_fingerprint INTEGER DEFAULT 0
146
+ );
147
+ CREATE INDEX IF NOT EXISTS idx_pl_timestamp ON proxy_logs(timestamp);
148
+ CREATE INDEX IF NOT EXISTS idx_pl_status ON proxy_logs(status);
149
+ CREATE INDEX IF NOT EXISTS idx_pl_provider ON proxy_logs(provider);
150
+
151
+ -- Domain State Persistence (Phase 5)
152
+ CREATE TABLE IF NOT EXISTS domain_fallback_chains (
153
+ model TEXT PRIMARY KEY,
154
+ chain TEXT NOT NULL
155
+ );
156
+
157
+ CREATE TABLE IF NOT EXISTS domain_budgets (
158
+ api_key_id TEXT PRIMARY KEY,
159
+ daily_limit_usd REAL NOT NULL,
160
+ monthly_limit_usd REAL DEFAULT 0,
161
+ warning_threshold REAL DEFAULT 0.8
162
+ );
163
+
164
+ CREATE TABLE IF NOT EXISTS domain_cost_history (
165
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
166
+ api_key_id TEXT NOT NULL,
167
+ cost REAL NOT NULL,
168
+ timestamp INTEGER NOT NULL
169
+ );
170
+ CREATE INDEX IF NOT EXISTS idx_dch_key ON domain_cost_history(api_key_id);
171
+ CREATE INDEX IF NOT EXISTS idx_dch_ts ON domain_cost_history(timestamp);
172
+
173
+ CREATE TABLE IF NOT EXISTS domain_lockout_state (
174
+ identifier TEXT PRIMARY KEY,
175
+ attempts TEXT NOT NULL,
176
+ locked_until INTEGER
177
+ );
178
+
179
+ CREATE TABLE IF NOT EXISTS domain_circuit_breakers (
180
+ name TEXT PRIMARY KEY,
181
+ state TEXT NOT NULL DEFAULT 'CLOSED',
182
+ failure_count INTEGER DEFAULT 0,
183
+ last_failure_time INTEGER,
184
+ options TEXT
185
+ );
186
+
187
+ CREATE TABLE IF NOT EXISTS semantic_cache (
188
+ id TEXT PRIMARY KEY,
189
+ signature TEXT NOT NULL UNIQUE,
190
+ model TEXT NOT NULL,
191
+ prompt_hash TEXT NOT NULL,
192
+ response TEXT NOT NULL,
193
+ tokens_saved INTEGER DEFAULT 0,
194
+ hit_count INTEGER DEFAULT 0,
195
+ created_at TEXT NOT NULL,
196
+ expires_at TEXT NOT NULL
197
+ );
198
+ CREATE INDEX IF NOT EXISTS idx_sc_sig ON semantic_cache(signature);
199
+ CREATE INDEX IF NOT EXISTS idx_sc_model ON semantic_cache(model);
200
+ `,y=null;function z(){if(y)return y;if(s||t)return t&&console.log("[DB] Build phase detected — using in-memory SQLite (read-only)"),(y=new(e())(":memory:")).pragma("journal_mode = WAL"),y.exec(x),y;if(i().existsSync(v))try{let a=new(e())(v,{readonly:!0}),b=a.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_migrations'").get();if(a.close(),b){let a=v+".old-schema";for(let b of(console.log(`[DB] Old incompatible schema detected — renaming to ${g().basename(a)}`),i().renameSync(v,a),["-wal","-shm"]))try{i().existsSync(v+b)&&i().unlinkSync(v+b)}catch{}}}catch(a){console.warn("[DB] Could not probe existing DB, will create fresh:",a.message);try{i().unlinkSync(v)}catch{}}(y=new(e())(v)).pragma("journal_mode = WAL"),y.pragma("busy_timeout = 5000"),y.pragma("synchronous = NORMAL"),y.exec(x);var a=y;try{let b=a.prepare("PRAGMA table_info(provider_connections)").all();new Set(b.map(a=>a.name)).has("rate_limit_protection")||(a.exec("ALTER TABLE provider_connections ADD COLUMN rate_limit_protection INTEGER DEFAULT 0"),console.log("[DB] Added provider_connections.rate_limit_protection column"))}catch(a){console.warn("[DB] Failed to verify provider_connections schema:",a.message)}return y.exec(`
201
+ CREATE TABLE IF NOT EXISTS _omniroute_migrations (
202
+ version TEXT PRIMARY KEY,
203
+ name TEXT NOT NULL,
204
+ applied_at TEXT NOT NULL DEFAULT (datetime('now'))
205
+ );
206
+ INSERT OR IGNORE INTO _omniroute_migrations (version, name)
207
+ VALUES ('001', 'initial_schema');
208
+ `),!function(a){a.exec(`
209
+ CREATE TABLE IF NOT EXISTS _omniroute_migrations (
210
+ version TEXT PRIMARY KEY,
211
+ name TEXT NOT NULL,
212
+ applied_at TEXT NOT NULL DEFAULT (datetime('now'))
213
+ );
214
+ `);let b=i().existsSync(r)?i().readdirSync(r).filter(a=>a.endsWith(".sql")).sort().map(a=>{let b=a.match(/^(\d+)_(.+)\.sql$/);return b?{version:b[1],name:b[2],path:g().join(r,a)}:null}).filter(Boolean):[],c=new Set(a.prepare("SELECT version FROM _omniroute_migrations").all().map(a=>a.version)),d=0;for(let e of b){if(c.has(e.version))continue;let b=i().readFileSync(e.path,"utf-8"),f=a.transaction(()=>{a.exec(b),a.prepare("INSERT INTO _omniroute_migrations (version, name) VALUES (?, ?)").run(e.version,e.name)});try{f(),d++,console.log(`[Migration] Applied: ${e.version}_${e.name}`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[Migration] FAILED: ${e.version}_${e.name} — ${a}`),b}}d>0&&console.log(`[Migration] ${d} migration(s) applied successfully.`)}(y),w&&i().existsSync(w)&&function(a,b){try{let c=i().readFileSync(b,"utf-8"),d=JSON.parse(c),e=(d.providerConnections||[]).length,f=(d.providerNodes||[]).length,h=(d.apiKeys||[]).length;if(0===e&&0===f&&0===h){console.log("[DB] db.json has no data to migrate, skipping"),i().renameSync(b,b+".empty");return}console.log(`[DB] Migrating db.json → SQLite (${e} connections, ${f} nodes, ${h} keys)...`),a.transaction(()=>{let b=a.prepare(`
215
+ INSERT OR REPLACE INTO provider_connections (
216
+ id, provider, auth_type, name, email, priority, is_active,
217
+ access_token, refresh_token, expires_at, token_expires_at,
218
+ scope, project_id, test_status, error_code, last_error,
219
+ last_error_at, last_error_type, last_error_source, backoff_level,
220
+ rate_limited_until, health_check_interval, last_health_check_at,
221
+ last_tested, api_key, id_token, provider_specific_data,
222
+ expires_in, display_name, global_priority, default_model,
223
+ token_type, consecutive_use_count, rate_limit_protection, created_at, updated_at
224
+ ) VALUES (
225
+ @id, @provider, @authType, @name, @email, @priority, @isActive,
226
+ @accessToken, @refreshToken, @expiresAt, @tokenExpiresAt,
227
+ @scope, @projectId, @testStatus, @errorCode, @lastError,
228
+ @lastErrorAt, @lastErrorType, @lastErrorSource, @backoffLevel,
229
+ @rateLimitedUntil, @healthCheckInterval, @lastHealthCheckAt,
230
+ @lastTested, @apiKey, @idToken, @providerSpecificData,
231
+ @expiresIn, @displayName, @globalPriority, @defaultModel,
232
+ @tokenType, @consecutiveUseCount, @rateLimitProtection, @createdAt, @updatedAt
233
+ )
234
+ `);for(let a of d.providerConnections||[])b.run({id:a.id,provider:a.provider,authType:a.authType||"oauth",name:a.name||null,email:a.email||null,priority:a.priority||0,isActive:+(!1!==a.isActive),accessToken:a.accessToken||null,refreshToken:a.refreshToken||null,expiresAt:a.expiresAt||null,tokenExpiresAt:a.tokenExpiresAt||null,scope:a.scope||null,projectId:a.projectId||null,testStatus:a.testStatus||null,errorCode:a.errorCode||null,lastError:a.lastError||null,lastErrorAt:a.lastErrorAt||null,lastErrorType:a.lastErrorType||null,lastErrorSource:a.lastErrorSource||null,backoffLevel:a.backoffLevel||0,rateLimitedUntil:a.rateLimitedUntil||null,healthCheckInterval:a.healthCheckInterval||null,lastHealthCheckAt:a.lastHealthCheckAt||null,lastTested:a.lastTested||null,apiKey:a.apiKey||null,idToken:a.idToken||null,providerSpecificData:a.providerSpecificData?JSON.stringify(a.providerSpecificData):null,expiresIn:a.expiresIn||null,displayName:a.displayName||null,globalPriority:a.globalPriority||null,defaultModel:a.defaultModel||null,tokenType:a.tokenType||null,consecutiveUseCount:a.consecutiveUseCount||0,rateLimitProtection:+(!0===a.rateLimitProtection||1===a.rateLimitProtection),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let c=a.prepare(`
235
+ INSERT OR REPLACE INTO provider_nodes (id, type, name, prefix, api_type, base_url, created_at, updated_at)
236
+ VALUES (@id, @type, @name, @prefix, @apiType, @baseUrl, @createdAt, @updatedAt)
237
+ `);for(let a of d.providerNodes||[])c.run({id:a.id,type:a.type,name:a.name,prefix:a.prefix||null,apiType:a.apiType||null,baseUrl:a.baseUrl||null,createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let e=a.prepare("INSERT OR REPLACE INTO key_value (namespace, key, value) VALUES (?, ?, ?)");for(let[a,b]of Object.entries(d.modelAliases||{}))e.run("modelAliases",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.mitmAlias||{}))e.run("mitmAlias",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.settings||{}))e.run("settings",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.pricing||{}))e.run("pricing",a,JSON.stringify(b));for(let[a,b]of Object.entries(d.customModels||{}))e.run("customModels",a,JSON.stringify(b));d.proxyConfig&&(e.run("proxyConfig","global",JSON.stringify(d.proxyConfig.global||null)),e.run("proxyConfig","providers",JSON.stringify(d.proxyConfig.providers||{})),e.run("proxyConfig","combos",JSON.stringify(d.proxyConfig.combos||{})),e.run("proxyConfig","keys",JSON.stringify(d.proxyConfig.keys||{})));let f=a.prepare(`
238
+ INSERT OR REPLACE INTO combos (id, name, data, created_at, updated_at)
239
+ VALUES (@id, @name, @data, @createdAt, @updatedAt)
240
+ `);for(let a of d.combos||[])f.run({id:a.id,name:a.name,data:JSON.stringify(a),createdAt:a.createdAt||new Date().toISOString(),updatedAt:a.updatedAt||new Date().toISOString()});let g=a.prepare(`
241
+ INSERT OR REPLACE INTO api_keys (id, name, key, machine_id, created_at)
242
+ VALUES (@id, @name, @key, @machineId, @createdAt)
243
+ `);for(let a of d.apiKeys||[])g.run({id:a.id,name:a.name,key:a.key,machineId:a.machineId||null,createdAt:a.createdAt||new Date().toISOString()})})();let j=b+".migrated";i().renameSync(b,j),console.log(`[DB] ✓ Migration complete. Original saved as ${j}`);let k=g().join(u,"db_backups");if(i().existsSync(k)){let a=i().readdirSync(k).filter(a=>a.endsWith(".json"));a.length>0&&console.log(`[DB] Note: ${a.length} legacy .json backups remain in ${k}`)}}catch(a){console.error("[DB] Migration from db.json failed:",a.message)}}(y,w),y.prepare("INSERT OR REPLACE INTO db_meta (key, value) VALUES ('schema_version', '1')").run(),console.log(`[DB] SQLite database ready: ${v}`),y}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=7109,exports.ids=[7109],exports.modules={17109:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>y,testSingleConnection:()=>x});var d=c(45592),e=c(40287),f=c(90357),g=c(44963),h=c(38369),i=c(17916),j=c(87068),k=c(27230),l=c(34493);let m={claude:{checkExpiry:!0},codex:{checkExpiry:!0,refreshable:!0},"gemini-cli":{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},antigravity:{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},github:{url:"https://api.github.com/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"User-Agent":"OmniRoute",Accept:"application/vnd.github+json"}},iflow:{checkExpiry:!0,refreshable:!0},qwen:{checkExpiry:!0,refreshable:!0},cursor:{checkExpiry:!0},"kimi-coding":{checkExpiry:!0,refreshable:!0},kilocode:{checkExpiry:!0},cline:{checkExpiry:!0,refreshable:!0},kiro:{checkExpiry:!0,refreshable:!0}},n={cline:"cline",kilocode:"kilo"};function o(a,b="Unknown error"){return"string"!=typeof a?b:a.trim()||b}function p(a,b,c,d=null){return{type:a,source:b,message:c||null,code:d??null}}function q({error:a,statusCode:b=null,refreshFailed:c=!1,unsupported:d=!1}){let e=o(a,"Connection test failed"),f=e.toLowerCase(),g=Number.isFinite(b)?Number(b):null;return d?p("unsupported","validation",e,"unsupported"):c||f.includes("refresh failed")?p("token_refresh_failed","oauth",e,"refresh_failed"):401===g||403===g?p("upstream_auth_error","upstream",e,String(g)):429===g?p("upstream_rate_limited","upstream",e,"429"):g&&g>=500?p("upstream_unavailable","upstream",e,String(g)):f.includes("token expired")||f.includes("expired")?p("token_expired","oauth",e,"token_expired"):f.includes("invalid api key")||f.includes("token invalid")||f.includes("revoked")||f.includes("access denied")||f.includes("unauthorized")||f.includes("forbidden")?p("upstream_auth_error","upstream",e,g?String(g):"auth_failed"):f.includes("rate limit")||f.includes("quota")||f.includes("too many requests")?p("upstream_rate_limited","upstream",e,g?String(g):"rate_limited"):f.includes("fetch failed")||f.includes("network")||f.includes("timeout")||f.includes("econn")||f.includes("enotfound")||f.includes("socket")?p("network_error","upstream",e,"network_error"):p("upstream_error","upstream",e,g?String(g):"upstream_error")}async function r(a){let b=n[a];if(!b)return null;try{let a=await (0,i.V5)(b);if(a.installed&&a.runnable)return a;let c=a.installed?`Local CLI runtime is installed but not runnable (${a.reason||"healthcheck_failed"})`:"Local CLI runtime is not installed";return{...a,diagnosis:p("runtime_error","local",c,a.reason||"runtime_error"),error:c}}catch(b){let a=`Failed to check local CLI runtime: ${b?.message||"runtime_check_failed"}`;return{installed:!1,runnable:!1,reason:"runtime_check_failed",diagnosis:p("runtime_error","local",a,"runtime_check_failed"),error:a}}}async function s(a){let{provider:b,refreshToken:c}=a;if(!c)return null;try{let d={refreshToken:c,providerSpecificData:a.providerSpecificData||{}};return await (0,j.iD)(b,d,console)}catch(a){return console.log(`Error refreshing ${b} token:`,a.message),null}}function t(a){let b=a.expiresAt||a.tokenExpiresAt;return!!b&&new Date(b).getTime()<=Date.now()+3e5}async function u(){try{if(!await (0,e.Nx)())return;let a=await (0,f.Xj)();await (0,g.AF)(a)}catch(a){console.log("Error syncing to cloud after token refresh:",a)}}async function v(a){let b=m[a.provider];if(!b){let a="Provider test not supported";return{valid:!1,error:a,refreshed:!1,diagnosis:q({error:a,unsupported:!0})}}if(!a.accessToken){if(b.refreshable&&!a.refreshToken){let a="Refresh token expired. Please re-authenticate this account.";return{valid:!1,error:a,refreshed:!1,diagnosis:p("reauth_required","oauth",a,"reauth_required")}}let c="No access token";return{valid:!1,error:c,refreshed:!1,diagnosis:p("auth_missing","local",c,"missing_access_token")}}let c=a.accessToken,d=!1,e=null,f=t(a);if(b.refreshable&&f&&a.refreshToken){let b=await s(a);if(b)c=b.accessToken,d=!0,e=b;else{let a="Token expired and refresh failed";return{valid:!1,error:a,refreshed:!1,diagnosis:q({error:a,refreshFailed:!0})}}}if(b.checkExpiry){if(d)return{valid:!0,error:null,refreshed:d,newTokens:e,diagnosis:p("ok","oauth",null,null)};if(f){let a="Token expired";return{valid:!1,error:a,refreshed:!1,diagnosis:q({error:a})}}return{valid:!0,error:null,refreshed:!1,newTokens:null,diagnosis:p("ok","local",null,null)}}try{let f={[b.authHeader]:`${b.authPrefix}${c}`,...b.extraHeaders},g=await fetch(b.url,{method:b.method,headers:f});if(g.ok)return{valid:!0,error:null,refreshed:d,newTokens:e,diagnosis:p("ok","upstream",null,null)};if((401===g.status||403===g.status)&&!d&&t(a)&&a.refreshToken&&"string"==typeof a.refreshToken){let c=await s(a);if(c){let a=await fetch(b.url,{method:b.method,headers:{[b.authHeader]:`${b.authPrefix}${c.accessToken}`,...b.extraHeaders}});if(a.ok)return{valid:!0,error:null,refreshed:!0,newTokens:c,diagnosis:p("ok","upstream",null,null)};let d=`API returned ${a.status} after token refresh`;return{valid:!1,error:d,refreshed:!0,statusCode:a.status,diagnosis:q({error:d,statusCode:a.status})}}let d="Token expired and refresh failed";return{valid:!1,error:d,refreshed:!1,statusCode:401,diagnosis:q({error:d,statusCode:401,refreshFailed:!0})}}let h=401===g.status?"Token invalid or revoked":403===g.status?"Access denied":`API returned ${g.status}`;return{valid:!1,error:h,refreshed:d,statusCode:g.status,diagnosis:q({error:h,statusCode:g.status})}}catch(b){let a=o(b?.message,"Connection test failed");return{valid:!1,error:a,refreshed:d,diagnosis:q({error:a})}}}async function w(a){if(!a.apiKey){let a="Missing API key";return{valid:!1,error:a,diagnosis:p("auth_missing","local",a,"missing_api_key")}}let b=await (0,h.j)({provider:a.provider,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData});if(b.unsupported){let a="Provider test not supported";return{valid:!1,error:a,diagnosis:q({error:a,unsupported:!0})}}let c=b.valid?null:b.error||"Invalid API key",d=b.valid?p("ok","upstream",null,null):q({error:c});return{valid:!!b.valid,error:c,diagnosis:d}}async function x(a){let b,c=await (0,e.Mc)(a);if(!c)return{valid:!1,error:"Connection not found",diagnosis:null,latencyMs:0};let d=Date.now(),f=await r(c.provider);b=f?.diagnosis?{valid:!1,error:f.error,refreshed:!1,diagnosis:f.diagnosis}:"apikey"===c.authType?await w(c):await v(c);let g=Date.now()-d,h=new Date().toISOString(),i=b.diagnosis||(b.valid?p("ok","local",null,null):q({error:b.error,statusCode:b.statusCode})),j={testStatus:b.valid?"active":"error",lastError:b.valid?null:b.error,lastErrorAt:b.valid?null:h,lastTested:h,lastErrorType:b.valid?null:i.type,lastErrorSource:b.valid?null:i.source,errorCode:b.valid?null:i.code||b.statusCode||null,rateLimitedUntil:b.valid?null:c.rateLimitedUntil||null};b.valid&&(j.backoffLevel=0),b.refreshed&&b.newTokens&&(j.accessToken=b.newTokens.accessToken,b.newTokens.refreshToken&&(j.refreshToken=b.newTokens.refreshToken),b.newTokens.expiresIn&&(j.expiresAt=new Date(Date.now()+1e3*b.newTokens.expiresIn).toISOString())),await (0,e.rj)(a,j),b.refreshed&&await u();try{(0,k.gK)({method:"POST",path:"/api/providers/test",status:b.valid?200:b.statusCode||401,model:"connection-test",provider:c.provider,connectionId:a,duration:g,error:b.valid?null:b.error||null,sourceFormat:"test",targetFormat:"test"}).catch(()=>{})}catch{}try{(0,l.pq)({status:b.valid?"success":"error",proxy:null,level:"provider-test",levelId:null,provider:c.provider,targetUrl:`${c.provider}/connection-test`,latencyMs:g,error:b.valid?null:b.error||null,connectionId:a,comboId:null,account:a?.slice(0,8)||null,tlsFingerprint:!1})}catch{}return{valid:b.valid,error:b.error,refreshed:b.refreshed||!1,diagnosis:i,latencyMs:g,statusCode:b.statusCode||null,runtime:f||null,testedAt:h}}async function y(a,{params:b}){try{let{id:a}=await b,c=await x(a);if("Connection not found"===c.error)return d.NextResponse.json({error:"Connection not found"},{status:404});return d.NextResponse.json(c)}catch(a){return console.log("Error testing connection:",a),d.NextResponse.json({error:"Test failed"},{status:500})}}},17916:(a,b,c)=>{c.d(b,{CU:()=>s,MG:()=>u,V5:()=>v,XH:()=>w,hl:()=>t});var d=c(79748),e=c.n(d),f=c(21820),g=c.n(f),h=c(33873),i=c.n(h),j=c(79646);let k=new Set(["auto","host","container"]),l=new Set(["0","false","no","off"]),m={claude:{defaultCommand:"claude",envBinKey:"CLI_CLAUDE_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{settings:".claude/settings.json"}},codex:{defaultCommand:"codex",envBinKey:"CLI_CODEX_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{config:".codex/config.toml",auth:".codex/auth.json"}},droid:{defaultCommand:"droid",envBinKey:"CLI_DROID_BIN",requiresBinary:!0,healthcheckTimeoutMs:8e3,paths:{settings:".factory/settings.json"}},openclaw:{defaultCommand:"openclaw",envBinKey:"CLI_OPENCLAW_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{settings:".openclaw/openclaw.json"}},cursor:{defaultCommands:["agent","cursor"],envBinKey:"CLI_CURSOR_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{config:".cursor/cli-config.json",auth:".config/cursor/auth.json",state:".cursor/agent-cli-state.json"}},cline:{defaultCommand:"cline",envBinKey:"CLI_CLINE_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{globalState:".cline/data/globalState.json",secrets:".cline/data/secrets.json"}},kilo:{defaultCommand:"kilocode",envBinKey:"CLI_KILO_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{auth:".local/share/kilo/auth.json"}},continue:{defaultCommand:null,envBinKey:"CLI_CONTINUE_BIN",requiresBinary:!1,paths:{settings:".continue/config.json"}}},n=(a,b,{env:c,timeoutMs:d=3e3}={})=>new Promise(e=>{let f="",g="",h=!1,i=!1,k=(0,j.spawn)(a,b,{env:c,stdio:["ignore","pipe","pipe"]}),l=setTimeout(()=>{h=!0,k.kill("SIGKILL")},d),m=a=>{i||(i=!0,clearTimeout(l),e(a))};k.stdout.on("data",a=>{f+=a.toString()}),k.stderr.on("data",a=>{g+=a.toString()}),k.on("error",a=>{m({ok:!1,code:null,stdout:f.trim(),stderr:g.trim(),timedOut:h,error:a?.message||"spawn_error"})}),k.on("close",a=>{m({ok:!h&&0===a,code:a,stdout:f.trim(),stderr:g.trim(),timedOut:h,error:h?"timeout":null})})}),o=async a=>{try{await e().access(a,e().constants.F_OK)}catch{return{installed:!1,commandPath:null,reason:"not_found"}}try{return await e().access(a,e().constants.X_OK),{installed:!0,commandPath:a,reason:null}}catch{return{installed:!0,commandPath:a,reason:"not_executable"}}},p=async(a,b)=>{if(!a)return{installed:!1,commandPath:null,reason:"missing_command"};if(a.includes("/")||a.includes("\\"))return o(a);if("win32"===process.platform){let c=await n("where",[a],{env:b,timeoutMs:3e3});if(!c.ok||!c.stdout)return{installed:!1,commandPath:null,reason:"not_found"};let d=c.stdout.split(/\r?\n/).map(a=>a.trim()).find(Boolean)||null;return{installed:!!d,commandPath:d,reason:d?null:"not_found"}}let c=await n("sh",["-c",'command -v -- "$1"',"sh",a],{env:b,timeoutMs:3e3});if(!c.ok||!c.stdout)return{installed:!1,commandPath:null,reason:"not_found"};let d=c.stdout.split(/\r?\n/).map(a=>a.trim()).find(Boolean)||null;return{installed:!!d,commandPath:d,reason:d?null:"not_found"}},q=async(a,b)=>{if(!Array.isArray(a)||0===a.length)return{command:null,installed:!1,commandPath:null,reason:"missing_command"};for(let c of a){let a=await p(c,b);if(a.installed||"not_found"!==a.reason)return{command:c,...a}}return{command:a[0],installed:!1,commandPath:null,reason:"not_found"}},r=async(a,b,c=4e3)=>{for(let d of[["--version"],["-v"]])if((await n(a,d,{env:b,timeoutMs:c})).ok)return{runnable:!0,reason:null};return{runnable:!1,reason:"healthcheck_failed"}},s=()=>((a,b=!0)=>null==a||""===a?b:!l.has(String(a).trim().toLowerCase()))(process.env.CLI_ALLOW_CONFIG_WRITES,!0)?null:"CLI config writes are disabled (CLI_ALLOW_CONFIG_WRITES=false)",t=a=>{let b=m[a];if(!b)return null;let c=String(process.env.CLI_CONFIG_HOME||"").trim()||g().homedir();return Object.fromEntries(Object.entries(b.paths).map(([a,b])=>[a,i().join(c,b)]))},u=a=>{let b=t(a);if(!b)return null;let c=Object.keys(b)[0];return c?b[c]:null},v=async a=>{let b,c,d,e=m[a],f=(b=String(process.env.CLI_MODE||"auto").trim().toLowerCase(),k.has(b)?b:"auto");if(!e)return{installed:!1,runnable:!1,command:null,commandPath:null,reason:"unknown_tool",runtimeMode:f,requiresBinary:!1};let g=(c={...process.env},(d=String(process.env.CLI_EXTRA_PATHS||"").split(i().delimiter).map(a=>a.trim()).filter(Boolean)).length>0&&(c.PATH=[...d,c.PATH||""].filter(Boolean).join(i().delimiter)),c),h=(a=>{let b=m[a];if(!b)return[];let c=String(process.env[b.envBinKey]||"").trim();return c?[c]:Array.isArray(b.defaultCommands)&&b.defaultCommands.length>0?b.defaultCommands.filter(Boolean):b.defaultCommand?[b.defaultCommand]:[]})(a),j=!1!==e.requiresBinary;if(!j&&0===h.length)return{installed:!0,runnable:!0,command:null,commandPath:null,reason:"not_required",runtimeMode:f,requiresBinary:j};let l=await q(h,g),n=l.command;if(!l.installed)return{installed:!1,runnable:!1,command:n,commandPath:null,reason:l.reason||"not_found",runtimeMode:f,requiresBinary:j};if("not_executable"===l.reason)return{installed:!0,runnable:!1,command:n,commandPath:l.commandPath,reason:"not_executable",runtimeMode:f,requiresBinary:j};let o=await r(l.commandPath,g,Number(e.healthcheckTimeoutMs||4e3));return{installed:!0,runnable:o.runnable,command:n,commandPath:l.commandPath,reason:o.reason,runtimeMode:f,requiresBinary:j}},w=Object.keys(m)},34493:(a,b,c)=>{c.d(b,{GL:()=>i,XT:()=>j,pq:()=>h});var d=c(94755),e=c(41549);let f=!e.m1&&!e.I8,g=[];if(f)try{for(let a of(0,e.sm)().prepare("SELECT * FROM proxy_logs ORDER BY timestamp DESC LIMIT ?").all(500))g.push({id:a.id,timestamp:a.timestamp,status:a.status||"success",proxy:a.proxy_host?{type:a.proxy_type,host:a.proxy_host,port:a.proxy_port}:null,level:a.level||"direct",levelId:a.level_id||null,provider:a.provider||null,targetUrl:a.target_url||null,publicIp:a.public_ip||null,latencyMs:a.latency_ms||0,error:a.error||null,connectionId:a.connection_id||null,comboId:a.combo_id||null,account:a.account||null,tlsFingerprint:1===a.tls_fingerprint});g.length>0&&console.log(`[proxyLogger] Loaded ${g.length} proxy logs from SQLite`)}catch(a){console.warn("[proxyLogger] Failed to load from DB:",a.message)}function h(a){let b={id:(0,d.A)(),timestamp:new Date().toISOString(),status:a.status||"success",proxy:a.proxy||null,level:a.level||"direct",levelId:a.levelId||null,provider:a.provider||null,targetUrl:a.targetUrl||null,publicIp:a.publicIp||null,latencyMs:a.latencyMs||0,error:a.error||null,connectionId:a.connectionId||null,comboId:a.comboId||null,account:a.account||null,tlsFingerprint:a.tlsFingerprint||!1};if(g.unshift(b),g.length>500&&(g.length=500),f)try{let a=(0,e.sm)();a.prepare(`INSERT INTO proxy_logs (id, timestamp, status, proxy_type, proxy_host, proxy_port,
1
+ "use strict";exports.id=7109,exports.ids=[7109],exports.modules={17109:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>y,testSingleConnection:()=>x});var d=c(45592),e=c(40287),f=c(90357),g=c(44963),h=c(38369),i=c(17916),j=c(87068),k=c(27230),l=c(34493);let m={claude:{checkExpiry:!0},codex:{checkExpiry:!0,refreshable:!0},"gemini-cli":{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},antigravity:{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},github:{url:"https://api.github.com/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"User-Agent":"OmniRoute",Accept:"application/vnd.github+json"}},iflow:{checkExpiry:!0,refreshable:!0},qwen:{checkExpiry:!0,refreshable:!0},cursor:{checkExpiry:!0},"kimi-coding":{checkExpiry:!0,refreshable:!0},kilocode:{checkExpiry:!0},cline:{checkExpiry:!0,refreshable:!0},kiro:{checkExpiry:!0,refreshable:!0}},n={cline:"cline",kilocode:"kilo"};function o(a,b="Unknown error"){return"string"!=typeof a?b:a.trim()||b}function p(a,b,c,d=null){return{type:a,source:b,message:c||null,code:d??null}}function q({error:a,statusCode:b=null,refreshFailed:c=!1,unsupported:d=!1}){let e=o(a,"Connection test failed"),f=e.toLowerCase(),g=Number.isFinite(b)?Number(b):null;return d?p("unsupported","validation",e,"unsupported"):c||f.includes("refresh failed")?p("token_refresh_failed","oauth",e,"refresh_failed"):401===g||403===g?p("upstream_auth_error","upstream",e,String(g)):429===g?p("upstream_rate_limited","upstream",e,"429"):g&&g>=500?p("upstream_unavailable","upstream",e,String(g)):f.includes("token expired")||f.includes("expired")?p("token_expired","oauth",e,"token_expired"):f.includes("invalid api key")||f.includes("token invalid")||f.includes("revoked")||f.includes("access denied")||f.includes("unauthorized")||f.includes("forbidden")?p("upstream_auth_error","upstream",e,g?String(g):"auth_failed"):f.includes("rate limit")||f.includes("quota")||f.includes("too many requests")?p("upstream_rate_limited","upstream",e,g?String(g):"rate_limited"):f.includes("fetch failed")||f.includes("network")||f.includes("timeout")||f.includes("econn")||f.includes("enotfound")||f.includes("socket")?p("network_error","upstream",e,"network_error"):p("upstream_error","upstream",e,g?String(g):"upstream_error")}async function r(a){let b=n[a];if(!b)return null;try{let a=await (0,i.V5)(b);if(a.installed&&a.runnable)return a;let c=a.installed?`Local CLI runtime is installed but not runnable (${a.reason||"healthcheck_failed"})`:"Local CLI runtime is not installed";return{...a,diagnosis:p("runtime_error","local",c,a.reason||"runtime_error"),error:c}}catch(b){let a=`Failed to check local CLI runtime: ${b?.message||"runtime_check_failed"}`;return{installed:!1,runnable:!1,reason:"runtime_check_failed",diagnosis:p("runtime_error","local",a,"runtime_check_failed"),error:a}}}async function s(a){let{provider:b,refreshToken:c}=a;if(!c)return null;try{let d={refreshToken:c,providerSpecificData:a.providerSpecificData||{}};return await (0,j.iD)(b,d,console)}catch(a){return console.log(`Error refreshing ${b} token:`,a.message),null}}function t(a){let b=a.expiresAt||a.tokenExpiresAt;return!!b&&new Date(b).getTime()<=Date.now()+3e5}async function u(){try{if(!await (0,e.Nx)())return;let a=await (0,f.Xj)();await (0,g.AF)(a)}catch(a){console.log("Error syncing to cloud after token refresh:",a)}}async function v(a){let b=m[a.provider];if(!b){let a="Provider test not supported";return{valid:!1,error:a,refreshed:!1,diagnosis:q({error:a,unsupported:!0})}}if(!a.accessToken){if(b.refreshable&&!a.refreshToken){let a="Refresh token expired. Please re-authenticate this account.";return{valid:!1,error:a,refreshed:!1,diagnosis:p("reauth_required","oauth",a,"reauth_required")}}let c="No access token";return{valid:!1,error:c,refreshed:!1,diagnosis:p("auth_missing","local",c,"missing_access_token")}}let c=a.accessToken,d=!1,e=null,f=t(a);if(b.refreshable&&f&&a.refreshToken){let b=await s(a);if(b)c=b.accessToken,d=!0,e=b;else{let a="Token expired and refresh failed";return{valid:!1,error:a,refreshed:!1,diagnosis:q({error:a,refreshFailed:!0})}}}if(b.checkExpiry){if(d)return{valid:!0,error:null,refreshed:d,newTokens:e,diagnosis:p("ok","oauth",null,null)};if(f){let a="Token expired";return{valid:!1,error:a,refreshed:!1,diagnosis:q({error:a})}}return{valid:!0,error:null,refreshed:!1,newTokens:null,diagnosis:p("ok","local",null,null)}}try{let f={[b.authHeader]:`${b.authPrefix}${c}`,...b.extraHeaders},g=await fetch(b.url,{method:b.method,headers:f});if(g.ok)return{valid:!0,error:null,refreshed:d,newTokens:e,diagnosis:p("ok","upstream",null,null)};if((401===g.status||403===g.status)&&!d&&t(a)&&a.refreshToken&&"string"==typeof a.refreshToken){let c=await s(a);if(c){let a=await fetch(b.url,{method:b.method,headers:{[b.authHeader]:`${b.authPrefix}${c.accessToken}`,...b.extraHeaders}});if(a.ok)return{valid:!0,error:null,refreshed:!0,newTokens:c,diagnosis:p("ok","upstream",null,null)};let d=`API returned ${a.status} after token refresh`;return{valid:!1,error:d,refreshed:!0,statusCode:a.status,diagnosis:q({error:d,statusCode:a.status})}}let d="Token expired and refresh failed";return{valid:!1,error:d,refreshed:!1,statusCode:401,diagnosis:q({error:d,statusCode:401,refreshFailed:!0})}}let h=401===g.status?"Token invalid or revoked":403===g.status?"Access denied":`API returned ${g.status}`;return{valid:!1,error:h,refreshed:d,statusCode:g.status,diagnosis:q({error:h,statusCode:g.status})}}catch(b){let a=o(b?.message,"Connection test failed");return{valid:!1,error:a,refreshed:d,diagnosis:q({error:a})}}}async function w(a){if(!a.apiKey){let a="Missing API key";return{valid:!1,error:a,diagnosis:p("auth_missing","local",a,"missing_api_key")}}let b=await (0,h.j)({provider:a.provider,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData});if(b.unsupported){let a="Provider test not supported";return{valid:!1,error:a,diagnosis:q({error:a,unsupported:!0})}}let c=b.valid?null:b.error||"Invalid API key",d=b.valid?p("ok","upstream",null,null):q({error:c});return{valid:!!b.valid,error:c,diagnosis:d}}async function x(a){let b,c=await (0,e.Mc)(a);if(!c)return{valid:!1,error:"Connection not found",diagnosis:null,latencyMs:0};let d=Date.now(),f=await r(c.provider);b=f?.diagnosis?{valid:!1,error:f.error,refreshed:!1,diagnosis:f.diagnosis}:"apikey"===c.authType?await w(c):await v(c);let g=Date.now()-d,h=new Date().toISOString(),i=b.diagnosis||(b.valid?p("ok","local",null,null):q({error:b.error,statusCode:b.statusCode})),j={testStatus:b.valid?"active":"error",lastError:b.valid?null:b.error,lastErrorAt:b.valid?null:h,lastTested:h,lastErrorType:b.valid?null:i.type,lastErrorSource:b.valid?null:i.source,errorCode:b.valid?null:i.code||b.statusCode||null,rateLimitedUntil:b.valid?null:c.rateLimitedUntil||null};b.valid&&(j.backoffLevel=0),b.refreshed&&b.newTokens&&(j.accessToken=b.newTokens.accessToken,b.newTokens.refreshToken&&(j.refreshToken=b.newTokens.refreshToken),b.newTokens.expiresIn&&(j.expiresAt=new Date(Date.now()+1e3*b.newTokens.expiresIn).toISOString())),await (0,e.rj)(a,j),b.refreshed&&await u();try{(0,k.gK)({method:"POST",path:"/api/providers/test",status:b.valid?200:b.statusCode||401,model:"connection-test",provider:c.provider,connectionId:a,duration:g,error:b.valid?null:b.error||null,sourceFormat:"test",targetFormat:"test"}).catch(()=>{})}catch{}try{(0,l.pq)({status:b.valid?"success":"error",proxy:null,level:"provider-test",levelId:null,provider:c.provider,targetUrl:`${c.provider}/connection-test`,latencyMs:g,error:b.valid?null:b.error||null,connectionId:a,comboId:null,account:a?.slice(0,8)||null,tlsFingerprint:!1})}catch{}return{valid:b.valid,error:b.error,refreshed:b.refreshed||!1,diagnosis:i,latencyMs:g,statusCode:b.statusCode||null,runtime:f||null,testedAt:h}}async function y(a,{params:b}){try{let{id:a}=await b,c=await x(a);if("Connection not found"===c.error)return d.NextResponse.json({error:"Connection not found"},{status:404});return d.NextResponse.json(c)}catch(a){return console.log("Error testing connection:",a),d.NextResponse.json({error:"Test failed"},{status:500})}}},17916:(a,b,c)=>{c.d(b,{CU:()=>s,MG:()=>u,V5:()=>v,XH:()=>w,hl:()=>t});var d=c(79748),e=c.n(d),f=c(21820),g=c.n(f),h=c(33873),i=c.n(h),j=c(79646);let k=new Set(["auto","host","container"]),l=new Set(["0","false","no","off"]),m={claude:{defaultCommand:"claude",envBinKey:"CLI_CLAUDE_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{settings:".claude/settings.json"}},codex:{defaultCommand:"codex",envBinKey:"CLI_CODEX_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{config:".codex/config.toml",auth:".codex/auth.json"}},droid:{defaultCommand:"droid",envBinKey:"CLI_DROID_BIN",requiresBinary:!0,healthcheckTimeoutMs:8e3,paths:{settings:".factory/settings.json"}},openclaw:{defaultCommand:"openclaw",envBinKey:"CLI_OPENCLAW_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{settings:".openclaw/openclaw.json"}},cursor:{defaultCommands:["agent","cursor"],envBinKey:"CLI_CURSOR_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{config:".cursor/cli-config.json",auth:".config/cursor/auth.json",state:".cursor/agent-cli-state.json"}},cline:{defaultCommand:"cline",envBinKey:"CLI_CLINE_BIN",requiresBinary:!0,healthcheckTimeoutMs:12e3,paths:{globalState:".cline/data/globalState.json",secrets:".cline/data/secrets.json"}},kilo:{defaultCommand:"kilocode",envBinKey:"CLI_KILO_BIN",requiresBinary:!0,healthcheckTimeoutMs:4e3,paths:{auth:".local/share/kilo/auth.json"}},continue:{defaultCommand:null,envBinKey:"CLI_CONTINUE_BIN",requiresBinary:!1,paths:{settings:".continue/config.json"}}},n=(a,b,{env:c,timeoutMs:d=3e3}={})=>new Promise(e=>{let f="",g="",h=!1,i=!1,k=(0,j.spawn)(a,b,{env:c,stdio:["ignore","pipe","pipe"]}),l=setTimeout(()=>{h=!0,k.kill("SIGKILL")},d),m=a=>{i||(i=!0,clearTimeout(l),e(a))};k.stdout.on("data",a=>{f+=a.toString()}),k.stderr.on("data",a=>{g+=a.toString()}),k.on("error",a=>{m({ok:!1,code:null,stdout:f.trim(),stderr:g.trim(),timedOut:h,error:a?.message||"spawn_error"})}),k.on("close",a=>{m({ok:!h&&0===a,code:a,stdout:f.trim(),stderr:g.trim(),timedOut:h,error:h?"timeout":null})})}),o=async a=>{try{await e().access(a,e().constants.F_OK)}catch{return{installed:!1,commandPath:null,reason:"not_found"}}try{return await e().access(a,e().constants.X_OK),{installed:!0,commandPath:a,reason:null}}catch{return{installed:!0,commandPath:a,reason:"not_executable"}}},p=async(a,b)=>{if(!a)return{installed:!1,commandPath:null,reason:"missing_command"};if(a.includes("/")||a.includes("\\"))return o(a);if("win32"===process.platform){let c=await n("where",[a],{env:b,timeoutMs:3e3});if(!c.ok||!c.stdout)return{installed:!1,commandPath:null,reason:"not_found"};let d=c.stdout.split(/\r?\n/).map(a=>a.trim()).find(Boolean)||null;return{installed:!!d,commandPath:d,reason:d?null:"not_found"}}let c=await n("sh",["-c",'command -v -- "$1"',"sh",a],{env:b,timeoutMs:3e3});if(!c.ok||!c.stdout)return{installed:!1,commandPath:null,reason:"not_found"};let d=c.stdout.split(/\r?\n/).map(a=>a.trim()).find(Boolean)||null;return{installed:!!d,commandPath:d,reason:d?null:"not_found"}},q=async(a,b)=>{if(!Array.isArray(a)||0===a.length)return{command:null,installed:!1,commandPath:null,reason:"missing_command"};for(let c of a){let a=await p(c,b);if(a.installed||"not_found"!==a.reason)return{command:c,...a}}return{command:a[0],installed:!1,commandPath:null,reason:"not_found"}},r=async(a,b,c=4e3)=>{for(let d of[["--version"],["-v"]])if((await n(a,d,{env:b,timeoutMs:c})).ok)return{runnable:!0,reason:null};return{runnable:!1,reason:"healthcheck_failed"}},s=()=>((a,b=!0)=>null==a||""===a?b:!l.has(String(a).trim().toLowerCase()))(process.env.CLI_ALLOW_CONFIG_WRITES,!0)?null:"CLI config writes are disabled (CLI_ALLOW_CONFIG_WRITES=false)",t=a=>{let b=m[a];if(!b)return null;let c=String(process.env.CLI_CONFIG_HOME||"").trim()||g().homedir();return Object.fromEntries(Object.entries(b.paths).map(([a,b])=>[a,i().join(c,b)]))},u=a=>{let b=t(a);if(!b)return null;let c=Object.keys(b)[0];return c?b[c]:null},v=async a=>{let b,c,d,e=m[a],f=(b=String(process.env.CLI_MODE||"auto").trim().toLowerCase(),k.has(b)?b:"auto");if(!e)return{installed:!1,runnable:!1,command:null,commandPath:null,reason:"unknown_tool",runtimeMode:f,requiresBinary:!1};let g=(c={...process.env},(d=String(process.env.CLI_EXTRA_PATHS||"").split(i().delimiter).map(a=>a.trim()).filter(Boolean)).length>0&&(c.PATH=[...d,c.PATH||""].filter(Boolean).join(i().delimiter)),c),h=(a=>{let b=m[a];if(!b)return[];let c=String(process.env[b.envBinKey]||"").trim();return c?[c]:Array.isArray(b.defaultCommands)&&b.defaultCommands.length>0?b.defaultCommands.filter(Boolean):b.defaultCommand?[b.defaultCommand]:[]})(a),j=!1!==e.requiresBinary;if(!j&&0===h.length)return{installed:!0,runnable:!0,command:null,commandPath:null,reason:"not_required",runtimeMode:f,requiresBinary:j};let l=await q(h,g),n=l.command;if(!l.installed)return{installed:!1,runnable:!1,command:n,commandPath:null,reason:l.reason||"not_found",runtimeMode:f,requiresBinary:j};if("not_executable"===l.reason)return{installed:!0,runnable:!1,command:n,commandPath:l.commandPath,reason:"not_executable",runtimeMode:f,requiresBinary:j};let o=await r(l.commandPath,g,Number(e.healthcheckTimeoutMs||4e3));return{installed:!0,runnable:o.runnable,command:n,commandPath:l.commandPath,reason:o.reason,runtimeMode:f,requiresBinary:j}},w=Object.keys(m)},34493:(a,b,c)=>{c.d(b,{GL:()=>i,XT:()=>j,pq:()=>h});var d=c(94755),e=c(42910);let f=!e.m1&&!e.I8,g=[];if(f)try{for(let a of(0,e.sm)().prepare("SELECT * FROM proxy_logs ORDER BY timestamp DESC LIMIT ?").all(500))g.push({id:a.id,timestamp:a.timestamp,status:a.status||"success",proxy:a.proxy_host?{type:a.proxy_type,host:a.proxy_host,port:a.proxy_port}:null,level:a.level||"direct",levelId:a.level_id||null,provider:a.provider||null,targetUrl:a.target_url||null,publicIp:a.public_ip||null,latencyMs:a.latency_ms||0,error:a.error||null,connectionId:a.connection_id||null,comboId:a.combo_id||null,account:a.account||null,tlsFingerprint:1===a.tls_fingerprint});g.length>0&&console.log(`[proxyLogger] Loaded ${g.length} proxy logs from SQLite`)}catch(a){console.warn("[proxyLogger] Failed to load from DB:",a.message)}function h(a){let b={id:(0,d.A)(),timestamp:new Date().toISOString(),status:a.status||"success",proxy:a.proxy||null,level:a.level||"direct",levelId:a.levelId||null,provider:a.provider||null,targetUrl:a.targetUrl||null,publicIp:a.publicIp||null,latencyMs:a.latencyMs||0,error:a.error||null,connectionId:a.connectionId||null,comboId:a.comboId||null,account:a.account||null,tlsFingerprint:a.tlsFingerprint||!1};if(g.unshift(b),g.length>500&&(g.length=500),f)try{let a=(0,e.sm)();a.prepare(`INSERT INTO proxy_logs (id, timestamp, status, proxy_type, proxy_host, proxy_port,
2
2
  level, level_id, provider, target_url, public_ip, latency_ms, error,
3
3
  connection_id, combo_id, account, tls_fingerprint)
4
4
  VALUES (@id, @timestamp, @status, @proxyType, @proxyHost, @proxyPort,