@ltgiang/9router 0.5.59 → 0.5.60

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 (519) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +14 -14
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  74. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  75. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  76. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  77. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  82. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  85. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  86. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  87. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  89. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  92. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  100. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  102. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  107. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  111. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  117. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  119. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  121. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  123. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  125. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  127. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  129. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  225. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  273. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  275. package/app/.next-cli-build/server/app/callback.html +1 -1
  276. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  277. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  278. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  279. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  280. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  281. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  282. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  283. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  284. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  285. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  286. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  287. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  288. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  289. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  290. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  291. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  292. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  293. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  294. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  295. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  296. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  297. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  298. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  299. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  300. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  302. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  303. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  304. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  305. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  306. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  308. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  309. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  310. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  311. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  312. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  313. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  314. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  315. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  316. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  318. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  319. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  320. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  321. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  322. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  323. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  325. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  326. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  328. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  329. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  330. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  331. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  333. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  334. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  335. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  336. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  337. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  339. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  340. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  341. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  343. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  344. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  345. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  346. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  347. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  348. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  349. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  350. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  351. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  353. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  354. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  355. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  356. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  357. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  358. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  359. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  360. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  361. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  362. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  363. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  364. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  365. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  366. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  367. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  368. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  369. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  370. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  371. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  372. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  373. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  374. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  375. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  376. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  377. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  378. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  379. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  380. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  381. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  382. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  383. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  384. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  385. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  386. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  387. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  388. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  389. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  390. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  391. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  392. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  394. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  395. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  396. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  398. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  399. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  400. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  401. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  402. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  403. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  404. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  405. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  406. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  408. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  409. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  410. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  411. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  412. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  413. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  414. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  415. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  416. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  417. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  418. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  420. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  421. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  423. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  424. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  425. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  426. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  427. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  428. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  429. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  430. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  431. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  432. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  433. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  435. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  436. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  437. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  438. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  439. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  440. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  441. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  442. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  443. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  445. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  446. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  447. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  448. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  449. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  450. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  451. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  453. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  454. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  455. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  456. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  457. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  458. package/app/.next-cli-build/server/app/index.html +1 -1
  459. package/app/.next-cli-build/server/app/index.rsc +4 -4
  460. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  461. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  462. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  463. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  464. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  465. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  466. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  467. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  468. package/app/.next-cli-build/server/app/landing.html +1 -1
  469. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  470. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  471. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  472. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  473. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  474. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  475. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  476. package/app/.next-cli-build/server/app/login/page.js +1 -1
  477. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  478. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  479. package/app/.next-cli-build/server/app/login.html +1 -1
  480. package/app/.next-cli-build/server/app/login.rsc +5 -5
  481. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  482. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  483. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  484. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  485. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  486. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  487. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  488. package/app/.next-cli-build/server/app/page.js +1 -1
  489. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  490. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  491. package/app/.next-cli-build/server/app-paths-manifest.json +14 -14
  492. package/app/.next-cli-build/server/chunks/{1064.js → 3210.js} +1 -1
  493. package/app/.next-cli-build/server/chunks/3617.js +1 -1
  494. package/app/.next-cli-build/server/chunks/412.js +2 -2
  495. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  496. package/app/.next-cli-build/server/chunks/4827.js +1 -1
  497. package/app/.next-cli-build/server/chunks/5330.js +2 -2
  498. package/app/.next-cli-build/server/chunks/5394.js +10 -0
  499. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  500. package/app/.next-cli-build/server/chunks/7094.js +1 -10
  501. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  502. package/app/.next-cli-build/server/chunks/8668.js +1 -1
  503. package/app/.next-cli-build/server/chunks/8895.js +3 -3
  504. package/app/.next-cli-build/server/chunks/914.js +2 -2
  505. package/app/.next-cli-build/server/chunks/9350.js +1 -1
  506. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  507. package/app/.next-cli-build/server/middleware.js +3 -3
  508. package/app/.next-cli-build/server/pages/404.html +1 -1
  509. package/app/.next-cli-build/server/pages/500.html +1 -1
  510. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  511. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  512. package/app/.next-cli-build/static/chunks/{1321-375600000ca9e76b.js → 1321-ed0c05a3926d798d.js} +1 -1
  513. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.54-to-0.5.55-0.5.55-20260706-225849 → upgrade-0.5.58-to-0.5.59-0.5.59-20260708-021757}/data.sqlite +0 -0
  514. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  515. package/app/package.json +1 -1
  516. package/package.json +1 -1
  517. package/app/.next-cli-build/server/chunks/4713.js +0 -1
  518. /package/app/.next-cli-build/static/{6DlcFIbNVVQ80tzM8_60j → w-ITB5pDWdUgMc8QL6uC_}/_buildManifest.js +0 -0
  519. /package/app/.next-cli-build/static/{6DlcFIbNVVQ80tzM8_60j → w-ITB5pDWdUgMc8QL6uC_}/_ssgManifest.js +0 -0
@@ -1,10 +1,10 @@
1
- "use strict";exports.id=8895,exports.ids=[4046,8895],exports.modules={1384:(a,b,c)=>{c.d(b,{B:()=>d});function d(a){(async()=>{try{let{detectCachingContext:b}=await Promise.resolve().then(c.bind(c,15028)),{recordCacheStats:d}=await c.e(5707).then(c.bind(c,45707)),e=b(a.compressionInputBody,{provider:a.provider,targetFormat:a.targetFormat,model:a.effectiveModel}),f=Math.max(0,a.stats.originalTokens-a.stats.compressedTokens);d({provider:e.provider??a.provider??"unknown",model:a.effectiveModel??"",compressionMode:a.mode,cacheControlPresent:e.hasCacheControl,estimatedCacheHit:e.hasCacheControl&&e.isCachingProvider,tokensSavedCompression:f,tokensSavedCaching:0,netSavings:f})}catch(b){a.log?.debug?.("COMPRESSION","Compression cache stats write skipped: "+(b instanceof Error?b.message:String(b)))}})()}},1959:(a,b,c)=>{c.d(b,{Bw:()=>s,Fe:()=>k,H3:()=>l,de:()=>g,yj:()=>f});var d=c(63871),e=c(43659);function f(a){for(let b of String(a||"").split("\n")){let a,c=b.trim();if(!c.startsWith("data:"))continue;let d=c.slice(5).trim();if(!d||"[DONE]"===d)continue;try{a=JSON.parse(d)}catch{continue}if(!a||"object"!=typeof a||Array.isArray(a))continue;let f=a;if(Array.isArray(f.choices))continue;let g=f.error;if(null==g)continue;let h="";h="string"==typeof g?g:"object"!=typeof g||Array.isArray(g)?String(g):"string"==typeof g.message?g.message:JSON.stringify(g);let i=(0,e.sanitizeErrorMessage)(h);if(i)return i}return null}function g(a){if(!a||"object"!=typeof a||Array.isArray(a)||Array.isArray(a.choices)&&a.choices.length>0||Array.isArray(a.output)&&a.output.length>0||Array.isArray(a.content)&&a.content.length>0||"string"==typeof a.text&&a.text.length>0)return null;let b=a.error;if(null==b)return null;let c="";return c="string"==typeof b?b:"object"!=typeof b||Array.isArray(b)?String(b):"string"==typeof b.message&&b.message.length>0?b.message:"string"==typeof b.code&&b.code.length>0?b.code:JSON.stringify(b),(0,e.sanitizeErrorMessage)(c)||null}function h(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function i(a,b=""){return"string"==typeof a?a:b}function j(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim().length>0){let c=Number(a);return Number.isFinite(c)?c:b}return b}function k(a,b){let c=String(a||"").split("\n"),e=[],f=!1;for(let a of c){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if(c&&"[DONE]"!==c)try{let a=JSON.parse(c);Array.isArray(a?.choices)&&(f=!0),e.push(a)}catch{}}if(0===e.length||!f)return null;let g=e[0],h=[],i=[],j=new Map,k=0,l="stop",m=null,n=a=>Number.isInteger(a?.index)?`idx:${a.index}`:a?.id!=null?`id:${String(a.id)}`:(k+=1,`seq:${k}`);for(let a of e){let b=a?.choices?.[0],c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&h.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&i.push(c.reasoning_content),"string"==typeof c.reasoning&&c.reasoning.length>0&&!c.reasoning_content&&i.push(c.reasoning),c.tool_calls)for(let a of c.tool_calls){let b=n(a),c=j.get(b),e="string"==typeof a?.function?.arguments?a.function.arguments:"";c?(c.id=c.id||(a?.id!=null?String(a.id):null),!Number.isInteger(c.index)&&Number.isInteger(a?.index)&&(c.index=a.index),a?.function?.name&&!c.function?.name&&(c.function=c.function||{},c.function.name=a.function.name),c.function=c.function||{},c.function.arguments=(0,d.K)(c.function.arguments,e),j.set(b,c)):j.set(b,{id:a?.id!=null?String(a.id):null,index:Number.isInteger(a?.index)?a.index:j.size,type:a?.type||"function",function:{name:a?.function?.name||"unknown",arguments:e}})}b?.finish_reason&&(l=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(m=a.usage)}let o=h.length>0?h.join("").trim():"",p=i.length>0?i.join("").trim():null,q={role:"assistant",content:o};p&&(q.reasoning_content=p);let r=[...j.values()].filter(Boolean).sort((a,b)=>(Number.isInteger(a?.index)?a.index:0)-(Number.isInteger(b?.index)?b.index:0));r.length>0&&(l="tool_calls",q.tool_calls=r);let s={id:null!=g.id?String(g.id):`chatcmpl-${Date.now()}`,object:"chat.completion",created:g.created||Math.floor(Date.now()/1e3),model:g.model||b||"unknown",choices:[{index:0,message:q,finish_reason:l}]};return m&&(s.usage=m),s}function l(a,b){let c=(function(a){let b=String(a||"").split("\n"),c=[],d="",e=[],f=()=>{if(0===e.length){d="";return}let a=e.join("\n").trim();if(e=[],!a||"[DONE]"===a){d="";return}try{let b=JSON.parse(a);d&&b&&"object"==typeof b&&!Array.isArray(b)&&"string"!=typeof b.type&&(b.type=d),c.push({event:d||void 0,data:b})}catch{}d=""};for(let a of b){let b=a.replace(/\r$/,"");if(""===b.trim()){f();continue}if(b.startsWith("event:")){e.length>0&&f(),d=b.slice(6).trim();continue}if(b.startsWith("data:")){let a=b.slice(5).trimStart();if("[DONE]"===a.trim()){f(),d="";continue}e.push(a)}}return f(),c})(a).map(a=>h(a.data)).filter(a=>Object.keys(a).length>0);if(0===c.length)return null;let d=new Map,e={},f="",g=b||"claude",k="assistant",l="end_turn",m=null,n=!1,o=a=>{for(let[b,c]of Object.entries(h(a)))"number"==typeof c&&Number.isFinite(c)?e[b]=c:c&&"object"==typeof c&&!Array.isArray(c)?e[b]={...h(e[b]),...h(c)}:"string"==typeof c&&c.trim().length>0&&(e[b]=c)},p=a=>{try{return JSON.parse(a)}catch{return a}};for(let a of c){let b=i(a.type);if("message_start"===b){n=!0;let b=h(a.message);f=i(b.id,f||`msg_${Date.now()}`),g=i(b.model,g),k=i(b.role,k),o(b.usage);continue}if("content_block_start"===b){n=!0;let b=j(a.index,d.size),c=h(a.content_block),e=i(c.type);"thinking"===e?d.set(b,{type:"thinking",index:b,thinking:i(c.thinking),signature:i(c.signature)||void 0}):"tool_use"===e?d.set(b,{type:"tool_use",index:b,id:i(c.id,`toolu_${Date.now()}_${b}`),name:i(c.name),input:c.input??{},inputJson:""}):d.set(b,{type:"text",index:b,text:i(c.text)});continue}if("content_block_delta"===b){n=!0;let b=j(a.index,0),c=h(a.delta),e=i(c.type),f=d.get(b);if("input_json_delta"===e){let a=f&&"tool_use"===f.type?f:{type:"tool_use",index:b,id:`toolu_${Date.now()}_${b}`,name:"",input:{},inputJson:""};a.inputJson+=i(c.partial_json),d.set(b,a);continue}let g="thinking_delta"===e||"string"==typeof c.thinking,k="signature_delta"===e||"string"==typeof c.signature;if(g||k){let a=f&&"thinking"===f.type?f:{type:"thinking",index:b,thinking:"",signature:void 0};g&&(a.thinking+=i(c.thinking));let e=i(c.signature);e&&(a.signature=`${a.signature||""}${e}`),d.set(b,a);continue}let l=f&&"text"===f.type?f:{type:"text",index:b,text:""};l.text+=i(c.text),d.set(b,l);continue}if("message_delta"===b){n=!0;let b=h(a.delta);l=i(b.stop_reason,l),m="string"==typeof b.stop_sequence?String(b.stop_sequence):m,o(a.usage);continue}o(a.usage)}if(!n)return null;let q=[];for(let a of[...d.values()].sort((a,b)=>a.index-b.index)){if("text"===a.type){a.text&&q.push({type:"text",text:a.text});continue}if("thinking"===a.type){let b="string"==typeof a.signature&&a.signature.length>0;(a.thinking||b)&&q.push({type:"thinking",thinking:a.thinking||"",...b?{signature:a.signature}:{}});continue}let b=a.inputJson.trim().length>0?p(a.inputJson):a.input;q.push({type:"tool_use",id:a.id,name:a.name,input:b})}return{id:f||`msg_${Date.now()}`,type:"message",role:k,model:g,content:q,stop_reason:l,...m?{stop_sequence:m}:{},...Object.keys(e).length>0?{usage:e}:{}}}let m=new Set(["response.completed","response.done","response.cancelled","response.canceled","response.failed","response.incomplete"]);function n(a){return null==a?"":String(a)}function o(a){let b=h(a);return{...b,id:null!=b.id?String(b.id):b.id,call_id:null!=b.call_id?String(b.call_id):b.call_id,...Array.isArray(b.content)?{content:b.content.map(a=>({...h(a)}))}:{},...Array.isArray(b.summary)?{summary:b.summary.map(a=>({...h(a)}))}:{}}}function p(a,b){let c=a.get(b);if(c?.type==="message")return c;let d={...c&&"object"==typeof c?c:{},id:c?.id!=null?String(c.id):`msg_${Date.now()}_${b}`,type:"message",role:"assistant",content:Array.isArray(c?.content)?c.content.map(a=>({...h(a)})):[{type:"output_text",annotations:[],text:""}]};return 0===d.content.length&&d.content.push({type:"output_text",annotations:[],text:""}),a.set(b,d),d}function q(a,b,c){let d=a.get(b);if(d?.type==="reasoning")return d;let e={...d&&"object"==typeof d?d:{},id:c||(d?.id!=null?String(d.id):null)||`rs_${Date.now()}_${b}`,type:"reasoning",summary:Array.isArray(d?.summary)?d.summary.map(a=>({...h(a)})):[{type:"summary_text",text:""}]};return 0===e.summary.length&&e.summary.push({type:"summary_text",text:""}),a.set(b,e),e}function r(a,b,c,d,e){let f=a.get(b),g=n(c),h=n(d),i=f?.id!=null?String(f.id):"",j=f?.call_id!=null?String(f.call_id):"";if(f?.type==="function_call")return null!=f.call_id&&(f.call_id=String(f.call_id)),null!=f.id&&(f.id=String(f.id)),h&&!f.call_id&&(f.call_id=h),e&&!f.name&&(f.name=e),g&&!f.id&&(f.id=g),f;let k={...f&&"object"==typeof f?f:{},id:g||i||`fc_${h||`${Date.now()}_${b}`}`,type:"function_call",call_id:h||j||"",name:e||f?.name||"",arguments:"string"==typeof f?.arguments?f.arguments:""};return a.set(b,k),k}function s(a,b){let c=String(a||"").split("\n"),d=[];for(let a of c){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if(c&&"[DONE]"!==c)try{let a=JSON.parse(c),b=h(a);Object.keys(b).length>0&&d.push(b)}catch{}}if(0===d.length)return null;let e=null,f="",g=null,j=new Map;for(let a of d){let b=i(a?.type),c=function(a){if("number"==typeof a&&Number.isInteger(a))return a;if("string"==typeof a&&a.trim().length>0){let b=Number(a);if(Number.isInteger(b))return b}return null}(a?.output_index),d=h(a?.item);if(null!==c&&"response.output_item.added"===b&&j.set(c,o(d)),null!==c&&"response.output_item.done"===b){let a=j.get(c);j.set(c,function(a,b){let c=o(b);return a&&"object"==typeof a?{...a,...c,...Array.isArray(c.content)?{content:c.content}:{},...Array.isArray(c.summary)?{summary:c.summary}:{}}:c}(a,d))}if(null!==c&&"response.output_text.delta"===b){let b=p(j,c),d=Array.isArray(b.content)?b.content:[],e=d.length>0?{...h(d[0])}:{type:"output_text",annotations:[]};e.type=e.type||"output_text",e.annotations=Array.isArray(e.annotations)?e.annotations:[],e.text=`${i(e.text)}${i(a.delta)}`,d[0]=e,b.content=d}if(null!==c&&"response.output_text.done"===b){let b=p(j,c),d=Array.isArray(b.content)?b.content:[],e=d.length>0?{...h(d[0])}:{type:"output_text",annotations:[]};e.type=e.type||"output_text",e.annotations=Array.isArray(e.annotations)?e.annotations:[],e.text=i(a.text,i(e.text)),d[0]=e,b.content=d}if(null!==c&&"response.reasoning_summary_text.delta"===b){let b=q(j,c,n(a.item_id)),d=Array.isArray(b.summary)?b.summary:[],e=d.length>0?{...h(d[0])}:{type:"summary_text",text:""};e.type=e.type||"summary_text",e.text=`${i(e.text)}${i(a.delta)}`,d[0]=e,b.summary=d}if(null!==c&&"response.reasoning_summary_text.done"===b){let b=q(j,c,n(a.item_id)),d=Array.isArray(b.summary)?b.summary:[],e=d.length>0?{...h(d[0])}:{type:"summary_text",text:""};e.type=e.type||"summary_text",e.text=i(a.text,i(e.text)),d[0]=e,b.summary=d}if(null!==c&&"response.function_call_arguments.delta"===b){let b=r(j,c,n(a.item_id),"","");b.arguments=`${i(b.arguments)}${i(a.delta)}`}if(null!==c&&"response.function_call_arguments.done"===b){let b=r(j,c,n(a.item_id),"","");b.arguments=i(a.arguments,i(b.arguments))}m.has(b)&&a.response&&(e=a.response,f=b),a?.response&&"object"==typeof a.response?g=a.response:a?.object==="response"&&(g=a)}let k=e||g;if(!k||"object"!=typeof k)return null;let l=[...j.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a).filter(a=>a&&"object"==typeof a),s=Array.isArray(k.output)?k.output:[],t=a=>a.some(a=>"message"===h(a).type),u=s.length>0&&!t(s)&&t(l)?l:s.length>0?s:l,v="response.cancelled"===f?"cancelled":"response.canceled"===f?"canceled":"response.failed"===f?"failed":"response.incomplete"===f?"incomplete":e?"completed":"in_progress";return{id:null!=k.id?String(k.id):`resp_${Date.now()}`,object:k.object||"response",model:k.model||b||"unknown",output:u.map(a=>{let b=h(a);return{...b,id:null!=b.id?String(b.id):b.id,call_id:null!=b.call_id?String(b.call_id):b.call_id}}),usage:k.usage||null,status:k.status||v,created_at:k.created_at||Math.floor(Date.now()/1e3),metadata:k.metadata||{}}}},2238:(a,b,c)=>{c.d(b,{YA:()=>j,ah:()=>i});var d=c(89718);let e=new Map,f=null,g=0,h=-1;async function i(){let a=Date.now(),{getCombos:b,getCombosCacheVersion:d}=await Promise.resolve().then(c.bind(c,89718)),e=d();return(e!==h&&(f=null,g=0,h=-1),f&&a-g<1e4)?f:(g=a,h=e,f=b())}async function j(a){let b=e.get(a);if(b&&Date.now()-b.ts<1e4)return b;let c=await (0,d.Az)(a).catch(()=>null),f=c?{mode:c.mode,enabled:c.enabled,ts:Date.now()}:{mode:"native",enabled:!1,ts:Date.now()};return e.set(a,f),f}},2275:(a,b,c)=>{function d(a){return"number"==typeof a&&Number.isFinite(a)&&a>0?a:0}function e(a){if(!a||"object"!=typeof a)return null;let b=a.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details?a.prompt_tokens_details:void 0,c="cache_read_input_tokens"in a||"cached_tokens"in a||"cache_creation_input_tokens"in a||!!b&&("cached_tokens"in b||"cache_creation_tokens"in b),e=d(a.cache_read_input_tokens??a.cached_tokens??b?.cached_tokens),f=d(a.cache_creation_input_tokens??b?.cache_creation_tokens);return c?{cacheReadTokens:e,cacheCreationTokens:f}:null}function f(a,b){if(!b||"object"!=typeof b)return a;let c=Object.fromEntries(Object.entries(b).filter(([,a])=>null!=a));if(0===Object.keys(c).length)return a;if(!a||"object"!=typeof a||Array.isArray(a))return{_omniroute:c,_payload:a??null};let d=a._omniroute&&"object"==typeof a._omniroute&&!Array.isArray(a._omniroute)?a._omniroute:{};return{...a,_omniroute:{...d,...c}}}c.d(b,{$s:()=>f,ZC:()=>e})},2504:(a,b,c)=>{c.d(b,{d:()=>f});var d=c(73483);let e={addBufferToUsage:d.O9,filterUsageForFormat:d.WL,estimateUsage:d.OF};function f(a,b,c,d=e){if(a?.usage){let b=d.addBufferToUsage(a.usage);a.usage=d.filterUsageForFormat(b,c)}else{let e=JSON.stringify(a?.choices?.[0]?.message?.content||"").length;if(e>0){let f=d.estimateUsage(b,e,c);a.usage=d.filterUsageForFormat(f,c)}}}},3848:(a,b,c)=>{c.d(b,{K:()=>f});var d=c(80540),e=c(24791);function f(a){let b,{modelToCall:c,effectiveModel:f,provider:g,model:h,resolvedModel:i,sourceFormat:j,connectionCustomUserAgent:k,settings:l}=a,m=c===f?{...(0,d.$n)(g||"",h||"",j),...(0,d.$n)(g||"",i||"",j)}:(b=(0,e.kV)(c),{...(0,d.$n)(g||"",c||"",j),...(0,d.$n)(g||"",b||"",j)});return k&&(m["User-Agent"]=k,"user-agent"in m&&(m["user-agent"]=k)),"claude"===g,m}},4323:(a,b,c)=>{c.d(b,{ic:()=>d,tm:()=>f,xp:()=>e});let d=async()=>void 0,e=()=>null,f=async()=>void 0},6520:(a,b,c)=>{c.d(b,{z:()=>g});var d=c(14170);function e(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function f(a){return e(a)?function a(b,c=0){if(c>32||!e(b))return{};let d={};for(let[f,g]of Object.entries(b))if(null!=g)if("properties"===f&&e(g)){let b={};for(let[d,f]of Object.entries(g))e(f)?b[d]=a(f,c+1):"boolean"==typeof f?b[d]=f:b[d]={};d[f]=b}else if("items"===f)if(Array.isArray(g)){let b=g.find(e);d[f]=b?a(b,c+1):{}}else e(g)&&(d[f]=a(g,c+1));else"anyOf"===f||"oneOf"===f||"allOf"===f?Array.isArray(g)&&(d[f]=g.map(b=>e(b)?a(b,c+1):{})):"additionalProperties"===f?e(g)?d[f]=a(g,c+1):"boolean"==typeof g&&(d[f]=g):"enum"===f&&Array.isArray(g)?d[f]=g.filter(a=>null!=a):"required"===f&&Array.isArray(g)?d[f]=g.filter(a=>"string"==typeof a):d[f]=g;if(Array.isArray(d.required)&&e(d.properties)){let a=new Set(Object.keys(d.properties));d.required=d.required.filter(b=>a.has(b))}return!function(a){if(Object.prototype.hasOwnProperty.call(a,"additionalProperties"))return;let b=a.properties;("object"===a.type||e(b))&&(void 0===b?(a.properties={},a.additionalProperties=!0):e(b)&&0===Object.keys(b).length&&(a.additionalProperties=!0))}(d),d}(a):{type:"object",properties:{},additionalProperties:!0}}function g(a,b,c){return b===d.h.OPENAI_RESPONSES||c===d.h.OPENAI_RESPONSES?void 0===a.max_output_tokens&&(void 0!==a.max_completion_tokens?(a.max_output_tokens=a.max_completion_tokens,delete a.max_completion_tokens):void 0!==a.max_tokens&&(a.max_output_tokens=a.max_tokens,delete a.max_tokens)):void 0!==a.max_output_tokens&&(void 0===a.max_tokens&&(a.max_tokens=a.max_output_tokens),delete a.max_output_tokens),Array.isArray(a.messages)&&(a.messages=a.messages.map(a=>{if(""===a.name){let{name:b,...c}=a;return c}return a})),Array.isArray(a.input)&&(a.input=a.input.map(a=>{if(""===a.name){let{name:b,...c}=a;return c}return a})),Array.isArray(a.tools)&&(a.tools=a.tools.filter(a=>{let b="string"==typeof a.type?a.type:"";if(b&&"function"!==b&&!a.function&&void 0===a.name)return!0;let c=a.function,d=c?.name??a.name;return d&&String(d).trim().length>0}),a.tools=a.tools.map(a=>(function(a){if(!e(a))return a;let b={...a};if(e(b.function)){let a={...b.function};a.parameters=f(a.parameters),b.function=a}else"function"===b.type&&(b.parameters=f(b.parameters));return b})(a))),a}},6854:(a,b,c)=>{c(55511),c(36268),c(85955),c(4368),c(87836),c(9927),c(36770),c(77598),c(47370),c(43659)},6906:(a,b,c)=>{c(99718),c(38048).m},7803:(a,b,c)=>{c.d(b,{I:()=>d});let d={cache:"x-omniroute-cache",progress:"x-omniroute-progress",compression:"x-omniroute-compression"}},8919:(a,b,c)=>{c.d(b,{Cb:()=>e,FD:()=>g,Ke:()=>f,gR:()=>d,yv:()=>h});let d=()=>void 0,e=()=>null,f=()=>!1,g=()=>!1,h=()=>void 0},9744:(a,b,c)=>{c.d(b,{p:()=>i});var d=c(47370),e=c(78769),f=c(95374),g=c(57708),h=c(26998);function i(a,b){if(a&&"object"==typeof a){var c,i;let j;b.traceEnabled&&(c=b.provider,i=b.connectionId,j=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}] 📊 [USAGE] ${c?.toUpperCase()} | ${(0,e.Hx)(a)}${i?` | account=${i.slice(0,8)}...`:""}`,console.log(`${f.lm.green}${j}${f.lm.reset}`)),function(a,b){let{provider:c,connectionId:e,model:f,startTime:g,apiKeyInfo:h,effectiveServiceTier:i}=b;(0,d.sZ)({provider:c||"unknown",model:f||"unknown",tokens:a,status:"200",success:!0,latencyMs:Date.now()-g,timeToFirstTokenMs:Date.now()-g,errorCode:null,timestamp:new Date().toISOString(),connectionId:e||void 0,apiKeyId:h?.id||void 0,apiKeyName:h?.name||void 0,serviceTier:i,comboStrategy:b.isCombo&&b.comboStrategy||void 0,endpoint:b.endpoint||void 0}).catch(a=>{console.error("Failed to save usage stats:",a.message)})}(a,b),function(a,b,c,d){if(b?.id)try{let e=(0,h.zP)(a);e>0&&(0,g.W_)(b.id,c||"unknown",d||"unknown",e)}catch{}}(a,b.apiKeyInfo,b.provider,b.model)}}},10361:(a,b,c)=>{c.d(b,{M:()=>g});var d=c(57647),e=c(14288),f=c(14170);function g(a){let{clientRawRequest:b,body:c,provider:g,userAgent:h}=a,i=String(b?.endpoint||""),j=(0,d.a4)(c,i),k=/\/responses(?=\/|$)/i.test(i)||/^responses(?=\/|$)/i.test(i),l=(0,e.J)({provider:g,sourceFormat:j,endpointPath:i}),m=h?.toLowerCase().includes("droid")||h?.toLowerCase().includes("codex-cli"),n=function(a,b){let c=a=>"string"==typeof a&&a.toLowerCase().includes("copilot");if(c(b))return!0;if(a instanceof Headers){for(let[b,d]of a)if(c(b)||c(d))return!0}else if(a&&"object"==typeof a){for(let[b,d]of Object.entries(a))if(c(b)||c(d))return!0}return!1}(b?.headers,h),o=j!==f.h.OPENAI_RESPONSES||k||m?j:f.h.OPENAI;return{endpointPath:i,sourceFormat:j,isResponsesEndpoint:k,nativeCodexPassthrough:l,isDroidCLI:m,copilotCompatibleReasoning:n,clientResponseFormat:o}}},10812:(a,b,c)=>{c.d(b,{X8:()=>e,Yo:()=>f,dj:()=>d});let d=async()=>void 0,e=async()=>void 0,f=async()=>null},11002:(a,b,c)=>{c.d(b,{V:()=>e});var d=c(11191);function e(a){let{headers:b,existingProviderData:c,modelForScope:e,status:f}=a,g=(0,d.H5)(b);if(!g)return null;let h=(0,d.t6)(e),i={usage5h:g.usage5h,limit5h:g.limit5h,resetAt5h:g.resetAt5h,usage7d:g.usage7d,limit7d:g.limit7d,resetAt7d:g.resetAt7d,scope:h,updatedAt:new Date().toISOString()},j={...c,codexQuotaState:i},k=null;if(429===f){let{cooldownMs:a,window:b}=(0,d.kn)(g);if(a>0){let d=new Date(Date.now()+a).toISOString();j.codexScopeRateLimitedUntil={...c&&"object"==typeof c&&c.codexScopeRateLimitedUntil&&"object"==typeof c.codexScopeRateLimitedUntil?c.codexScopeRateLimitedUntil:{},[h]:d},j.codexExhaustedWindow=b,k=`Quota exhaustion on ${b} window, cooldown until ${d}`}}return{nextProviderData:j,exhaustionLog:k}}},11822:(a,b,c)=>{c.d(b,{y:()=>d});let d=async()=>void 0},11993:(a,b,c)=>{c(42124),c(47370),c(71336),c(94400),c(43659)},13700:(a,b,c)=>{c.d(b,{E8:()=>f,lZ:()=>g,rv:()=>e});var d=c(43659);function e(a){return!!a&&"object"==typeof a&&("SEMAPHORE_TIMEOUT"===a.code||"SEMAPHORE_QUEUE_FULL"===a.code)}function f(a,b,c,e){let f=(0,d.buildErrorBody)(a,b);return c&&(f.error.code=c),e&&(f.error.type=e),{success:!1,status:a,error:b,response:new Response(`data: ${JSON.stringify(f)}
1
+ "use strict";exports.id=8895,exports.ids=[4046,8895],exports.modules={1384:(a,b,c)=>{c.d(b,{B:()=>d});function d(a){(async()=>{try{let{detectCachingContext:b}=await Promise.resolve().then(c.bind(c,15028)),{recordCacheStats:d}=await c.e(5707).then(c.bind(c,45707)),e=b(a.compressionInputBody,{provider:a.provider,targetFormat:a.targetFormat,model:a.effectiveModel}),f=Math.max(0,a.stats.originalTokens-a.stats.compressedTokens);d({provider:e.provider??a.provider??"unknown",model:a.effectiveModel??"",compressionMode:a.mode,cacheControlPresent:e.hasCacheControl,estimatedCacheHit:e.hasCacheControl&&e.isCachingProvider,tokensSavedCompression:f,tokensSavedCaching:0,netSavings:f})}catch(b){a.log?.debug?.("COMPRESSION","Compression cache stats write skipped: "+(b instanceof Error?b.message:String(b)))}})()}},1959:(a,b,c)=>{c.d(b,{Bw:()=>s,Fe:()=>k,H3:()=>l,de:()=>g,yj:()=>f});var d=c(63871),e=c(43659);function f(a){for(let b of String(a||"").split("\n")){let a,c=b.trim();if(!c.startsWith("data:"))continue;let d=c.slice(5).trim();if(!d||"[DONE]"===d)continue;try{a=JSON.parse(d)}catch{continue}if(!a||"object"!=typeof a||Array.isArray(a))continue;let f=a;if(Array.isArray(f.choices))continue;let g=f.error;if(null==g)continue;let h="";h="string"==typeof g?g:"object"!=typeof g||Array.isArray(g)?String(g):"string"==typeof g.message?g.message:JSON.stringify(g);let i=(0,e.sanitizeErrorMessage)(h);if(i)return i}return null}function g(a){if(!a||"object"!=typeof a||Array.isArray(a)||Array.isArray(a.choices)&&a.choices.length>0||Array.isArray(a.output)&&a.output.length>0||Array.isArray(a.content)&&a.content.length>0||"string"==typeof a.text&&a.text.length>0)return null;let b=a.error;if(null==b)return null;let c="";return c="string"==typeof b?b:"object"!=typeof b||Array.isArray(b)?String(b):"string"==typeof b.message&&b.message.length>0?b.message:"string"==typeof b.code&&b.code.length>0?b.code:JSON.stringify(b),(0,e.sanitizeErrorMessage)(c)||null}function h(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function i(a,b=""){return"string"==typeof a?a:b}function j(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim().length>0){let c=Number(a);return Number.isFinite(c)?c:b}return b}function k(a,b){let c=String(a||"").split("\n"),e=[],f=!1;for(let a of c){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if(c&&"[DONE]"!==c)try{let a=JSON.parse(c);Array.isArray(a?.choices)&&(f=!0),e.push(a)}catch{}}if(0===e.length||!f)return null;let g=e[0],h=[],i=[],j=new Map,k=0,l="stop",m=null,n=a=>Number.isInteger(a?.index)?`idx:${a.index}`:a?.id!=null?`id:${String(a.id)}`:(k+=1,`seq:${k}`);for(let a of e){let b=a?.choices?.[0],c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&h.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&i.push(c.reasoning_content),"string"==typeof c.reasoning&&c.reasoning.length>0&&!c.reasoning_content&&i.push(c.reasoning),c.tool_calls)for(let a of c.tool_calls){let b=n(a),c=j.get(b),e="string"==typeof a?.function?.arguments?a.function.arguments:"";c?(c.id=c.id||(a?.id!=null?String(a.id):null),!Number.isInteger(c.index)&&Number.isInteger(a?.index)&&(c.index=a.index),a?.function?.name&&!c.function?.name&&(c.function=c.function||{},c.function.name=a.function.name),c.function=c.function||{},c.function.arguments=(0,d.K)(c.function.arguments,e),j.set(b,c)):j.set(b,{id:a?.id!=null?String(a.id):null,index:Number.isInteger(a?.index)?a.index:j.size,type:a?.type||"function",function:{name:a?.function?.name||"unknown",arguments:e}})}b?.finish_reason&&(l=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(m=a.usage)}let o=h.length>0?h.join("").trim():"",p=i.length>0?i.join("").trim():null,q={role:"assistant",content:o};p&&(q.reasoning_content=p);let r=[...j.values()].filter(Boolean).sort((a,b)=>(Number.isInteger(a?.index)?a.index:0)-(Number.isInteger(b?.index)?b.index:0));r.length>0&&(l="tool_calls",q.tool_calls=r);let s={id:null!=g.id?String(g.id):`chatcmpl-${Date.now()}`,object:"chat.completion",created:g.created||Math.floor(Date.now()/1e3),model:g.model||b||"unknown",choices:[{index:0,message:q,finish_reason:l}]};return m&&(s.usage=m),s}function l(a,b){let c=(function(a){let b=String(a||"").split("\n"),c=[],d="",e=[],f=()=>{if(0===e.length){d="";return}let a=e.join("\n").trim();if(e=[],!a||"[DONE]"===a){d="";return}try{let b=JSON.parse(a);d&&b&&"object"==typeof b&&!Array.isArray(b)&&"string"!=typeof b.type&&(b.type=d),c.push({event:d||void 0,data:b})}catch{}d=""};for(let a of b){let b=a.replace(/\r$/,"");if(""===b.trim()){f();continue}if(b.startsWith("event:")){e.length>0&&f(),d=b.slice(6).trim();continue}if(b.startsWith("data:")){let a=b.slice(5).trimStart();if("[DONE]"===a.trim()){f(),d="";continue}e.push(a)}}return f(),c})(a).map(a=>h(a.data)).filter(a=>Object.keys(a).length>0);if(0===c.length)return null;let d=new Map,e={},f="",g=b||"claude",k="assistant",l="end_turn",m=null,n=!1,o=a=>{for(let[b,c]of Object.entries(h(a)))"number"==typeof c&&Number.isFinite(c)?e[b]=c:c&&"object"==typeof c&&!Array.isArray(c)?e[b]={...h(e[b]),...h(c)}:"string"==typeof c&&c.trim().length>0&&(e[b]=c)},p=a=>{try{return JSON.parse(a)}catch{return a}};for(let a of c){let b=i(a.type);if("message_start"===b){n=!0;let b=h(a.message);f=i(b.id,f||`msg_${Date.now()}`),g=i(b.model,g),k=i(b.role,k),o(b.usage);continue}if("content_block_start"===b){n=!0;let b=j(a.index,d.size),c=h(a.content_block),e=i(c.type);"thinking"===e?d.set(b,{type:"thinking",index:b,thinking:i(c.thinking),signature:i(c.signature)||void 0}):"tool_use"===e?d.set(b,{type:"tool_use",index:b,id:i(c.id,`toolu_${Date.now()}_${b}`),name:i(c.name),input:c.input??{},inputJson:""}):d.set(b,{type:"text",index:b,text:i(c.text)});continue}if("content_block_delta"===b){n=!0;let b=j(a.index,0),c=h(a.delta),e=i(c.type),f=d.get(b);if("input_json_delta"===e){let a=f&&"tool_use"===f.type?f:{type:"tool_use",index:b,id:`toolu_${Date.now()}_${b}`,name:"",input:{},inputJson:""};a.inputJson+=i(c.partial_json),d.set(b,a);continue}let g="thinking_delta"===e||"string"==typeof c.thinking,k="signature_delta"===e||"string"==typeof c.signature;if(g||k){let a=f&&"thinking"===f.type?f:{type:"thinking",index:b,thinking:"",signature:void 0};g&&(a.thinking+=i(c.thinking));let e=i(c.signature);e&&(a.signature=`${a.signature||""}${e}`),d.set(b,a);continue}let l=f&&"text"===f.type?f:{type:"text",index:b,text:""};l.text+=i(c.text),d.set(b,l);continue}if("message_delta"===b){n=!0;let b=h(a.delta);l=i(b.stop_reason,l),m="string"==typeof b.stop_sequence?String(b.stop_sequence):m,o(a.usage);continue}o(a.usage)}if(!n)return null;let q=[];for(let a of[...d.values()].sort((a,b)=>a.index-b.index)){if("text"===a.type){a.text&&q.push({type:"text",text:a.text});continue}if("thinking"===a.type){let b="string"==typeof a.signature&&a.signature.length>0;(a.thinking||b)&&q.push({type:"thinking",thinking:a.thinking||"",...b?{signature:a.signature}:{}});continue}let b=a.inputJson.trim().length>0?p(a.inputJson):a.input;q.push({type:"tool_use",id:a.id,name:a.name,input:b})}return{id:f||`msg_${Date.now()}`,type:"message",role:k,model:g,content:q,stop_reason:l,...m?{stop_sequence:m}:{},...Object.keys(e).length>0?{usage:e}:{}}}let m=new Set(["response.completed","response.done","response.cancelled","response.canceled","response.failed","response.incomplete"]);function n(a){return null==a?"":String(a)}function o(a){let b=h(a);return{...b,id:null!=b.id?String(b.id):b.id,call_id:null!=b.call_id?String(b.call_id):b.call_id,...Array.isArray(b.content)?{content:b.content.map(a=>({...h(a)}))}:{},...Array.isArray(b.summary)?{summary:b.summary.map(a=>({...h(a)}))}:{}}}function p(a,b){let c=a.get(b);if(c?.type==="message")return c;let d={...c&&"object"==typeof c?c:{},id:c?.id!=null?String(c.id):`msg_${Date.now()}_${b}`,type:"message",role:"assistant",content:Array.isArray(c?.content)?c.content.map(a=>({...h(a)})):[{type:"output_text",annotations:[],text:""}]};return 0===d.content.length&&d.content.push({type:"output_text",annotations:[],text:""}),a.set(b,d),d}function q(a,b,c){let d=a.get(b);if(d?.type==="reasoning")return d;let e={...d&&"object"==typeof d?d:{},id:c||(d?.id!=null?String(d.id):null)||`rs_${Date.now()}_${b}`,type:"reasoning",summary:Array.isArray(d?.summary)?d.summary.map(a=>({...h(a)})):[{type:"summary_text",text:""}]};return 0===e.summary.length&&e.summary.push({type:"summary_text",text:""}),a.set(b,e),e}function r(a,b,c,d,e){let f=a.get(b),g=n(c),h=n(d),i=f?.id!=null?String(f.id):"",j=f?.call_id!=null?String(f.call_id):"";if(f?.type==="function_call")return null!=f.call_id&&(f.call_id=String(f.call_id)),null!=f.id&&(f.id=String(f.id)),h&&!f.call_id&&(f.call_id=h),e&&!f.name&&(f.name=e),g&&!f.id&&(f.id=g),f;let k={...f&&"object"==typeof f?f:{},id:g||i||`fc_${h||`${Date.now()}_${b}`}`,type:"function_call",call_id:h||j||"",name:e||f?.name||"",arguments:"string"==typeof f?.arguments?f.arguments:""};return a.set(b,k),k}function s(a,b){let c=String(a||"").split("\n"),d=[];for(let a of c){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if(c&&"[DONE]"!==c)try{let a=JSON.parse(c),b=h(a);Object.keys(b).length>0&&d.push(b)}catch{}}if(0===d.length)return null;let e=null,f="",g=null,j=new Map;for(let a of d){let b=i(a?.type),c=function(a){if("number"==typeof a&&Number.isInteger(a))return a;if("string"==typeof a&&a.trim().length>0){let b=Number(a);if(Number.isInteger(b))return b}return null}(a?.output_index),d=h(a?.item);if(null!==c&&"response.output_item.added"===b&&j.set(c,o(d)),null!==c&&"response.output_item.done"===b){let a=j.get(c);j.set(c,function(a,b){let c=o(b);return a&&"object"==typeof a?{...a,...c,...Array.isArray(c.content)?{content:c.content}:{},...Array.isArray(c.summary)?{summary:c.summary}:{}}:c}(a,d))}if(null!==c&&"response.output_text.delta"===b){let b=p(j,c),d=Array.isArray(b.content)?b.content:[],e=d.length>0?{...h(d[0])}:{type:"output_text",annotations:[]};e.type=e.type||"output_text",e.annotations=Array.isArray(e.annotations)?e.annotations:[],e.text=`${i(e.text)}${i(a.delta)}`,d[0]=e,b.content=d}if(null!==c&&"response.output_text.done"===b){let b=p(j,c),d=Array.isArray(b.content)?b.content:[],e=d.length>0?{...h(d[0])}:{type:"output_text",annotations:[]};e.type=e.type||"output_text",e.annotations=Array.isArray(e.annotations)?e.annotations:[],e.text=i(a.text,i(e.text)),d[0]=e,b.content=d}if(null!==c&&"response.reasoning_summary_text.delta"===b){let b=q(j,c,n(a.item_id)),d=Array.isArray(b.summary)?b.summary:[],e=d.length>0?{...h(d[0])}:{type:"summary_text",text:""};e.type=e.type||"summary_text",e.text=`${i(e.text)}${i(a.delta)}`,d[0]=e,b.summary=d}if(null!==c&&"response.reasoning_summary_text.done"===b){let b=q(j,c,n(a.item_id)),d=Array.isArray(b.summary)?b.summary:[],e=d.length>0?{...h(d[0])}:{type:"summary_text",text:""};e.type=e.type||"summary_text",e.text=i(a.text,i(e.text)),d[0]=e,b.summary=d}if(null!==c&&"response.function_call_arguments.delta"===b){let b=r(j,c,n(a.item_id),"","");b.arguments=`${i(b.arguments)}${i(a.delta)}`}if(null!==c&&"response.function_call_arguments.done"===b){let b=r(j,c,n(a.item_id),"","");b.arguments=i(a.arguments,i(b.arguments))}m.has(b)&&a.response&&(e=a.response,f=b),a?.response&&"object"==typeof a.response?g=a.response:a?.object==="response"&&(g=a)}let k=e||g;if(!k||"object"!=typeof k)return null;let l=[...j.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a).filter(a=>a&&"object"==typeof a),s=Array.isArray(k.output)?k.output:[],t=a=>a.some(a=>"message"===h(a).type),u=s.length>0&&!t(s)&&t(l)?l:s.length>0?s:l,v="response.cancelled"===f?"cancelled":"response.canceled"===f?"canceled":"response.failed"===f?"failed":"response.incomplete"===f?"incomplete":e?"completed":"in_progress";return{id:null!=k.id?String(k.id):`resp_${Date.now()}`,object:k.object||"response",model:k.model||b||"unknown",output:u.map(a=>{let b=h(a);return{...b,id:null!=b.id?String(b.id):b.id,call_id:null!=b.call_id?String(b.call_id):b.call_id}}),usage:k.usage||null,status:k.status||v,created_at:k.created_at||Math.floor(Date.now()/1e3),metadata:k.metadata||{}}}},2238:(a,b,c)=>{c.d(b,{YA:()=>j,ah:()=>i});var d=c(89718);let e=new Map,f=null,g=0,h=-1;async function i(){let a=Date.now(),{getCombos:b,getCombosCacheVersion:d}=await Promise.resolve().then(c.bind(c,89718)),e=d();return(e!==h&&(f=null,g=0,h=-1),f&&a-g<1e4)?f:(g=a,h=e,f=b())}async function j(a){let b=e.get(a);if(b&&Date.now()-b.ts<1e4)return b;let c=await (0,d.Az)(a).catch(()=>null),f=c?{mode:c.mode,enabled:c.enabled,ts:Date.now()}:{mode:"native",enabled:!1,ts:Date.now()};return e.set(a,f),f}},2275:(a,b,c)=>{function d(a){return"number"==typeof a&&Number.isFinite(a)&&a>0?a:0}function e(a){if(!a||"object"!=typeof a)return null;let b=a.prompt_tokens_details&&"object"==typeof a.prompt_tokens_details?a.prompt_tokens_details:void 0,c="cache_read_input_tokens"in a||"cached_tokens"in a||"cache_creation_input_tokens"in a||!!b&&("cached_tokens"in b||"cache_creation_tokens"in b),e=d(a.cache_read_input_tokens??a.cached_tokens??b?.cached_tokens),f=d(a.cache_creation_input_tokens??b?.cache_creation_tokens);return c?{cacheReadTokens:e,cacheCreationTokens:f}:null}function f(a,b){if(!b||"object"!=typeof b)return a;let c=Object.fromEntries(Object.entries(b).filter(([,a])=>null!=a));if(0===Object.keys(c).length)return a;if(!a||"object"!=typeof a||Array.isArray(a))return{_omniroute:c,_payload:a??null};let d=a._omniroute&&"object"==typeof a._omniroute&&!Array.isArray(a._omniroute)?a._omniroute:{};return{...a,_omniroute:{...d,...c}}}c.d(b,{$s:()=>f,ZC:()=>e})},2504:(a,b,c)=>{c.d(b,{d:()=>f});var d=c(73483);let e={addBufferToUsage:d.O9,filterUsageForFormat:d.WL,estimateUsage:d.OF};function f(a,b,c,d=e){if(a?.usage){let b=d.addBufferToUsage(a.usage);a.usage=d.filterUsageForFormat(b,c)}else{let e=JSON.stringify(a?.choices?.[0]?.message?.content||"").length;if(e>0){let f=d.estimateUsage(b,e,c);a.usage=d.filterUsageForFormat(f,c)}}}},3848:(a,b,c)=>{c.d(b,{K:()=>f});var d=c(80540),e=c(24791);function f(a){let b,{modelToCall:c,effectiveModel:f,provider:g,model:h,resolvedModel:i,sourceFormat:j,connectionCustomUserAgent:k,settings:l}=a,m=c===f?{...(0,d.$n)(g||"",h||"",j),...(0,d.$n)(g||"",i||"",j)}:(b=(0,e.kV)(c),{...(0,d.$n)(g||"",c||"",j),...(0,d.$n)(g||"",b||"",j)});return k&&(m["User-Agent"]=k,"user-agent"in m&&(m["user-agent"]=k)),"claude"===g,m}},4323:(a,b,c)=>{c.d(b,{ic:()=>d,tm:()=>f,xp:()=>e});let d=async()=>void 0,e=()=>null,f=async()=>void 0},6520:(a,b,c)=>{c.d(b,{z:()=>g});var d=c(14170);function e(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function f(a){return e(a)?function a(b,c=0){if(c>32||!e(b))return{};let d={};for(let[f,g]of Object.entries(b))if(null!=g)if("properties"===f&&e(g)){let b={};for(let[d,f]of Object.entries(g))e(f)?b[d]=a(f,c+1):"boolean"==typeof f?b[d]=f:b[d]={};d[f]=b}else if("items"===f)if(Array.isArray(g)){let b=g.find(e);d[f]=b?a(b,c+1):{}}else e(g)&&(d[f]=a(g,c+1));else"anyOf"===f||"oneOf"===f||"allOf"===f?Array.isArray(g)&&(d[f]=g.map(b=>e(b)?a(b,c+1):{})):"additionalProperties"===f?e(g)?d[f]=a(g,c+1):"boolean"==typeof g&&(d[f]=g):"enum"===f&&Array.isArray(g)?d[f]=g.filter(a=>null!=a):"required"===f&&Array.isArray(g)?d[f]=g.filter(a=>"string"==typeof a):d[f]=g;if(Array.isArray(d.required)&&e(d.properties)){let a=new Set(Object.keys(d.properties));d.required=d.required.filter(b=>a.has(b))}return!function(a){if(Object.prototype.hasOwnProperty.call(a,"additionalProperties"))return;let b=a.properties;("object"===a.type||e(b))&&(void 0===b?(a.properties={},a.additionalProperties=!0):e(b)&&0===Object.keys(b).length&&(a.additionalProperties=!0))}(d),d}(a):{type:"object",properties:{},additionalProperties:!0}}function g(a,b,c){return b===d.h.OPENAI_RESPONSES||c===d.h.OPENAI_RESPONSES?void 0===a.max_output_tokens&&(void 0!==a.max_completion_tokens?(a.max_output_tokens=a.max_completion_tokens,delete a.max_completion_tokens):void 0!==a.max_tokens&&(a.max_output_tokens=a.max_tokens,delete a.max_tokens)):void 0!==a.max_output_tokens&&(void 0===a.max_tokens&&(a.max_tokens=a.max_output_tokens),delete a.max_output_tokens),Array.isArray(a.messages)&&(a.messages=a.messages.map(a=>{if(""===a.name){let{name:b,...c}=a;return c}return a})),Array.isArray(a.input)&&(a.input=a.input.map(a=>{if(""===a.name){let{name:b,...c}=a;return c}return a})),Array.isArray(a.tools)&&(a.tools=a.tools.filter(a=>{let b="string"==typeof a.type?a.type:"";if(b&&"function"!==b&&!a.function&&void 0===a.name)return!0;let c=a.function,d=c?.name??a.name;return d&&String(d).trim().length>0}),a.tools=a.tools.map(a=>(function(a){if(!e(a))return a;let b={...a};if(e(b.function)){let a={...b.function};a.parameters=f(a.parameters),b.function=a}else"function"===b.type&&(b.parameters=f(b.parameters));return b})(a))),a}},6854:(a,b,c)=>{c(55511),c(36268),c(85955),c(4368),c(87836),c(9927),c(36770),c(77598),c(47370),c(43659)},6906:(a,b,c)=>{c(99718),c(38048).m},7803:(a,b,c)=>{c.d(b,{I:()=>d});let d={cache:"x-omniroute-cache",progress:"x-omniroute-progress",compression:"x-omniroute-compression"}},8919:(a,b,c)=>{c.d(b,{Cb:()=>e,FD:()=>g,Ke:()=>f,gR:()=>d,yv:()=>h});let d=()=>void 0,e=()=>null,f=()=>!1,g=()=>!1,h=()=>void 0},9744:(a,b,c)=>{c.d(b,{p:()=>h});var d=c(47370);c(78769),c(95374);var e=c(57708),f=c(26998),g=c(73483);function h(a,b){var c,h,i;if(!a||"object"!=typeof a)return;let j=Date.now()-b.startTime;c=b.provider,h=b.connectionId,i=b.model,(0,g.IF)(c,a,i,h,null,j,"ok",!1),function(a,b){let{provider:c,connectionId:e,model:f,startTime:g,apiKeyInfo:h,effectiveServiceTier:i}=b;(0,d.sZ)({provider:c||"unknown",model:f||"unknown",tokens:a,status:"200",success:!0,latencyMs:Date.now()-g,timeToFirstTokenMs:Date.now()-g,errorCode:null,timestamp:new Date().toISOString(),connectionId:e||void 0,apiKeyId:h?.id||void 0,apiKeyName:h?.name||void 0,serviceTier:i,comboStrategy:b.isCombo&&b.comboStrategy||void 0,endpoint:b.endpoint||void 0}).catch(a=>{console.error("Failed to save usage stats:",a.message)})}(a,b),function(a,b,c,d){if(b?.id)try{let g=(0,f.zP)(a);g>0&&(0,e.W_)(b.id,c||"unknown",d||"unknown",g)}catch{}}(a,b.apiKeyInfo,b.provider,b.model)}},10361:(a,b,c)=>{c.d(b,{M:()=>g});var d=c(57647),e=c(14288),f=c(14170);function g(a){let{clientRawRequest:b,body:c,provider:g,userAgent:h}=a,i=String(b?.endpoint||""),j=(0,d.a4)(c,i),k=/\/responses(?=\/|$)/i.test(i)||/^responses(?=\/|$)/i.test(i),l=(0,e.J)({provider:g,sourceFormat:j,endpointPath:i}),m=h?.toLowerCase().includes("droid")||h?.toLowerCase().includes("codex-cli"),n=function(a,b){let c=a=>"string"==typeof a&&a.toLowerCase().includes("copilot");if(c(b))return!0;if(a instanceof Headers){for(let[b,d]of a)if(c(b)||c(d))return!0}else if(a&&"object"==typeof a){for(let[b,d]of Object.entries(a))if(c(b)||c(d))return!0}return!1}(b?.headers,h),o=j!==f.h.OPENAI_RESPONSES||k||m?j:f.h.OPENAI;return{endpointPath:i,sourceFormat:j,isResponsesEndpoint:k,nativeCodexPassthrough:l,isDroidCLI:m,copilotCompatibleReasoning:n,clientResponseFormat:o}}},10812:(a,b,c)=>{c.d(b,{X8:()=>e,Yo:()=>f,dj:()=>d});let d=async()=>void 0,e=async()=>void 0,f=async()=>null},11002:(a,b,c)=>{c.d(b,{V:()=>e});var d=c(11191);function e(a){let{headers:b,existingProviderData:c,modelForScope:e,status:f}=a,g=(0,d.H5)(b);if(!g)return null;let h=(0,d.t6)(e),i={usage5h:g.usage5h,limit5h:g.limit5h,resetAt5h:g.resetAt5h,usage7d:g.usage7d,limit7d:g.limit7d,resetAt7d:g.resetAt7d,scope:h,updatedAt:new Date().toISOString()},j={...c,codexQuotaState:i},k=null;if(429===f){let{cooldownMs:a,window:b}=(0,d.kn)(g);if(a>0){let d=new Date(Date.now()+a).toISOString();j.codexScopeRateLimitedUntil={...c&&"object"==typeof c&&c.codexScopeRateLimitedUntil&&"object"==typeof c.codexScopeRateLimitedUntil?c.codexScopeRateLimitedUntil:{},[h]:d},j.codexExhaustedWindow=b,k=`Quota exhaustion on ${b} window, cooldown until ${d}`}}return{nextProviderData:j,exhaustionLog:k}}},11822:(a,b,c)=>{c.d(b,{y:()=>d});let d=async()=>void 0},11993:(a,b,c)=>{c(42124),c(47370),c(71336),c(94400),c(43659)},13700:(a,b,c)=>{c.d(b,{E8:()=>f,lZ:()=>g,rv:()=>e});var d=c(43659);function e(a){return!!a&&"object"==typeof a&&("SEMAPHORE_TIMEOUT"===a.code||"SEMAPHORE_QUEUE_FULL"===a.code)}function f(a,b,c,e){let f=(0,d.buildErrorBody)(a,b);return c&&(f.error.code=c),e&&(f.error.type=e),{success:!1,status:a,error:b,response:new Response(`data: ${JSON.stringify(f)}
2
2
 
3
3
  data: [DONE]
4
4
 
5
5
  `,{status:a,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}})}}function g(a){if(!a||"object"!=typeof a)return;let b=a.code;return"string"==typeof b&&b.length>0?b:void 0}},14046:(a,b,c)=>{c.d(b,{getCachedSettings:()=>d});let d=async()=>({})},14288:(a,b,c)=>{c.d(b,{J:()=>g,Nm:()=>h,xu:()=>i});var d=c(14170),e=c(89625),f=c(30261);function g({provider:a,sourceFormat:b,endpointPath:c}){if("codex"!==a||b!==d.h.OPENAI_RESPONSES)return!1;let e=String(c||"");for(;e.endsWith("/");)e=e.slice(0,-1);return e.split("/").includes("responses")}function h(a,b){return a}function i({provider:a,sourceFormat:b,targetFormat:c,headers:g,userAgent:h}){if(!("claude"===a||(0,e.Xv)(a))||b!==d.h.CLAUDE||c!==d.h.CLAUDE)return!1;let j=(0,f.oF)(g,"user-agent"),k=`${h||""} ${j||""}`.toLowerCase();if(k.includes("claude-code")||k.includes("claude-cli"))return!0;let l=(0,f.oF)(g,"x-app");if("string"==typeof l&&"cli"===l.trim().toLowerCase())return!0;let m=(0,f.oF)(g,"x-claude-code-session-id");return"string"==typeof m&&m.trim().length>0}},15028:(a,b,c)=>{c.d(b,{detectCachingContext:()=>j,w:()=>k});var d=c(95528);function e(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function f(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function g(a){let b=f(a);if(!b)return null;let c=b.indexOf("/");return c<=0?null:b.slice(0,c).toLowerCase()}function h(a){return Array.isArray(a)&&a.some(a=>i(a))}function i(a){return!!e(a)&&void 0!==a.cache_control&&null!==a.cache_control||(Array.isArray(a)?a.some(a=>i(a)):!!e(a)&&(!!(h(a.system)||h(a.tools)||h(a.messages)||h(a.input)||h(a.contents)||e(a.request)&&h(a.request.contents))||!!(e(a.content)||Array.isArray(a.content))&&i(a.content)))}function j(a,b={}){let c=e(a)?a:{},h=f(b.provider)?.toLowerCase()??g(b.model)??g(c.model),k=f(b.targetFormat)?.toLowerCase()??null;return{hasCacheControl:i(a),provider:h,targetFormat:k,isCachingProvider:(0,d.R6)(h,k)}}function k(a,b){return b.isCachingProvider?{strategy:["aggressive","ultra"].includes(a)?"standard":a,skipSystemPrompt:!0,deterministicOnly:!0}:{strategy:a,skipSystemPrompt:!1,deterministicOnly:!1}}},15067:(a,b,c)=>{c.d(b,{b:()=>j});let d=async()=>void 0;var e=c(11822),f=c(47370),g=c(49690),h=c(2275);function i(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function j(a,b){let{status:c,tokens:j,responseBody:k,error:l,providerRequest:m,providerResponse:n,clientResponse:o,claudeCacheMeta:p,claudeCacheUsageMeta:q,cacheSource:r}=a,{provider:s,connectionId:t,model:u,skillRequestId:v,detailedLoggingEnabled:w,reqLogger:x,pendingRequestId:y,clientRawRequest:z,requestedModel:A,credentials:B,startTime:C,body:D,sourceFormat:E,targetFormat:F,comboName:G,comboStepId:H,comboExecutionKey:I,tokensCompressed:J,apiKeyInfo:K,noLogEnabled:L,correlationId:M}=b,N=i(t),O=i(B?.connectionId)||N,P="codex"===s&&N&&O&&N!==O?{codexAccountRotation:{initialConnectionId:N,finalConnectionId:O}}:null,Q=d(n,o,k);Q.length>0&&(0,e.y)({action:"provider.warning",actor:"system",target:[s,O].filter(Boolean).join(":")||s||u,resourceType:"provider_warning",status:"warning",requestId:v,details:{provider:s,model:u,connectionId:O,httpStatus:c,warnings:Q}});let R=w?x?.getPipelinePayloads?.()??{}:null;R&&(void 0===m||R.providerRequest||(R.providerRequest=m),void 0===n||R.providerResponse||(R.providerResponse=n),void 0!==o&&(R.clientResponse=o),l&&(R.error={..."object"==typeof R.error&&R.error?R.error:{},message:l})),(0,f.gK)({id:y,method:"POST",path:z?.endpoint||"/v1/chat/completions",status:c,model:u,requestedModel:A,provider:s,connectionId:O||void 0,duration:Date.now()-C,tokens:j||{},requestBody:(0,g.Xp)((0,h.$s)((0,g.eM)(D),{...P,claudePromptCache:p})),responseBody:(0,g.Xp)((0,h.$s)((0,g.eM)(k),{...P,claudePromptCache:p?{applied:p.applied,totalBreakpoints:p.totalBreakpoints,anthropicBeta:p.anthropicBeta}:null,claudePromptCacheUsage:q})),error:l||null,sourceFormat:E,targetFormat:F,comboName:G,comboStepId:H,comboExecutionKey:I,tokensCompressed:J,cacheSource:"semantic"===r?"semantic":"upstream",apiKeyId:K?.id||null,apiKeyName:K?.name||null,noLog:L,pipelinePayloads:R,correlationId:M}).catch(()=>{})}},17577:(a,b,c)=>{c.d(b,{r9:()=>f});let d=/(^|[\s"'`])\/goal(?=$|[\s"'`:;,.!?])/i;function e(a,b){if(null==a||""===a.trim())return b;let c=a.trim().toLowerCase();return!!["true","1","yes","on"].includes(c)||!["false","0","no","off"].includes(c)&&b}function f(a,b=null,c=process.env){let g,h,i;if(!e(c.OMNIROUTE_AGENT_GOAL_POLICY_ENABLED,!0))return{detected:!1,readinessMaxTimeoutMs:6e5,streamRecoveryEnabled:!1};let j=e(function(a,b){if(!a)return null;if("function"==typeof a.get)return a.get(b);let c=b.toLowerCase();for(let[b,d]of Object.entries(a))if(b.toLowerCase()===c){if(Array.isArray(d))return d.join(",");return"string"==typeof d?d:null}return null}(b,"x-omniroute-agent-goal"),!1)||(g=new Set,h=0,(i=(a,b)=>{if(h++>5e3||b>10)return!1;if("string"==typeof a){let b;return b=a.length>256e3?a.slice(0,256e3):a,d.test(b)}if(!a||"object"!=typeof a||g.has(a))return!1;if(g.add(a),Array.isArray(a)){for(let c of a)if(i(c,b+1))return!0;return!1}for(let[c,d]of Object.entries(a))if("metadata"!==c&&"usage"!==c&&i(d,b+1))return!0;return!1})(a,0)),k=function(a,b){let c=a[b];if(null==c||""===c.trim())return 6e5;let d=Number(c);return Number.isFinite(d)&&d>0?Math.floor(d):6e5}(c,"OMNIROUTE_AGENT_GOAL_READINESS_MAX_TIMEOUT_MS"),l=j&&e(c.OMNIROUTE_AGENT_GOAL_STREAM_RECOVERY,!0);return{detected:j,readinessMaxTimeoutMs:k,streamRecoveryEnabled:l}}},17812:(a,b,c)=>{function d(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function e(a){let b=d(a);if(!b)return a;let c=d(b.thinking),e=void 0!==b.reasoning_effort,f=void 0!==b.reasoning;if(!c&&!e&&!f)return a;let g={...b};return c&&(g.thinking={type:"disabled"===c.type?"disabled":"enabled"}),delete g.reasoning_effort,delete g.reasoning,g}c.d(b,{y:()=>e})},19418:(a,b,c)=>{c(43659)},20614:(a,b,c)=>{c.d(b,{u:()=>f});var d=c(24286);function e(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function f(a,b){if(!(0,d.dE)(b))return a;let c=e(a);if(!c)return a;let f=e(c.thinking);if(!f)return a;let g="enabled"===f.type,h=void 0!==f.budget_tokens||void 0!==f.max_tokens;if(!g&&!h)return a;let i={...f};return"enabled"===i.type&&(i.type="adaptive"),delete i.budget_tokens,delete i.max_tokens,{...c,thinking:i}}},20669:(a,b,c)=>{c.d(b,{GU:()=>g,R:()=>k,Xu:()=>h,ui:()=>i});var d=c(14170),e=c(1959),f=c(30261);function g(a,b,c){let f=[],g=new Set,h=a=>{!a||g.has(a)||(g.add(a),f.push(a))};for(let g of(h(b),h(d.h.OPENAI_RESPONSES),h(d.h.CLAUDE),h(d.h.OPENAI),f)){let b=g===d.h.OPENAI_RESPONSES?(0,e.Bw)(a,c):g===d.h.CLAUDE?(0,e.H3)(a,c):(0,e.Fe)(a,c);if(b&&"object"==typeof b)return{body:b,format:g}}return null}function h(a,b){if(b.includes("application/x-ndjson")){let b;return 0===(b=String(a||"").split(/\r?\n/).map(a=>a.trim()).filter(a=>a.length>0)).length?a:`${b.map(a=>`data: ${a}
6
6
  `).join("\n")}
7
- `}return a}function i(a,b,c){return a||((0,f.oF)(b,"accept")||"").toLowerCase().includes("text/event-stream")||!!c&&"object"==typeof c&&!0===c.stream}let j=new Set(["message_stop","response.completed","response.done","response.cancelled","response.canceled","response.failed","response.incomplete"]);function k(a,b){let c=`${a.pendingLine}${b}`.split(/\r?\n/);for(let b of(a.pendingLine=c.pop()??"",c))if(function(a,b){var c,d;let e=b.trim();if(!e||e.startsWith(":")){let b=!e&&(c=a.currentEvent,j.has(c));return e||(a.currentEvent=""),b}if(e.startsWith("event:"))return a.currentEvent=e.slice(6).trim(),!1;if(!e.startsWith("data:"))return!1;let f=e.slice(5).trim();if("[DONE]"===f)return!0;if(!f)return!1;if(!f.includes('"type"')&&!("message_delta"===a.currentEvent&&f.includes("stop_reason")))return d=a.currentEvent,j.has(d);try{let b=JSON.parse(f),c=b&&"object"==typeof b&&"string"==typeof b.type?b.type:a.currentEvent;return j.has(c)||function(a,b){if("message_delta"!==b||!a||"object"!=typeof a)return!1;let c=a.delta;if(!c||"object"!=typeof c)return!1;let d=c.stop_reason;return"string"==typeof d?d.length>0:null!=d}(b,c)}catch{return!1}}(a,b))return!0;return!1}},21078:(a,b,c)=>{c.d(b,{e:()=>f});let d=/haiku/i;function e(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function f(a,b){if(!("string"==typeof b&&0!==b.length&&d.test(b)))return a;let c=e(a);if(!c)return a;let f=e(c.thinking),g=e(c.output_config),h=f?.type==="adaptive",i=null!=g&&null!=g.effort;if(!h&&!i)return a;let j={...c};if(h&&f&&(j.thinking={...f,type:"enabled",budget_tokens:1e4}),i&&g){let a={...g};delete a.effort,0===Object.keys(a).length?delete j.output_config:j.output_config=a}return j}},22070:(a,b,c)=>{function d(a){let b=0,c=[a],d=new WeakSet;for(;c.length>0;){let a=c.pop();if(null!=a){if("string"==typeof a){if((b+=a.length)>262144)break}else if("number"==typeof a)b+=8;else if("boolean"==typeof a)b+=4;else if("object"==typeof a){if(d.has(a))continue;if(d.add(a),Array.isArray(a))for(let b=0;b<a.length;b++)c.push(a[b]);else for(let b in a)Object.prototype.hasOwnProperty.call(a,b)&&c.push(a[b])}}}return b}function e(a){return 262144>=d(a)}c.d(b,{H:()=>e,e:()=>d})},22720:(a,b,c)=>{c.d(b,{c:()=>e});let d={status:403,headers:{"Content-Type":"application/json"}};async function e(a){try{let{runOnRequest:b}=await c.e(5842).then(c.bind(c,65842)),e={requestId:a.requestId,body:a.body,model:a.model,provider:a.provider,apiKeyInfo:a.apiKeyInfo,metadata:{}},f=await b(e);if(f?.blocked){a.log?.info?.("PLUGIN","Request blocked by plugin");let b=f.response?new Response(JSON.stringify(f.response),d):new Response(JSON.stringify({error:{message:"Request blocked by plugin",type:"plugin_block"}}),d);return{blocked:!0,response:b}}return f?.metadata&&Object.assign(e.metadata,f.metadata),{blocked:!1,body:f?.body}}catch(b){return a.log?.debug?.("PLUGIN",`onRequest hook error (non-fatal): ${b instanceof Error?b.message:String(b)}`),{blocked:!1}}}},24116:(a,b,c)=>{c(4188),c(45647),c(43659),c(69734),c(27277)},24791:(a,b,c)=>{c.d(b,{kV:()=>g});let d={"gemini-pro":"gemini-2.5-pro","gemini-pro-vision":"gemini-2.5-pro","gemini-1.5-pro":"gemini-2.5-pro","gemini-1.5-flash":"gemini-2.5-flash","gemini-1.0-pro":"gemini-2.5-pro","gemini-2.0-flash":"gemini-2.5-flash","gemini-2.0-flash-lite":"gemini-3.1-flash-lite","gemini-3.1-flash-lite-preview":"gemini-3.1-flash-lite","gemini-3-pro-high":"gemini-3.1-pro-high","gemini-3-pro-low":"gemini-3.1-pro-low","gemma-4":"gemini-3.1-flash-lite","claude-3-opus-20240229":"claude-opus-4-20250514","claude-3-sonnet-20240229":"claude-sonnet-4-20250514","claude-3-haiku-20240307":"claude-3-5-sonnet-20241022","claude-3-5-sonnet-latest":"claude-sonnet-4-20250514","claude-3-5-haiku-latest":"claude-3-5-sonnet-20241022","gpt-4-turbo-preview":"gpt-4-turbo","gpt-4-0125-preview":"gpt-4-turbo","gpt-4-1106-preview":"gpt-4-turbo","gpt-3.5-turbo-0125":"gpt-3.5-turbo","accounts/fireworks/models/kimi-k2p5":"moonshotai/Kimi-K2.5","fireworks/accounts/fireworks/models/kimi-k2p5":"moonshotai/Kimi-K2.5","kimi-k2p5":"moonshotai/Kimi-K2.5","accounts/fireworks/models/kimi-k2":"moonshotai/Kimi-K2","fireworks/accounts/fireworks/models/kimi-k2":"moonshotai/Kimi-K2","kimi-k2":"moonshotai/Kimi-K2","mistral-large":"mistral-large-latest","mistral-small":"mistral-small-latest",codestral:"codestral-latest","codestral-2405":"codestral-2508","llama-3.3":"llama-3.3-70b-versatile","llama-3-70b":"llama-3.3-70b-versatile","llama-3-8b":"llama3-8b-8192"},e="__omniroute_customAliases__",f=globalThis;function g(a){if(!a)return a;let b=(f[e]||(f[e]={}),f[e]);return b[a]?b[a]:d[a]?d[a]:a}},25438:(a,b,c)=>{c.d(b,{m:()=>j});let d=new Set(["message","function_call_output"]),e=Symbol("compressionInputIndex"),f=Symbol("kiroToolResultPath");function g(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function h(a,b){return void 0===a?b:a}function i(a,b){if(Array.isArray(b)&&"string"==typeof a){let c=!1,d=b.map(b=>g(b)&&"string"==typeof b.text?c?{...b,text:""}:(c=!0,{...b,text:a}):b);return c?d:b}return a}function j(a){if(Array.isArray(a.messages))return{body:a,adapted:!1,restore:a=>a};if(g(a.conversationState)){var b;let c,d,e,h,i;return d=Array.isArray((c=(b=a).conversationState).history)?c.history:[],e=g(c.currentMessage)?c.currentMessage:null,h=[],i=(a,b,c)=>{let d=a.userInputMessage;if(!g(d))return;let e=d.userInputMessageContext;if(!g(e))return;let i=e.toolResults;Array.isArray(i)&&i.forEach((a,d)=>{if(!g(a)||"error"===a.status)return;let e=a.content;Array.isArray(e)&&e.forEach((a,e)=>{g(a)&&"string"==typeof a.text&&0!==a.text.length&&h.push({role:"tool",content:a.text,[f]:{scope:b,historyIndex:c,toolResultIndex:d,contentIndex:e}})})})},(d.forEach((a,b)=>{g(a)&&i(a,"history",b)}),e&&i(e,"currentMessage",-1),0===h.length)?{body:b,adapted:!1,restore:a=>a}:{body:{...b,messages:h},adapted:!0,restore(a){let b=new Map;if(Array.isArray(a.messages))for(let c of a.messages){let a=c[f];if(!a)continue;let d=null;if("string"==typeof c.content)d=c.content;else if(Array.isArray(c.content)){let a=c.content.find(a=>g(a)&&"string"==typeof a.text);a&&(d=a.text)}null!==d&&b.set(k(a),d)}let h={...c};d.length>0&&(h.history=d.map((a,c)=>g(a)?l(a,"history",c,b):a)),e&&(h.currentMessage=l(e,"currentMessage",-1,b));let i={...a};return delete i.messages,{...i,conversationState:h}}}}if(!Array.isArray(a.input)&&"string"!=typeof a.input)return{body:a,adapted:!1,restore:a=>a};let c=Array.isArray(a.input)?a.input:[{type:"message",role:"user",content:a.input}],j=[],m=[];if(c.forEach((a,b)=>{if(!g(a))return;let c=function(a){var b;let c="string"==typeof a.type?a.type:"message";if(!d.has(c))return null;if("function_call_output"===c){let b=a.output??a.content;return{role:"tool",content:null==b||"object"!=typeof b||Array.isArray(b)?h(b):JSON.stringify(b)}}return{role:"string"==typeof(b=a.role)&&b.length>0?b:"user",content:h(a.content,a.output)}}(a);c&&("string"==typeof c.content?c.content.length>0:!!Array.isArray(c.content)&&c.content.some(a=>g(a)&&"string"==typeof a.text&&a.text.length>0))&&(j.push({index:b,item:a}),m.push({...c,[e]:b}))}),0===m.length)return{body:a,adapted:!1,restore:a=>a};let n={...a};return delete n.input,{body:{...n,messages:m},adapted:!0,restore(b){let d=new Map;if(Array.isArray(b.messages))for(let a of b.messages)"number"==typeof a[e]&&d.set(a[e],a);let f=[...c];j.forEach(a=>{let b=d.get(a.index);if(b){var c;f[a.index]="function_call_output"===("string"==typeof(c=a.item).type?c.type:"message")?{...c,output:i(b.content,c.output)}:{...c,content:i(b.content,c.content)}}});let h={...b};if(delete h.messages,"string"==typeof a.input){let b=f[0];return{...h,input:g(b)?b.content??a.input:a.input}}return{...h,input:f}}}}function k(a){return`${a.scope}|${a.historyIndex}|${a.toolResultIndex}|${a.contentIndex}`}function l(a,b,c,d){let e=a.userInputMessage;if(!g(e))return a;let f=e.userInputMessageContext;if(!g(f))return a;let h=f.toolResults;if(!Array.isArray(h))return a;let i=!1,j=h.map((a,e)=>{if(!g(a))return a;let f=a.content;if(!Array.isArray(f))return a;let h=!1,j=f.map((a,f)=>{if(!g(a)||"string"!=typeof a.text)return a;let i=k({scope:b,historyIndex:c,toolResultIndex:e,contentIndex:f}),j=d.get(i);return void 0===j||j===a.text?a:(h=!0,{...a,text:j})});return h?(i=!0,{...a,content:j}):a});return i?{...a,userInputMessage:{...e,userInputMessageContext:{...f,toolResults:j}}}:a}},26998:(a,b,c)=>{c.d(b,{C7:()=>k,Iy:()=>f,JS:()=>g,u6:()=>j,zP:()=>i});var d=c(61408),e=c(78769);function f(a){let b=Error(`Response body read timeout after ${a}ms`);return b.name="BodyTimeoutError",b}function g(a,b){return b<=0?a.read():new Promise((c,d)=>{let e=setTimeout(()=>d(f(b)),b);a.read().then(a=>{clearTimeout(e),c(a)},a=>{clearTimeout(e),d(a)})})}function h(a){let b=a.reason;if(b instanceof Error)return b;let c=Error("string"==typeof b?b:"The operation was aborted");return c.name="AbortError",c}function i(a){return(0,e.jf)(a)+(0,e.eh)(a)+(0,e.Zr)(a)}function j(a){return a instanceof Response?{response:a,url:"",headers:{},transformedBody:null}:{response:a.response,url:a.url||"",headers:a.headers||{},transformedBody:a.transformedBody??null}}async function k({executor:a,provider:b,model:c,signal:e,log:f,execute:g}){let i,j=function(a){let b=a?.getTimeoutMs;if("function"!=typeof b)return d.MT;try{let c=b.call(a);if("number"!=typeof c||!Number.isFinite(c))return d.MT;return Math.max(0,Math.floor(c))}catch{return d.MT}}(a);if(j<=0)return g(e);if(e.aborted)throw h(e);let l=new AbortController,m=new AbortController,n=((i=Error(`Upstream request did not return response headers after ${j}ms (${b}/${c})`)).name="TimeoutError",i),o=null,p=null,q=null,r=a=>{if(m.signal.aborted)return;let b=a.reason instanceof Error?a.reason:h(a);m.abort(b)};p=()=>r(e),q=()=>r(l.signal),e.addEventListener("abort",p,{once:!0}),l.signal.addEventListener("abort",q,{once:!0});let s=new Promise((a,b)=>{o=setTimeout(()=>{f?.warn?.("TIMEOUT",n.message),l.abort(n),b(n)},j)}),t=new Promise((a,b)=>{e.addEventListener("abort",()=>b(h(e)),{once:!0})});try{return await Promise.race([g(m.signal),s,t])}finally{o&&clearTimeout(o),p&&e.removeEventListener("abort",p),q&&l.signal.removeEventListener("abort",q)}}},27277:(a,b,c)=>{c.d(b,{K:()=>d});let d=()=>void 0},27349:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(57647),e=c(71961),f=c(14170),g=c(61408),h=c(95374);function i(a,b,c=""){if(!("string"==typeof c?c:"").includes("claude-cli")||!a.messages?.length)return null;let l=a.messages,m=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",n=!1,o=l[l.length-1];if(o?.role==="assistant"&&o.content?.[0]?.text==="{"&&(n=!0),n||"Warmup"===m(l[0]?.content)&&(n=!0),n||1!==l.length||l[0]?.role!=="user"||"count"===m(l[0]?.content)&&(n=!0),!n&&g.C8?.length){let a=l.filter(a=>"user"===a.role).map(a=>m(a.content)).join(" ");g.C8.some(b=>a.includes(b))&&(n=!0)}if(!n&&1===a.max_tokens&&l.filter(a=>"user"===a.role).map(a=>m(a.content)).join(" ").toLowerCase().includes("quota")&&(n=!0),!n)return null;let p=(0,d.Tz)(a);return!1!==a.stream?function(a,b){let c=j(b),d=(0,e.Ws)(a);d.model=b;let g=k(c),i=[];for(let b of g){let c=(0,e.Y8)(f.h.OPENAI,a,b,d);if(c?.length>0)for(let b of c)i.push((0,h.v8)(b,a))}let l=(0,e.Y8)(f.h.OPENAI,a,null,d);if(l?.length>0)for(let b of l)i.push((0,h.v8)(b,a));return i.push("data: [DONE]\n\n"),{success:!0,response:new Response(i.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}}(p,b):function(a,b){let c=j(b);if(a===f.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(c),{headers:{"Content-Type":"application/json"}})};let d=(0,e.Ws)(a);d.model=b;let g=k(c),h=[];for(let b of g){let c=(0,e.Y8)(f.h.OPENAI,a,b,d);c?.length>0&&h.push(...c)}let i=(0,e.Y8)(f.h.OPENAI,a,null,d);return i?.length>0&&h.push(...i),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return j("unknown");let c=a[a.length-1];if(b===f.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);d?.message&&(c=d.message,b?.usage&&(c.usage=b.usage))}return c}(h,a)),{headers:{"Content-Type":"application/json"}})}}(p,b)}function j(a){let b=`chatcmpl-${Date.now()}`;return{id:b,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:"CLI Command Execution: Clear Terminal"},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function k(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},29908:(a,b,c)=>{c.d(b,{QH:()=>j});var d=c(96303);let e=[];var f=c(14170);let g=new Set("");function h(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function i(a){return"string"==typeof a&&g.has(a)?a:e}function j(a,b){let c=i(b.mode);if(!a||"object"!=typeof a||Array.isArray(a)||!Object.hasOwn(a,"previous_response_id")||!function({mode:a,sourceFormat:b,targetFormat:c,credentials:e}){let g=i(a);if("preserve"===g)return!1;if("strip"===g)return!0;let j=b===f.h.OPENAI_RESPONSES,k=c===f.h.OPENAI_RESPONSES;if(!j&&!k)return!1;let l=h(h(e).providerSpecificData);return!(0,d.pn)(l)}({...b,mode:c}))return{body:a,stripped:!1,mode:c};let e={...a};return delete e.previous_response_id,{body:e,stripped:!0,mode:c}}},30261:(a,b,c)=>{function d(a,b){if(!a||"object"!=typeof a)return null;if(a instanceof Headers)return a.get(b);let c=b.toLowerCase();for(let[b,d]of Object.entries(a))if(b.toLowerCase()===c&&"string"==typeof d&&d.trim())return d.trim();return null}function e(a){let b=(d(a,"x-omniroute-no-memory")||"").trim().toLowerCase();return"true"===b||"1"===b||"yes"===b}function f(a){return(d(a,"x-omniroute-compression")||"").trim()||null}function g(a){let b=(d(a,"x-omniroute-strip-reasoning")||"").trim().toLowerCase();return"true"===b||"1"===b||"yes"===b}c.d(b,{VS:()=>g,oF:()=>d,qb:()=>f,rS:()=>e})},30660:(a,b,c)=>{c.d(b,{x:()=>f});var d=c(34748),e=c(33748);function f(a,b,c){let f=b?.preserveToolResultBlocks===!0;if(!Array.isArray(a.messages))return;let g=a.messages;for(let b of((0,d.X)(a),g=a.messages))Array.isArray(b.content)&&(b.content=b.content.filter(a=>"text"!==a.type||"string"==typeof a.text&&a.text.length>0));for(let a of g)"user"===a.role&&Array.isArray(a.content)&&(a.content=a.content.flatMap(a=>{if("text"===a.type||"image_url"===a.type||"image"===a.type||"file_url"===a.type||"file"===a.type||"document"===a.type){let b=a.file_url??a.file??a.document;if(("file"===a.type||"document"===a.type)&&!b?.url&&!b?.data){let b=a.file?.content??a.file?.text??a.content??a.text,c=a.file?.name??a.name??"attachment";if("string"==typeof b&&b.length>0)return[{type:"text",text:`[${c}]
7
+ `}return a}function i(a,b,c){return a||((0,f.oF)(b,"accept")||"").toLowerCase().includes("text/event-stream")||!!c&&"object"==typeof c&&!0===c.stream}let j=new Set(["message_stop","response.completed","response.done","response.cancelled","response.canceled","response.failed","response.incomplete"]);function k(a,b){let c=`${a.pendingLine}${b}`.split(/\r?\n/);for(let b of(a.pendingLine=c.pop()??"",c))if(function(a,b){var c,d;let e=b.trim();if(!e||e.startsWith(":")){let b=!e&&(c=a.currentEvent,j.has(c));return e||(a.currentEvent=""),b}if(e.startsWith("event:"))return a.currentEvent=e.slice(6).trim(),!1;if(!e.startsWith("data:"))return!1;let f=e.slice(5).trim();if("[DONE]"===f)return!0;if(!f)return!1;if(!f.includes('"type"')&&!("message_delta"===a.currentEvent&&f.includes("stop_reason")))return d=a.currentEvent,j.has(d);try{let b=JSON.parse(f),c=b&&"object"==typeof b&&"string"==typeof b.type?b.type:a.currentEvent;return j.has(c)||function(a,b){if("message_delta"!==b||!a||"object"!=typeof a)return!1;let c=a.delta;if(!c||"object"!=typeof c)return!1;let d=c.stop_reason;return"string"==typeof d?d.length>0:null!=d}(b,c)}catch{return!1}}(a,b))return!0;return!1}},21078:(a,b,c)=>{c.d(b,{e:()=>f});let d=/haiku/i;function e(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function f(a,b){if(!("string"==typeof b&&0!==b.length&&d.test(b)))return a;let c=e(a);if(!c)return a;let f=e(c.thinking),g=e(c.output_config),h=f?.type==="adaptive",i=null!=g&&null!=g.effort;if(!h&&!i)return a;let j={...c};if(h&&f&&(j.thinking={...f,type:"enabled",budget_tokens:1e4}),i&&g){let a={...g};delete a.effort,0===Object.keys(a).length?delete j.output_config:j.output_config=a}return j}},22070:(a,b,c)=>{function d(a){let b=0,c=[a],d=new WeakSet;for(;c.length>0;){let a=c.pop();if(null!=a){if("string"==typeof a){if((b+=a.length)>262144)break}else if("number"==typeof a)b+=8;else if("boolean"==typeof a)b+=4;else if("object"==typeof a){if(d.has(a))continue;if(d.add(a),Array.isArray(a))for(let b=0;b<a.length;b++)c.push(a[b]);else for(let b in a)Object.prototype.hasOwnProperty.call(a,b)&&c.push(a[b])}}}return b}function e(a){return 262144>=d(a)}c.d(b,{H:()=>e,e:()=>d})},22720:(a,b,c)=>{c.d(b,{c:()=>e});let d={status:403,headers:{"Content-Type":"application/json"}};async function e(a){try{let{runOnRequest:b}=await c.e(5842).then(c.bind(c,65842)),e={requestId:a.requestId,body:a.body,model:a.model,provider:a.provider,apiKeyInfo:a.apiKeyInfo,metadata:{}},f=await b(e);if(f?.blocked){a.log?.info?.("PLUGIN","Request blocked by plugin");let b=f.response?new Response(JSON.stringify(f.response),d):new Response(JSON.stringify({error:{message:"Request blocked by plugin",type:"plugin_block"}}),d);return{blocked:!0,response:b}}return f?.metadata&&Object.assign(e.metadata,f.metadata),{blocked:!1,body:f?.body}}catch(b){return a.log?.debug?.("PLUGIN",`onRequest hook error (non-fatal): ${b instanceof Error?b.message:String(b)}`),{blocked:!1}}}},24116:(a,b,c)=>{c(4188),c(45647),c(43659),c(69734),c(27277)},24791:(a,b,c)=>{c.d(b,{kV:()=>g});let d={"gemini-pro":"gemini-2.5-pro","gemini-pro-vision":"gemini-2.5-pro","gemini-1.5-pro":"gemini-2.5-pro","gemini-1.5-flash":"gemini-2.5-flash","gemini-1.0-pro":"gemini-2.5-pro","gemini-2.0-flash":"gemini-2.5-flash","gemini-2.0-flash-lite":"gemini-3.1-flash-lite","gemini-3.1-flash-lite-preview":"gemini-3.1-flash-lite","gemini-3-pro-high":"gemini-3.1-pro-high","gemini-3-pro-low":"gemini-3.1-pro-low","gemma-4":"gemini-3.1-flash-lite","claude-3-opus-20240229":"claude-opus-4-20250514","claude-3-sonnet-20240229":"claude-sonnet-4-20250514","claude-3-haiku-20240307":"claude-3-5-sonnet-20241022","claude-3-5-sonnet-latest":"claude-sonnet-4-20250514","claude-3-5-haiku-latest":"claude-3-5-sonnet-20241022","gpt-4-turbo-preview":"gpt-4-turbo","gpt-4-0125-preview":"gpt-4-turbo","gpt-4-1106-preview":"gpt-4-turbo","gpt-3.5-turbo-0125":"gpt-3.5-turbo","accounts/fireworks/models/kimi-k2p5":"moonshotai/Kimi-K2.5","fireworks/accounts/fireworks/models/kimi-k2p5":"moonshotai/Kimi-K2.5","kimi-k2p5":"moonshotai/Kimi-K2.5","accounts/fireworks/models/kimi-k2":"moonshotai/Kimi-K2","fireworks/accounts/fireworks/models/kimi-k2":"moonshotai/Kimi-K2","kimi-k2":"moonshotai/Kimi-K2","mistral-large":"mistral-large-latest","mistral-small":"mistral-small-latest",codestral:"codestral-latest","codestral-2405":"codestral-2508","llama-3.3":"llama-3.3-70b-versatile","llama-3-70b":"llama-3.3-70b-versatile","llama-3-8b":"llama3-8b-8192"},e="__omniroute_customAliases__",f=globalThis;function g(a){if(!a)return a;let b=(f[e]||(f[e]={}),f[e]);return b[a]?b[a]:d[a]?d[a]:a}},25438:(a,b,c)=>{c.d(b,{m:()=>j});let d=new Set(["message","function_call_output"]),e=Symbol("compressionInputIndex"),f=Symbol("kiroToolResultPath");function g(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function h(a,b){return void 0===a?b:a}function i(a,b){if(Array.isArray(b)&&"string"==typeof a){let c=!1,d=b.map(b=>g(b)&&"string"==typeof b.text?c?{...b,text:""}:(c=!0,{...b,text:a}):b);return c?d:b}return a}function j(a){if(Array.isArray(a.messages))return{body:a,adapted:!1,restore:a=>a};if(g(a.conversationState)){var b;let c,d,e,h,i;return d=Array.isArray((c=(b=a).conversationState).history)?c.history:[],e=g(c.currentMessage)?c.currentMessage:null,h=[],i=(a,b,c)=>{let d=a.userInputMessage;if(!g(d))return;let e=d.userInputMessageContext;if(!g(e))return;let i=e.toolResults;Array.isArray(i)&&i.forEach((a,d)=>{if(!g(a)||"error"===a.status)return;let e=a.content;Array.isArray(e)&&e.forEach((a,e)=>{g(a)&&"string"==typeof a.text&&0!==a.text.length&&h.push({role:"tool",content:a.text,[f]:{scope:b,historyIndex:c,toolResultIndex:d,contentIndex:e}})})})},(d.forEach((a,b)=>{g(a)&&i(a,"history",b)}),e&&i(e,"currentMessage",-1),0===h.length)?{body:b,adapted:!1,restore:a=>a}:{body:{...b,messages:h},adapted:!0,restore(a){let b=new Map;if(Array.isArray(a.messages))for(let c of a.messages){let a=c[f];if(!a)continue;let d=null;if("string"==typeof c.content)d=c.content;else if(Array.isArray(c.content)){let a=c.content.find(a=>g(a)&&"string"==typeof a.text);a&&(d=a.text)}null!==d&&b.set(k(a),d)}let h={...c};d.length>0&&(h.history=d.map((a,c)=>g(a)?l(a,"history",c,b):a)),e&&(h.currentMessage=l(e,"currentMessage",-1,b));let i={...a};return delete i.messages,{...i,conversationState:h}}}}if(!Array.isArray(a.input)&&"string"!=typeof a.input)return{body:a,adapted:!1,restore:a=>a};let c=Array.isArray(a.input)?a.input:[{type:"message",role:"user",content:a.input}],j=[],m=[];if(c.forEach((a,b)=>{if(!g(a))return;let c=function(a){var b;let c="string"==typeof a.type?a.type:"message";if(!d.has(c))return null;if("function_call_output"===c){let b=a.output??a.content;return{role:"tool",content:null==b||"object"!=typeof b||Array.isArray(b)?h(b):JSON.stringify(b)}}return{role:"string"==typeof(b=a.role)&&b.length>0?b:"user",content:h(a.content,a.output)}}(a);c&&("string"==typeof c.content?c.content.length>0:!!Array.isArray(c.content)&&c.content.some(a=>g(a)&&"string"==typeof a.text&&a.text.length>0))&&(j.push({index:b,item:a}),m.push({...c,[e]:b}))}),0===m.length)return{body:a,adapted:!1,restore:a=>a};let n={...a};return delete n.input,{body:{...n,messages:m},adapted:!0,restore(b){let d=new Map;if(Array.isArray(b.messages))for(let a of b.messages)"number"==typeof a[e]&&d.set(a[e],a);let f=[...c];j.forEach(a=>{let b=d.get(a.index);if(b){var c;f[a.index]="function_call_output"===("string"==typeof(c=a.item).type?c.type:"message")?{...c,output:i(b.content,c.output)}:{...c,content:i(b.content,c.content)}}});let h={...b};if(delete h.messages,"string"==typeof a.input){let b=f[0];return{...h,input:g(b)?b.content??a.input:a.input}}return{...h,input:f}}}}function k(a){return`${a.scope}|${a.historyIndex}|${a.toolResultIndex}|${a.contentIndex}`}function l(a,b,c,d){let e=a.userInputMessage;if(!g(e))return a;let f=e.userInputMessageContext;if(!g(f))return a;let h=f.toolResults;if(!Array.isArray(h))return a;let i=!1,j=h.map((a,e)=>{if(!g(a))return a;let f=a.content;if(!Array.isArray(f))return a;let h=!1,j=f.map((a,f)=>{if(!g(a)||"string"!=typeof a.text)return a;let i=k({scope:b,historyIndex:c,toolResultIndex:e,contentIndex:f}),j=d.get(i);return void 0===j||j===a.text?a:(h=!0,{...a,text:j})});return h?(i=!0,{...a,content:j}):a});return i?{...a,userInputMessage:{...e,userInputMessageContext:{...f,toolResults:j}}}:a}},26998:(a,b,c)=>{c.d(b,{C7:()=>i,Iy:()=>e,JS:()=>f,u6:()=>h,zP:()=>g}),c(61408);var d=c(78769);function e(a){let b=Error(`Response body read timeout after ${a}ms`);return b.name="BodyTimeoutError",b}function f(a,b){return b<=0?a.read():new Promise((c,d)=>{let f=setTimeout(()=>d(e(b)),b);a.read().then(a=>{clearTimeout(f),c(a)},a=>{clearTimeout(f),d(a)})})}function g(a){return(0,d.jf)(a)+(0,d.eh)(a)+(0,d.Zr)(a)}function h(a){return a instanceof Response?{response:a,url:"",headers:{},transformedBody:null}:{response:a.response,url:a.url||"",headers:a.headers||{},transformedBody:a.transformedBody??null}}async function i({executor:a,provider:b,model:c,signal:d,log:e,execute:f}){return f(d)}},27277:(a,b,c)=>{c.d(b,{K:()=>d});let d=()=>void 0},27349:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(57647),e=c(71961),f=c(14170),g=c(61408),h=c(95374);function i(a,b,c=""){if(!("string"==typeof c?c:"").includes("claude-cli")||!a.messages?.length)return null;let l=a.messages,m=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",n=!1,o=l[l.length-1];if(o?.role==="assistant"&&o.content?.[0]?.text==="{"&&(n=!0),n||"Warmup"===m(l[0]?.content)&&(n=!0),n||1!==l.length||l[0]?.role!=="user"||"count"===m(l[0]?.content)&&(n=!0),!n&&g.C8?.length){let a=l.filter(a=>"user"===a.role).map(a=>m(a.content)).join(" ");g.C8.some(b=>a.includes(b))&&(n=!0)}if(!n&&1===a.max_tokens&&l.filter(a=>"user"===a.role).map(a=>m(a.content)).join(" ").toLowerCase().includes("quota")&&(n=!0),!n)return null;let p=(0,d.Tz)(a);return!1!==a.stream?function(a,b){let c=j(b),d=(0,e.Ws)(a);d.model=b;let g=k(c),i=[];for(let b of g){let c=(0,e.Y8)(f.h.OPENAI,a,b,d);if(c?.length>0)for(let b of c)i.push((0,h.v8)(b,a))}let l=(0,e.Y8)(f.h.OPENAI,a,null,d);if(l?.length>0)for(let b of l)i.push((0,h.v8)(b,a));return i.push("data: [DONE]\n\n"),{success:!0,response:new Response(i.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}}(p,b):function(a,b){let c=j(b);if(a===f.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(c),{headers:{"Content-Type":"application/json"}})};let d=(0,e.Ws)(a);d.model=b;let g=k(c),h=[];for(let b of g){let c=(0,e.Y8)(f.h.OPENAI,a,b,d);c?.length>0&&h.push(...c)}let i=(0,e.Y8)(f.h.OPENAI,a,null,d);return i?.length>0&&h.push(...i),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return j("unknown");let c=a[a.length-1];if(b===f.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);d?.message&&(c=d.message,b?.usage&&(c.usage=b.usage))}return c}(h,a)),{headers:{"Content-Type":"application/json"}})}}(p,b)}function j(a){let b=`chatcmpl-${Date.now()}`;return{id:b,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:"CLI Command Execution: Clear Terminal"},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function k(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},29908:(a,b,c)=>{c.d(b,{QH:()=>j});var d=c(96303);let e=[];var f=c(14170);let g=new Set("");function h(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function i(a){return"string"==typeof a&&g.has(a)?a:e}function j(a,b){let c=i(b.mode);if(!a||"object"!=typeof a||Array.isArray(a)||!Object.hasOwn(a,"previous_response_id")||!function({mode:a,sourceFormat:b,targetFormat:c,credentials:e}){let g=i(a);if("preserve"===g)return!1;if("strip"===g)return!0;let j=b===f.h.OPENAI_RESPONSES,k=c===f.h.OPENAI_RESPONSES;if(!j&&!k)return!1;let l=h(h(e).providerSpecificData);return!(0,d.pn)(l)}({...b,mode:c}))return{body:a,stripped:!1,mode:c};let e={...a};return delete e.previous_response_id,{body:e,stripped:!0,mode:c}}},30261:(a,b,c)=>{function d(a,b){if(!a||"object"!=typeof a)return null;if(a instanceof Headers)return a.get(b);let c=b.toLowerCase();for(let[b,d]of Object.entries(a))if(b.toLowerCase()===c&&"string"==typeof d&&d.trim())return d.trim();return null}function e(a){let b=(d(a,"x-omniroute-no-memory")||"").trim().toLowerCase();return"true"===b||"1"===b||"yes"===b}function f(a){return(d(a,"x-omniroute-compression")||"").trim()||null}function g(a){let b=(d(a,"x-omniroute-strip-reasoning")||"").trim().toLowerCase();return"true"===b||"1"===b||"yes"===b}c.d(b,{VS:()=>g,oF:()=>d,qb:()=>f,rS:()=>e})},30660:(a,b,c)=>{c.d(b,{x:()=>f});var d=c(34748),e=c(33748);function f(a,b,c){let f=b?.preserveToolResultBlocks===!0;if(!Array.isArray(a.messages))return;let g=a.messages;for(let b of((0,d.X)(a),g=a.messages))Array.isArray(b.content)&&(b.content=b.content.filter(a=>"text"!==a.type||"string"==typeof a.text&&a.text.length>0));for(let a of g)"user"===a.role&&Array.isArray(a.content)&&(a.content=a.content.flatMap(a=>{if("text"===a.type||"image_url"===a.type||"image"===a.type||"file_url"===a.type||"file"===a.type||"document"===a.type){let b=a.file_url??a.file??a.document;if(("file"===a.type||"document"===a.type)&&!b?.url&&!b?.data){let b=a.file?.content??a.file?.text??a.content??a.text,c=a.file?.name??a.name??"attachment";if("string"==typeof b&&b.length>0)return[{type:"text",text:`[${c}]
8
8
  ${b}`}]}return[a]}if("tool_result"===a.type){if(f)return[a];let b=a.tool_use_id??a.id??"unknown",c=a.content??a.text??a.output??"",d="string"==typeof c?c:Array.isArray(c)?c.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):JSON.stringify(c);return d.length>0?[{type:"text",text:`[Tool Result: ${b}]
9
9
  ${d}`}]:[]}return c?.debug?.("CONTENT",`Dropped unsupported content part type="${a.type}"`),[]}));a.messages=(0,e.NI)(a.messages)}},30701:(a,b,c)=>{c.d(b,{s:()=>d});function d(a,b,c){let d=a&&"object"==typeof a&&"apiFormat"in a&&"string"==typeof a.apiFormat?a.apiFormat:void 0;return{apiFormat:d,customModelTargetFormat:a&&"object"==typeof a&&"targetFormat"in a&&"string"==typeof a.targetFormat?a.targetFormat:void 0,requestedModel:"string"==typeof b?.model&&b.model.trim().length>0?b.model:c}}},32223:(a,b,c)=>{c(4188),c(4573),c(77923),c(99718),c(87836),c(45684),c(43659)},32485:(a,b,c)=>{c.d(b,{C5:()=>d});function d(a){if(!Array.isArray(a)||0===a.length)return null;let b=a.map(a=>a?.name||a?.function?.name||a?.type||"unknown"),c=new Map;for(let a of b){let b=function(a){if(a.startsWith("mcp__")){let b=a.split("__");return b[1]?`mcp:${b[1]}`:"mcp"}return a.startsWith("web_search")||a.startsWith("web_fetch")?"hosted:web":a.startsWith("computer_")||a.startsWith("str_replace_")?"hosted:computer":"client"}(a);c.set(b,(c.get(b)||0)+1)}let d=Array.from(c.entries()).map(([a,b])=>`${a}=${b}`).join(", "),e=b.slice(0,80).join(", "),f=b.length>80?`, ... +${b.length-80} more`:"";return`${a.length} tools | sources: ${d} | names: ${e}${f}`}},32560:(a,b,c)=>{c.d(b,{CS:()=>k});var d=c(14170);let e="omniroute_web_search",f=new Set(["web_search","web_search_preview"]),g={low:5,medium:8,high:10};function h(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function i(a){let b=h(a),c="string"==typeof b.type?b.type:"";return f.has(c)&&!b.function}let j=new Set(["minimax"]);function k(a,b){var c,k;let l,m,n,o,p,q,r=Array.isArray(a.tools)?a.tools:null;if(!r||0===r.length)return{body:a,fallback:{enabled:!1,toolName:null,convertedToolCount:0}};let s=r.filter(i);if(0===s.length||function({provider:a,sourceFormat:b,targetFormat:c,nativeCodexPassthrough:e}){return!!e||c===d.h.GEMINI||b===d.h.CLAUDE&&c===d.h.CLAUDE&&!(a&&j.has(a))}(b))return{body:a,fallback:{enabled:!1,toolName:null,convertedToolCount:0}};let t=new Set,u=r.filter(a=>{if(i(a))return!1;let b=h(a),c=h(b.function),d="string"==typeof c.name?c.name:"string"==typeof b.name?b.name:"";return d.trim().length>0&&t.add(d.trim()),!0}),v=b.targetFormat===d.h.OPENAI_RESPONSES;t.has(e)||u.unshift((c=h(s[0]),k=b.targetFormat,l=!1!==c.external_web_access,m=g["string"==typeof c.search_context_size?c.search_context_size.trim().toLowerCase():""]||g.medium,n=`Search the ${l?"public web":"configured search index"} for recent, factual information and return cited results. Use this when the answer depends on current events, external documents, or fresh facts. If max_results is omitted, prefer about ${m} results.`,o={type:"object",additionalProperties:!1,properties:{query:{type:"string",description:"The web search query to execute."},search_type:{type:"string",enum:["web","news"],description:"Use 'news' for recent headlines or reporting; otherwise use 'web'."},max_results:{type:"integer",minimum:1,maximum:20,default:g["string"==typeof c.search_context_size?c.search_context_size.trim().toLowerCase():""]||g.medium,description:"Maximum number of results to retrieve."},country:{type:"string",description:"Optional 2-letter country code for localization, e.g. US or BR."},language:{type:"string",description:"Optional language code such as en or pt-BR."},time_range:{type:"string",enum:["any","day","week","month","year"],description:"Optional recency filter."},filters:{type:"object",additionalProperties:!1,properties:{include_domains:{type:"array",items:{type:"string"},description:"Optional list of domains to include."},exclude_domains:{type:"array",items:{type:"string"},description:"Optional list of domains to exclude."}}}},required:["query"]},k===d.h.OPENAI_RESPONSES?{type:"function",name:e,description:n,parameters:o}:{type:"function",function:{name:e,description:n,parameters:o}}));let w={...a,tools:u};return q="string"==typeof(p=h(a.tool_choice)).type?p.type:"",f.has(q)&&(w.tool_choice=v?{type:"function",name:e}:{type:"function",function:{name:e}}),{body:w,fallback:{enabled:!0,toolName:e,convertedToolCount:s.length}}}},33003:(a,b,c)=>{c.d(b,{O5:()=>e,X4:()=>f,bF:()=>g});var d=c(19979);function e(a){if(!a||!Array.isArray(a.tools))return null;let b=new Map;for(let c of a.tools){let a=c?.type==="function"&&c.function&&"object"==typeof c.function?c.function:c,e="string"==typeof a?.name?a.name.trim():"";e&&b.set(`${d.Zj}${e}`,e)}return b.size>0?b:null}function f(a,b){if(!b||!Array.isArray(a?.content))return a;let c=!1,d=a.content.map(a=>{if(a?.type!=="tool_use"||"string"!=typeof a?.name)return a;let d=b.get(a.name)??a.name;return d===a.name?a:(c=!0,{...a,name:d})});return c?{...a,content:d}:a}function g(a,b){let c=b&&b._toolNameMap instanceof Map?b._toolNameMap:null;if(!c?.size)return a;if(!a?.size)return c;let d=new Map(a);for(let[a,b]of c.entries())d.set(a,b);return d}},33285:(a,b,c)=>{c.d(b,{V:()=>d});function d(a,b){let c=a.getReader(),d=!1,e=()=>{d||(d=!0,b())};return new ReadableStream({async pull(a){try{let{done:b,value:d}=await c.read();if(b){e(),a.close();return}a.enqueue(d)}catch(b){e(),a.error(b)}},async cancel(a){e();try{await c.cancel(a)}catch(a){}}})}},33727:(a,b,c)=>{function d(a,b){let c=a?.[b];return Array.isArray(c)?c.length:0}function e(a){var b,c,e,f;let g,h,i,j=Math.max(0,Math.floor(a.baseTimeoutMs||0));if(j<=0)return{timeoutMs:j,baseTimeoutMs:j,reasons:["disabled"]};let k=Math.max(j,a.maxTimeoutMs??18e4),l=[],m=j,n=Math.max(d(a.body,"input"),d(a.body,"messages")),o=d(a.body,"tools"),p=function(a){if(!a)return 0;try{return JSON.stringify(a).length}catch{return 0}}(a.body),q=(b=a.provider,c=a.model,g=(b||"").toLowerCase(),h=(c||"").toLowerCase(),"codex"===g&&/gpt-5(\.\d+)?/.test(h)),r=q&&(e=a.model,f=a.body,i=(e||"").toLowerCase(),!!(/-high\b/.test(i)||i.endsWith("-high"))||"high"===(()=>{let a=f?.reasoning_effort;if("string"==typeof a)return a;let b=f?.reasoning;if(b&&"object"==typeof b){let a=b.effort;if("string"==typeof a)return a}return""})().toLowerCase());return n>400?(m+=45e3,l.push("very_large_history")):n>150&&(m+=2e4,l.push("large_history")),o>=15&&(m+=15e3,l.push("tool_heavy")),p>75e4?(m+=45e3,l.push("very_large_payload")):p>25e4&&(m+=2e4,l.push("large_payload")),r?(m+=3e4,l.push("codex_gpt_5_5_high_reasoning")):q&&(n>150||o>=15)&&(m+=3e4,l.push("codex_gpt_5_5_large_responses")),(m=Math.min(m,k))===j&&l.push("base"),{timeoutMs:m,baseTimeoutMs:j,reasons:l}}c.d(b,{k:()=>e})},34748:(a,b,c)=>{c.d(b,{X:()=>d});function d(a){if(!Array.isArray(a.messages))return;let b=a.messages,c=a=>"string"==typeof a&&("system"===a.toLowerCase()||"developer"===a.toLowerCase()),d=b.filter(a=>c(a.role));if(0===d.length)return;let e=[];for(let a of d)if("string"==typeof a.content&&a.content.length>0)e.push({type:"text",text:a.content});else if(Array.isArray(a.content))for(let b of a.content)b?.type==="text"&&"string"==typeof b.text&&b.text.length>0&&e.push({...b});if(e.length>0){let b=a.system;"string"==typeof b&&b.length>0?a.system=[{type:"text",text:b},...e]:Array.isArray(b)?a.system=[...b,...e]:a.system=e}a.messages=b.filter(a=>!c(a.role))}},35402:(a,b,c)=>{c.d(b,{J:()=>d});function d(a){let b=a.outputStyleResult;b&&(async()=>{try{let{buildOutputStyleTelemetry:d}=await c.e(5790).then(c.bind(c,55790)),{insertCompressionRunTelemetryRow:e}=await c.e(7386).then(c.bind(c,17386)),f=d({requestId:a.skillRequestId??a.traceId??"",model:a.effectiveModel??"",provider:a.provider??"",source:a.compressionComboId?"active-profile":"default",tokensBefore:a.estimatedTokens,tokensAfter:a.estimatedTokens,applied:b.applied,appliedStyles:b.appliedStyles,skippedReason:b.skippedReason});e(f)}catch(b){a.log?.debug?.("COMPRESSION","Run-telemetry emit skipped: "+(b instanceof Error?b.message:String(b)))}})()}},36268:(a,b,c)=>{},37398:(a,b,c)=>{c.d(b,{d:()=>d});let d=async a=>a},37425:(a,b,c)=>{c.d(b,{d:()=>k});var d=c(8919),e=c(90528),f=c(47370),g=c(49641),h=c(69734),i=c(75268),j=c(7803);async function k({semanticCacheEnabled:a,body:b,clientRawRequest:c,model:l,provider:m,stream:n,reqLogger:o,effectiveServiceTier:p,connectionId:q,startTime:r,log:s,persistAttemptLogs:t,apiKeyId:u}){if(a&&(0,d.Ke)(b,c?.headers)){let a=(0,d.gR)(l,b.messages??b.input,b.temperature,b.top_p,u??void 0),c=(0,d.Cb)(a);if(c){s?.debug?.("CACHE",`Semantic cache HIT for ${l} (stream=${n})`),o.logConvertedResponse(c);let a=(0,i.M)(c,m)||c?.usage,b=a?await (0,e.calculateCost)(m,l,a,{serviceTier:p}):0;t({status:200,tokens:c?.usage,responseBody:c,providerRequest:null,providerResponse:null,clientResponse:c,cacheSource:"semantic"}),(0,f.uw)(l,m,q,!1);let d=n?(0,g.I)(JSON.stringify(c)):"",k={"Content-Type":d?"text/event-stream":"application/json",[j.I.cache]:"HIT"};return(0,h.Fx)(k,{provider:m,model:l,cacheHit:!0,latencyMs:Date.now()-r,usage:a,costUsd:0,costSavedUsd:b}),{success:!0,response:new Response(d||JSON.stringify(c),{headers:k})}}}return null}},37636:(a,b,c)=>{c.d(b,{H5:()=>h,PX:()=>k,lw:()=>j,wL:()=>i});var d=c(69734),e=c(7803);let f=new Set(["content-type","content-encoding","content-length","transfer-encoding"]);function g(a){return a.toLowerCase().startsWith("x-middleware-")}function h(a){let b=[];for(let c of(a.forEach((a,c)=>{g(c)&&b.push(c)}),b))a.delete(c)}function i(a,b){let c=[];a.forEach((a,b)=>{f.has(b.toLowerCase())||g(b)||c.push([b,a])});let h={...Object.fromEntries(c),"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no",[e.I.cache]:"MISS"};return(0,d.Fx)(h,b),h}function j(a){let b=a&&"object"==typeof a?a._dedupSnapshot:void 0;return b?{...a,response:new Response(b.payload,{status:b.status,statusText:b.statusText,headers:b.headers})}:a}function k(a){a.delete("content-encoding"),a.delete("content-length"),a.delete("transfer-encoding")}},37785:(a,b,c)=>{c.d(b,{a:()=>g});var d=c(57247),e=c(57647),f=c(14170);function g(a){let{provider:b,resolvedModel:c,apiFormat:g,customModelTargetFormat:h,providerSpecificData:i}=a,j=d.Xg[b]||b,k=(0,d.ux)(j,c);return{alias:j,targetFormat:"responses"===g?f.h.OPENAI_RESPONSES:k||h||(0,e.jJ)(b,i)}}},38048:(a,b,c)=>{c.d(b,{m:()=>d});let d=[{id:"gen4.5",name:"Gen-4.5"},{id:"gen4_turbo",name:"Gen-4 Turbo"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo"},{id:"veo3.1",name:"Veo 3.1"},{id:"veo3.1_fast",name:"Veo 3.1 Fast"}]},38350:(a,b,c)=>{c(4188),c(99328),c(43659),c(69734),c(90528),c(27277),c(47370)},38443:(a,b,c)=>{c.d(b,{fL:()=>i,lz:()=>h,vT:()=>j});let d=["modelscope.cn","modelscope.aliyuncs.com"],e=["free allocated quota exceeded"],f=["throttling","throttled","rate limit","too many requests","batch requests","allocated quota exceeded","exceeded your current quota"];function g(a){if(null===a||""===a.trim())return null;let b=Number.parseInt(a,10);return Number.isFinite(b)?b:null}function h(a,b){if("modelscope"===String(a||"").trim().toLowerCase())return!0;let c=function(a){if(!a||"object"!=typeof a)return"";let b=a.baseUrl??a.baseURL??a.url??a.endpoint;return"string"==typeof b?b.toLowerCase():""}(b);return d.some(a=>c.includes(a))}function i(a,b){let c={modelRemaining:g(b["modelscope-ratelimit-model-requests-remaining"]??null),modelLimit:g(b["modelscope-ratelimit-model-requests-limit"]??null),totalRemaining:g(b["modelscope-ratelimit-requests-remaining"]??null),totalLimit:g(b["modelscope-ratelimit-requests-limit"]??null)},d=String(a||"").toLowerCase();return e.some(a=>d.includes(a))?{kind:"quota_exhausted",retryable:!1,snapshot:c}:(null!==c.modelRemaining||null!==c.totalRemaining||f.some(a=>d.includes(a)),{kind:"rate_limited",retryable:!0,snapshot:c})}function j(a,b){let c=a["retry-after"]??null;if(c){let a=Number.parseFloat(c);if(Number.isFinite(a)&&a>0)return 1e3*a}return 3e3*(b+1)}},38476:(a,b,c)=>{c.d(b,{E:()=>d});async function d(a){try{let{getCompressionSettings:a}=await c.e(1662).then(c.bind(c,51662)),b=await a();return{settings:b,enabled:b.enabled,contextEditingEnabled:b.contextEditing?.enabled===!0}}catch(b){return a?.warn?.("COMPRESSION","Compression settings lookup skipped: "+(b instanceof Error?b.message:String(b))),{settings:null,enabled:!1,contextEditingEnabled:!1}}}},41989:(a,b,c)=>{c(4188),c(77923),c(99718),c(87836),c(45684),c(43659),c(77598)},42124:(a,b,c)=>{},42722:(a,b,c)=>{c.d(b,{p:()=>d});function d(a){return{provider:a.provider||"unknown",model:a.model||"unknown",tokens:{input:0,output:0,cacheRead:0,cacheCreation:0,reasoning:0},status:String(a.statusCode),success:!1,latencyMs:a.latencyMs,timeToFirstTokenMs:0,errorCode:a.errorCode||String(a.statusCode),timestamp:new Date().toISOString(),connectionId:a.connectionId||void 0,apiKeyId:a.apiKeyInfo?.id||void 0,apiKeyName:a.apiKeyInfo?.name||void 0,serviceTier:a.effectiveServiceTier,comboStrategy:a.isCombo&&a.comboStrategy||void 0,endpoint:a.endpoint||void 0}}},45647:(a,b,c)=>{},45684:(a,b,c)=>{c(4573),c(73870)},46022:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(14170);function e(a){switch(a){case d.h.CLAUDE:return"claude";case d.h.GEMINI:return"gemini";default:return"openai"}}},47281:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(86735);function e(a,b=d.DP){let c=a.clientRawRequest?.headers??null;return{apiKeyInfo:a.apiKeyInfo,disabledGuardrails:b({apiKeyInfo:a.apiKeyInfo??null,body:a.body,headers:c}),endpoint:a.clientRawRequest?.endpoint||null,headers:c,log:a.log,method:"POST",model:a.model,provider:a.provider,sourceFormat:a.responsePayloadFormat,stream:!1,targetFormat:a.clientResponseFormat}}},47345:(a,b,c)=>{c.d(b,{S:()=>d});async function d(a){if(a.apiKeyId&&a.connectionId)try{let{scheduleRecordConsumption:b,buildConsumptionCost:d}=await c.e(9136).then(c.bind(c,49136));b({apiKeyId:a.apiKeyId,connectionId:a.connectionId,provider:a.provider??"unknown",model:a.model??void 0,cost:d(a.usage,a.estimatedCost)},a.log)}catch(a){}}},48191:(a,b,c)=>{c.d(b,{G:()=>h,w:()=>g});var d=c(10812),e=c(61408),f=c(43659);function g({pendingRequestId:a,model:b,provider:c,connectionId:e,providerResponse:f,clientResponse:h,status:i,error:j,errorCode:k,onWarn:l}){try{(0,d.X8)(a,{providerResponse:f,clientResponse:h,status:i,error:j||null,errorCode:k||null})||(0,d.dj)(b,c,e,{providerResponse:f,clientResponse:h,status:i,error:j||null,errorCode:k||null})}catch(a){try{l?l(a):console.warn("finalizeMostRecentPendingRequest failed:",a&&"object"==typeof a&&"message"in a?a.message:a)}catch{}}}function h({isFailureCompletionRecorded:a,isStreamCompletionRecorded:b=()=>!1,onStreamComplete:c,persistFailureUsage:d,onStreamFailure:g}){let i=h=>{if(b())return!0;let i=h.status||e.gx.BAD_GATEWAY,j=h.message||"Upstream stream error",k=h.code||h.type||String(i);if(!a()){let a=(0,f.buildErrorBody)(i,j);c({status:i,usage:null,responseBody:a,providerPayload:a,clientPayload:a,error:j,errorCode:k,ttft:0})}d(i,k);try{g?.(h)}catch{}return!0},j=!1;return{handleStreamFailure:i,onPipelineStreamError:({message:a,statusCode:b})=>{let c;if(j)return!0;j=!0;let d=a||"Upstream stream error",f=(c=d.toLowerCase(),499===b||c.includes("responseaborted")||c.includes("controller is already closed")||c.includes("readablestream is closed")||c.includes("writablestream is closed")||c.includes("aborterror")),g=f?499:Number.isFinite(b)&&b>=400&&b<=599?b:e.gx.BAD_GATEWAY,h=f?"client_disconnected":d.toLowerCase().includes("terminated")?"stream_terminated":"stream_pipeline_error";return i({status:g,message:d,code:h,type:f?"client_disconnected":"stream_error"}),!0}}}},48895:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>f.SB}),c(95538),c(61408),c(57247),c(14170),c(71961),c(57647),c(40669),c(10254),c(8590);var e=c(92500);c(59657);var f=c(55330);c(43659),c(95374),c(11993),c(42124),c(6854),c(36268),c(38350),c(99328),c(32223),c(41989),c(77923),c(24116),c(45647);var g=c(84444);c(6906),c(87028),c(83578),c(99718);var h=a([e,f,g]);[e,f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},48909:(a,b,c)=>{function d(a){if(!Array.isArray(a)||2!==a.length)return!1;let[b,c]=a;return b?.engine==="rtk"&&(void 0===b.intensity||"standard"===b.intensity)&&!b.config&&c?.engine==="caveman"&&(void 0===c.intensity||"full"===c.intensity)&&!c.config}function e(a){return!!(a&&a.pipeline.length>=1)}c.d(b,{D:()=>d,W:()=>e})},49125:(a,b,c)=>{function d(a,b){return b&&a&&"object"==typeof a&&!Array.isArray(a)&&"string"==typeof a.model&&(a.model=b),a}function e(a,b){if(!b||!a.startsWith("data:"))return a;let c=a.slice(5).trim();if(!c||"[DONE]"===c||"{"!==c[0])return a;try{let d=JSON.parse(c);if("string"!=typeof d.model)return a;return d.model=b,`data: ${JSON.stringify(d)}`}catch{return a}}function f(a){let b=new TextDecoder,c=new TextEncoder,d="";return new TransformStream({transform(f,g){let h=(d+=b.decode(f,{stream:!0})).lastIndexOf("\n");if(-1===h)return;let i=d.slice(0,h+1);d=d.slice(h+1);let j=i.split("\n").map(b=>e(b,a)).join("\n");g.enqueue(c.encode(j))},flush(f){let g=d+b.decode();g&&f.enqueue(c.encode(e(g,a)))}})}c.d(b,{ly:()=>d,nB:()=>f})},49287:(a,b,c)=>{c.d(b,{L:()=>d});function d(a){let{contextEditingEnabled:b,provider:d,responseBody:e,skillRequestId:f,log:g}=a;b&&"claude"===d&&(async()=>{try{let{extractContextEditingTelemetry:a}=await Promise.resolve().then(c.bind(c,54669)),b=a(e);if(b){let{recordContextEditingTelemetry:a}=await c.e(2572).then(c.bind(c,2572));a(f,b,d),g?.debug?.("CONTEXT_EDITING",`cleared ${b.clearedInputTokens} input tokens / ${b.clearedToolUses} tool uses (${b.editCount} edits)`)}}catch{}})()}},49641:(a,b,c)=>{c.d(b,{I:()=>i});var d=c(23874),e=c(48608);function f(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function g(a){return"string"==typeof a&&a.length>0?a:""}function h(a){return`data: ${JSON.stringify(a)}
10
10
 
@@ -21,7 +21,7 @@ ${e}`}if("object"!=typeof a)return a;if(b>=(0,d._5)())return"[MaxDepth]";let c=(
21
21
  ORDER BY window_start DESC LIMIT 1`).get(a.id,b),d=c&&"number"==typeof c.tokens_used?c.tokens_used:0;d>0&&(0,e.W)(a.id,d,b);let f=g(a,h);f>0&&(0,e.a_)(a.id,b,f)}let c=(0,e.a_)(a.id,b,i);l.push({limitId:a.id,windowStart:b,total:c})}});try{for(let a of(m(),l)){var n,o,p;n=a.limitId,o=a.windowStart,p=a.total,f.set(n,{windowStart:o,tokensUsed:p,syncedAt:Date.now()})}}catch(a){if(k.inTransaction)try{k.exec("ROLLBACK")}catch{}}}).catch(()=>{})}},57804:(a,b,c)=>{c.d(b,{M:()=>f});var d=c(7803),e=c(37636);function f(a,b=e.wL){let c={...b(a.providerHeaders,{provider:a.provider,model:a.model,cacheHit:!1,latencyMs:0,usage:null,costUsd:0}),"x-omniroute-request-id":a.pendingRequestId};return a.compressionResponseMeta&&(c[d.I.compression]=a.compressionResponseMeta),c}},57964:(a,b,c)=>{c.d(b,{B:()=>g});var d=c(8919),e=c(22070);let f={isCacheableForWrite:d.FD,isSmallEnoughForSemanticCache:e.H,generateSignature:d.gR,setCachedResponse:d.yv};function g(a,b=f){a.enabled&&200===a.streamStatus&&a.streamResponseBody&&b.isCacheableForWrite(a.body,a.headers)&&function(a,b){try{var c;let d={...a.streamResponseBody};if(delete d._streamed,!b.isSmallEnoughForSemanticCache(d))return;let e=b.generateSignature(a.model,a.body.messages??a.body.input,a.body.temperature,a.body.top_p,a.apiKeyId??void 0),f=(c=a.streamUsage,(Number(c?.prompt_tokens??0)||0)+(Number(c?.completion_tokens??0)||0));b.setCachedResponse(e,a.model,d,f),a.log?.debug?.("CACHE",`Stored streaming response for ${a.model} (${f} tokens)`)}catch{}}(a,b)}},58118:(a,b,c)=>{c.d(b,{C:()=>h});var d=c(37208),e=c(1959),f=c(82317),g=c(20669);async function h(a){let{providerResponse:b,upstreamStream:c,providerHeaders:h,finalBody:i,targetFormat:j,model:k,log:l}=a,m=(b.headers.get("content-type")||"").toLowerCase(),n=await (0,f.Lc)(b,m,c),o=(0,d.xm)(n);if(m.includes("text/event-stream")||m.includes("application/x-ndjson")||/(^|\n)\s*(event|data):/m.test(n)){let a=(0,g.Xu)(n,m),b=m.includes("application/x-ndjson")?"NDJSON":"SSE";(0,g.ui)(c,h,i)?l?.debug?.("STREAM",`Buffering upstream ${b} response for non-streaming client request`):l?.warn?.("STREAM",`Unexpected ${b} response for non-streaming request — buffering`);let d=(0,g.GU)(a,j,k);return d?{kind:"ok",responseBody:d.body,responsePayloadFormat:d.format,looksLikeSSE:!0,normalizedProviderPayload:o}:{kind:"invalid_sse",message:(0,e.yj)(a)||"Invalid SSE response for non-streaming request",looksLikeSSE:!0,normalizedProviderPayload:o}}try{let a=n?JSON.parse(n):{},b=(0,e.de)(a);return{kind:"ok",responseBody:a,responsePayloadFormat:j,looksLikeSSE:!1,normalizedProviderPayload:o,bodyError:b}}catch(a){return{kind:"invalid_json",message:"Invalid JSON response from provider",detailedError:`Invalid JSON response from provider (error: ${a instanceof Error?a.message:String(a)}): ${n.substring(0,1e3)}`,looksLikeSSE:!1,normalizedProviderPayload:o}}}},58255:(a,b,c)=>{c.d(b,{q:()=>d});function d(a){if(!a)return{};let b={};try{if("function"==typeof a.forEach)return a.forEach((a,c)=>{b[c.toLowerCase()]=a}),b}catch{}try{if("function"==typeof a.entries){for(let[c,d]of a.entries())b[c.toLowerCase()]=String(d);return b}}catch{}if("object"==typeof a)for(let[c,d]of Object.entries(a))b[c.toLowerCase()]=String(d??"");return b}},58987:(a,b,c)=>{c.d(b,{r:()=>d});function d(a,b){let c=JSON.stringify(a);return new Response(c,{headers:{...b,"Content-Length":String(Buffer.byteLength(c))}})}},59114:(a,b,c)=>{c.d(b,{i:()=>h});let d=["temperature","top_p"],e=/-(low|medium|high|xhigh|minimal)$/i,f=/-none$/i;function g(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function h(a,b,c,h){if("openai"!==b||"string"!=typeof c||!/^gpt-5/i.test(c))return a;let i=g(a);if(!i||!function(a,b){let c=a.reasoning_effort;if("string"==typeof c)return"none"!==c.toLowerCase();let d=g(a.reasoning);return d&&"string"==typeof d.effort?"none"!==d.effort.toLowerCase():!f.test(b)&&!!e.test(b)}(i,c))return a;let j=[];for(let a of d)Object.hasOwn(i,a)&&j.push(a);if(0===j.length)return a;let k={...i};for(let a of j)delete k[a];return h?.warn?.("PARAMS",`Stripped ${j.join(", ")} for reasoning-active ${c} (GPT-5 rejects sampling params unless reasoning_effort=none)`),k}},59591:(a,b,c)=>{c.d(b,{Io:()=>j,S8:()=>n,bB:()=>l,n9:()=>i});var d=c(61408);let e=new Map,f=d.Js,g={"grok-cli":200},h=setInterval(()=>{let a=Date.now();for(let[b,c]of e)a-c.timestamp>864e5&&e.delete(b)},6e4);function i(a){let b=g[a];if(void 0!==b)return b;let c=e.get(a);return c&&Date.now()-c.timestamp<864e5?c.limit:f}function j(a,b){b<i(a)&&e.set(a,{limit:b,timestamp:Date.now()})}"object"==typeof h&&"unref"in h&&h.unref?.();let k=[/'tools':\s*maximum\s+number\s+of\s+items\s+is\s+(\d+)/i,/Maximum\s+number\s+of\s+tools\s+(?:allowed\s+)?(?:is\s+)?(\d+)/i,/Too\s+many\s+tools\.?\s*(?:Maximum\s+)?(\d+)/i,/\d+\s+tools\s+have\s+been\s+provided\s+but\s+(?:the\s+)?maximum\s+is\s+(\d+)/i,/tool.*limit.*(\d+)/i,/tools.*exceeded.*(\d+)/i];function l(a){for(let b of k){let c=a.match(b);if(c&&c[1]){let a=parseInt(c[1],10);if(a>0&&a<=1e4)return a}}return null}let m=["maximum number of tools","too many tools","tools limit","'tools'","maximum number of items"];function n(a,b){if(400!==b)return!1;let c=a.toLowerCase();return m.some(a=>c.includes(a))}},59657:(a,b,c)=>{c.d(b,{Jb:()=>p,jd:()=>m});var d=c(47370),e=c(61408),f=c(14170),g=c(95374);let h=e.TH;function i(a){return a===f.h.OPENAI_RESPONSES||a===f.h.OPENAI_RESPONSE}function j(a,{event:b,includeDone:c=!1}={}){if(b&&/[\r\n]/.test(b))throw Error("SSE event names must not contain newlines");let d=new TextEncoder,e=b?`event: ${b}
22
22
  `:"",f=[d.encode(`${e}data: ${JSON.stringify(a)}
23
23
 
24
- `)];return c&&f.push(d.encode("data: [DONE]\n\n")),f}function k(a){return a instanceof Error&&a.message?a.message:"string"==typeof a&&a.trim().length>0?a:"Upstream stream error"}function l(a){if(a&&"object"==typeof a&&"statusCode"in a){let b=Number(a.statusCode);if(Number.isFinite(b)&&b>=400&&b<=599)return b}return 502}function m({onDisconnect:a,onError:b,provider:c,model:e,connectionId:f,clientResponseFormat:h,clientAbortSignal:i}={}){let j=new AbortController,n=Date.now(),o=!1,p=!1,q=!1,r=null,s=a=>{let b=Date.now()-n,d=c?.toUpperCase()||"UNKNOWN";console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 🌊 [STREAM] ${d} | ${e||"unknown"} | ${b}ms | ${a}`)},t=a=>{if(!q){if(a&&"object"==typeof a&&!0===a[g.S0]){q=!0;return}if(q=!0,e||c||f)try{(0,d.uw)(e||"",c||"",f??null,!1)}catch{}}},u=()=>{r&&(r(),r=null)},v={signal:j.signal,startTime:n,isConnected:()=>!o,handleDisconnect:(b="client_closed")=>{if(!o){if(p)return void v.handleComplete();o=!0,u(),s(`disconnect: ${b}`),t(),j.abort(b),a?.({reason:b,duration:Date.now()-n})}},handleComplete:()=>{o||(o=!0,u(),s("complete"))},markClientTerminalSeen:()=>{p=!0},handleError:a=>{if(u(),o||function(a){if(!a||"object"!=typeof a)return!1;let b=a.name;if("AbortError"===b||"ResponseAborted"===b)return!0;let c=a.message;return"string"==typeof c&&/Controller is already closed/i.test(c)}(a)){t(a),s(o?"client_disconnect (post-abort)":"client_disconnect");return}let c=!!a&&"object"==typeof a&&!0===a[g.S0],d=!1;if(!c)try{d=b?.({error:a,message:k(a),statusCode:l(a),duration:Date.now()-n})===!0}catch{}(d?q=!0:t(a),a instanceof Error&&"AbortError"===a.name)?s("aborted"):a instanceof Error?s(`error: ${a.message}`):s("error: unknown")},abort:()=>{u(),j.abort()},clientResponseFormat:h};if(i&&"function"==typeof i.addEventListener){let a=()=>{let a;v.handleDisconnect("string"==typeof(a=i?.reason)&&a.trim().length>0?a:a instanceof Error&&a.message?a.message:"request_signal_aborted")};i.aborted?queueMicrotask(a):(i.addEventListener("abort",a,{once:!0}),r=()=>{i.removeEventListener("abort",a)})}return v}function n(){return{getWriter:()=>({abort:()=>Promise.resolve()})}}function o(a,b){let c=a.readable.getReader(),d=a.writable.getWriter(),e=new TextDecoder,g="",h=!1;return new ReadableStream({async pull(a){if(!b.isConnected())return void a.close();try{let{done:d,value:j}=await c.read();if(d){b.handleComplete(),a.close();return}a.enqueue(j),(a=>{if(!h&&a instanceof Uint8Array){var c,d;(g+=e.decode(a,{stream:!0})).length>4096&&(g=g.slice(-4096)),c=g,d=b.clientResponseFormat,(h=!!/(?:^|\r?\n)data:\s*\[DONE\]\s*(?:\r?\n|$)/.test(c)||(i(d)?/(?:^|\r?\n)event:\s*response\.completed\s*(?:\r?\n|$)/.test(c)||/"type"\s*:\s*"response\.completed"/.test(c):d===f.h.CLAUDE&&(/(?:^|\r?\n)event:\s*message_stop\s*(?:\r?\n|$)/.test(c)||/"type"\s*:\s*"message_stop"/.test(c))))&&b.markClientTerminalSeen?.()}})(j)}catch(g){if(!b.isConnected()){try{a.close()}catch{}return}if(h){b.handleComplete();try{a.close()}catch{}return}b.handleError(g);let c=k(g),e=l(g);try{var d;let g;for(let h of(d=b.clientResponseFormat,g=function(a){switch(429===a?"rate_limit":401===a?"authentication":403===a?"permission":a>=400&&a<500?"client":"server"){case"rate_limit":return{responses:{type:"rate_limit_error",code:"rate_limit_exceeded"},claude:{type:"rate_limit_error"}};case"authentication":return{responses:{type:"authentication_error",code:"invalid_authentication"},claude:{type:"authentication_error"}};case"permission":return{responses:{type:"authentication_error",code:"permission_denied"},claude:{type:"permission_error"}};case"client":return{responses:{type:"invalid_request_error",code:"bad_request"},claude:{type:"invalid_request_error"}};default:return{responses:{type:"server_error",code:"server_error"},claude:{type:"api_error"}}}}(e),i(d)?j({type:"response.failed",response:{id:null,status:"failed",error:{message:c,type:g.responses.type,code:g.responses.code}}},{event:"response.failed"}):d===f.h.CLAUDE?j({type:"error",error:{type:g.claude.type,message:c}},{event:"error"}):j({object:"chat.completion.chunk",choices:[{index:0,delta:{},finish_reason:"error"}],error:{message:c,type:g.responses.type,code:g.responses.code}},{includeDone:!0})))a.enqueue(h)}catch{}try{a.close()}catch{}}},async cancel(a){h?b.handleComplete():b.handleDisconnect(a||"cancelled"),await Promise.allSettled([c.cancel(a),d.abort(a)])}},{highWaterMark:16384})}function p(a,b,c,d={}){let e=d.stallTimeoutMs??h;if(!e||e<=0)return o({readable:a.body.pipeThrough(b),writable:n()},c);let f=null,g=null,i=!1,j=()=>{f&&(clearTimeout(f),f=null)},k=()=>{j(),f=setTimeout(()=>{f=null,i=!0;let a=Error("stream stall timeout");try{c.handleError?.(a)}catch{}try{g?.error(a)}catch{}try{c.abort?.()}catch{}},e)},l={...c,handleComplete:()=>{j(),c.handleComplete()},handleError:a=>{j(),i||c.handleError(a)},handleDisconnect:a=>{j(),c.handleDisconnect(a)},abort:()=>{j(),c.abort()}},m=new TransformStream({start(a){g=a,k()},transform(a,b){k(),b.enqueue(a)},flush(){j()}});return o({readable:a.body.pipeThrough(m).pipeThrough(b),writable:n()},l)}},60999:(a,b,c)=>{c.d(b,{l:()=>d});function d(a,b){let c={};if(a instanceof Headers)a.forEach((a,b)=>{c[b]=a});else if(a&&"object"==typeof a)for(let[b,d]of Object.entries(a))"string"==typeof d&&(c[b]=d);let d="string"==typeof b?b.trim():"";return!d||c["user-agent"]||c["User-Agent"]||(c["user-agent"]=d,c["User-Agent"]=d),Object.keys(c).length>0?c:null}},61393:(a,b,c)=>{c.d(b,{C:()=>d});function d(a){return Array.isArray(a)?a.map(a=>a&&"object"==typeof a&&!Array.isArray(a)?a.type?a:{type:"custom",...a}:a):a}},63851:(a,b,c)=>{c.d(b,{u:()=>f});var d=c(77598);let e=new Set(["additionalProperties","anyOf","oneOf","allOf","not","$schema","$id","$ref","$defs","definitions","if","then","else","unevaluatedProperties","unevaluatedItems","contentEncoding","contentMediaType"]);function f(a){let b=new Map;return a&&Array.isArray(a)?{tools:a.map(a=>{let c=a?.toolSpecification;if(!c)return a;let f=c.name,g=f;if("string"==typeof g&&g.length>64){let a=(0,d.createHash)("sha256").update(g).digest("hex").slice(0,7);g=`${g.slice(0,56)}_${a}`,b.set(g,f)}let h=c.inputSchema?.json;if(h&&"object"==typeof h&&!Array.isArray(h)){let b=function a(b){if(!b||"object"!=typeof b)return b;if(Array.isArray(b))return b.map(a);let c={};for(let[d,f]of Object.entries(b))!e.has(d)&&("required"===d&&Array.isArray(f)&&0===f.length||(c[d]=a(f)));return c}(h);return b.required||(b.required=[]),{...a,toolSpecification:{...c,name:g,inputSchema:{json:b}}}}return{...a,toolSpecification:{...c,name:g}}}),nameMap:b}:{tools:a,nameMap:b}}},65067:(a,b,c)=>{c.d(b,{Gm:()=>k,Oc:()=>h,hr:()=>i,tJ:()=>j});var d=c(10254),e=c(36081);let f=new Set(["max_tokens","tool_use"]),g=new Set(["length","tool_calls"]);function h(a){if(!a||"object"!=typeof a)return!1;if(Array.isArray(a.choices)){let b=a.choices[0];if(!b)return!0;let c=b.message,d=b.delta,e=c?.content??d?.content,f=c?.reasoning_content??d?.reasoning_content,h=c?.reasoning??d?.reasoning,i=Array.isArray(c?.reasoning_details)&&c.reasoning_details.some(a=>!!a&&"object"==typeof a&&"string"==typeof a.text&&a.text.length>0),j=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0||Array.isArray(d?.tool_calls)&&d.tool_calls.length>0,k="string"==typeof b.finish_reason?b.finish_reason:"";return!g.has(k)&&(null==e||""===e)&&!(null!=f&&""!==f||null!=h&&""!==h||i)&&!j}if(Array.isArray(a.content)){if(a.content.length>0)return!1;let b="string"==typeof a.stop_reason?a.stop_reason:"";return!f.has(b)}if("string"==typeof a.text)return""===a.text.trim();if("content"in a){let b=a.content;return null==b||""===b}return!1}let i={RATE_LIMITED:"rate_limited",UNAUTHORIZED:"unauthorized",ACCOUNT_DEACTIVATED:"account_deactivated",FORBIDDEN:"forbidden",SERVER_ERROR:"server_error",QUOTA_EXHAUSTED:"quota_exhausted",PROJECT_ROUTE_ERROR:"project_route_error",CONTEXT_OVERFLOW:"context_overflow",OAUTH_INVALID_TOKEN:"oauth_invalid_token",EMPTY_CONTENT:"empty_content"},j=RegExp("context overflow|prompt too large|context window|maximum context|exceeds context|input too long|token limit|too many tokens|context length|exceed.*context|messages exceed","i");function k(a,b,c){let f=function(a){if("string"==typeof a)return a;if(null!==a&&"object"==typeof a)try{return JSON.stringify(a)}catch{}return""}(b),g=(0,d.M1)(f),h=(0,d.K7)(f),k=(0,d.me)(f),l=!c||"oauth"===(0,e.oQ)(c);return g&&[400,402,403].includes(a)||g&&429===a&&l?i.QUOTA_EXHAUSTED:429===a?l&&(0,d.xs)(f)?i.QUOTA_EXHAUSTED:i.RATE_LIMITED:401===a?k?i.OAUTH_INVALID_TOKEN:h?i.ACCOUNT_DEACTIVATED:i.UNAUTHORIZED:402===a?i.QUOTA_EXHAUSTED:403===a&&h?i.ACCOUNT_DEACTIVATED:403===a?f.includes("has not been used in project")?i.PROJECT_ROUTE_ERROR:c&&"apikey"===(0,e.oQ)(c)?null:i.FORBIDDEN:a>=500?i.SERVER_ERROR:400===a&&j.test(String(f||""))?i.CONTEXT_OVERFLOW:null}},66173:(a,b,c)=>{c.d(b,{Al:()=>g,Jj:()=>f});let d="__omniroute_systemPrompt_config__",e=globalThis;function f(a){let b=(e[d]||(e[d]={enabled:!1,prefixPrompt:"",suffixPrompt:"",prompt:""}),e[d]);if(!b.enabled)return a;let c=b.prefixPrompt||"",f=b.suffixPrompt||"";if(!c&&!f||!a||"object"!=typeof a||a._skipSystemPrompt)return a;let g={...a};if(g.messages&&Array.isArray(g.messages)){let a=g.messages.findIndex(a=>"system"===a.role||"developer"===a.role);if(g.messages=[...g.messages],a>=0){let b={...g.messages[a]};if(Array.isArray(b.content)){let a=[...b.content];c&&a.unshift({type:"text",text:c}),f&&a.push({type:"text",text:f}),b.content=a}else{let a=b.content||"";c&&(a=c+"\n\n"+a),f&&(a=a+"\n\n"+f),b.content=a}g.messages[a]=b}else{let a=[c,f].filter(Boolean).join("\n\n");a&&(g.messages=[{role:"system",content:a},...g.messages])}}if(void 0!==g.system){if("string"==typeof g.system){let a=g.system;c&&(a=c+"\n\n"+a),f&&(a=a+"\n\n"+f),g.system=a}else if(Array.isArray(g.system)){let a=[...g.system];c&&(a=[{type:"text",text:c},...a]),f&&(a=[...a,{type:"text",text:f}]),g.system=a}}return g}function g(a,b){if(!b||"string"!=typeof b||!a||"object"!=typeof a||a._skipSystemPrompt)return a;let c={...a};if(c.messages&&Array.isArray(c.messages)){let a=c.messages.findIndex(a=>"system"===a.role||"developer"===a.role);if(c.messages=[...c.messages],a>=0){let d={...c.messages[a]};Array.isArray(d.content)?d.content=[...d.content,{type:"text",text:b}]:d.content=(d.content?d.content+"\n\n":"")+b,c.messages[a]=d}else c.messages=[{role:"system",content:b},...c.messages]}return void 0!==c.system&&("string"==typeof c.system?c.system=c.system?c.system+"\n\n"+b:b:Array.isArray(c.system)&&(c.system=[...c.system,{type:"text",text:b}])),c}},67381:(a,b,c)=>{c.d(b,{w:()=>d});function d(a){return(async()=>{try{let{insertCompressionAnalyticsRow:b}=await c.e(2572).then(c.bind(c,2572));b({timestamp:new Date().toISOString(),combo_id:a.comboName??null,provider:a.provider??null,mode:"output-caveman",engine:"caveman-output",compression_combo_id:a.compressionComboId??null,original_tokens:a.estimatedTokens,compressed_tokens:a.estimatedTokens,tokens_saved:0,request_id:a.skillRequestId,output_mode:a.cavemanOutputModeIntensity})}catch(b){a.log?.debug?.("COMPRESSION","Caveman output analytics write skipped: "+(b instanceof Error?b.message:String(b)))}})()}},68061:(a,b,c)=>{c.d(b,{VQ:()=>g,pz:()=>h,sS:()=>i});var d=c(14170),e=c(56033),f=c(30261);function g(a){var b=a?.maxConcurrent;if("number"==typeof b&&Number.isFinite(b))return b;if("string"==typeof b&&b.trim().length>0){let a=Number(b);return Number.isFinite(a)?a:null}return null}function h({provider:a,model:b,connectionId:c,credentials:d}){let f=function(a,b){if("string"==typeof a&&a.trim().length>0)return a;for(let a of[b?.connectionId,b?.id,b?.email,b?.name,b?.displayName])if("string"==typeof a&&a.trim().length>0)return a.trim();return null}(c,d);return f&&a?(0,e.fy)({provider:a,accountKey:f}):null}function i(a,b,c,e){if(a!==d.h.CLAUDE||!b||"object"!=typeof b)return null;let g=(a,b={})=>({type:a&&"string"==typeof a.type&&a.type.trim()?a.type.trim():"ephemeral",ttl:a&&"string"==typeof a.ttl&&a.ttl.trim()?a.ttl.trim():null,...b}),h=Array.isArray(b.system)?b.system.flatMap((a,b)=>{if(!a||"object"!=typeof a||("string"==typeof a.text&&a.text.trim().length>0?a.text.trim():"").startsWith("x-anthropic-billing-header:"))return[];let c=a.cache_control&&"object"==typeof a.cache_control?a.cache_control:null;return c?[g(c,{index:b})]:[]}):[],i=Array.isArray(b.tools)?b.tools.flatMap((a,b)=>{if(!a||"object"!=typeof a)return[];let c=a.cache_control&&"object"==typeof a.cache_control?a.cache_control:null,d="string"==typeof a.name&&a.name.trim()?a.name.trim():null;return c?[g(c,{index:b,name:d})]:[]}):[],j=Array.isArray(b.messages)?b.messages.flatMap((a,b)=>{if(!a||"object"!=typeof a||!Array.isArray(a.content))return[];let c="string"==typeof a.role&&a.role.trim()?a.role.trim():"unknown";return a.content.flatMap((a,d)=>{if(!a||"object"!=typeof a)return[];let e=a.cache_control&&"object"==typeof a.cache_control?a.cache_control:null;return e?[g(e,{messageIndex:b,contentIndex:d,role:c,blockType:"string"==typeof a.type&&a.type.trim()?a.type.trim():"unknown"})]:[]})}):[],k=h.length+i.length+j.length,l=(0,f.oF)(c,"Anthropic-Beta");return(l||(l=(0,f.oF)(e,"Anthropic-Beta")),0!==k||l)?{applied:k>0,totalBreakpoints:k,anthropicBeta:l,systemBreakpoints:h,toolBreakpoints:i,messageBreakpoints:j}:null}},68118:(a,b,c)=>{c.d(b,{Pu:()=>f,kR:()=>g});let d=0,e=0;async function f(a,b,c=fetch,g=Date.now){if(e>g())return;let h=process.env.LIVE_WS_PORT||"20129",i=new AbortController,j=setTimeout(()=>i.abort(),1500);try{await c(`http://127.0.0.1:${h}/__omniroute_event`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({event:a,payload:b,timestamp:g()}),signal:i.signal}),d=0,e=0}catch{(d+=1)>=3&&(e=g()+6e4,d=0)}finally{clearTimeout(j)}}async function g({provider:a,connectionId:b,providerSpecificData:c,log:d}){}},69137:(a,b,c)=>{c.d(b,{J:()=>d});let d=async()=>void 0},70274:(a,b,c)=>{c.d(b,{l:()=>o});var d=c(59657);let e="comment",f="anthropic-ping",g="openai-chunk",h="openai-responses-in-progress",i=new TextEncoder;var j=c(49125),k=c(68404),l=c(7803),m=c(61408);let n={wantsProgress:function(a){return!!a&&"true"===("function"==typeof a.get?b=>a.get(b):b=>a[b])("x-omniroute-progress")},pipeWithDisconnect:d.Jb,isFeatureFlagEnabled:k.wX,createPiiSseTransform:()=>void 0,createProgressTransform:function({intervalMs:a=2e3,signal:b}={}){let c,d,e=0,f=Date.now(),g=new TextEncoder;return new TransformStream({start(h){d=h,f=Date.now(),c=setInterval(()=>{if(b?.aborted)return void clearInterval(c);let a=`event: progress
24
+ `)];return c&&f.push(d.encode("data: [DONE]\n\n")),f}function k(a){return a instanceof Error&&a.message?a.message:"string"==typeof a&&a.trim().length>0?a:"Upstream stream error"}function l(a){if(a&&"object"==typeof a&&"statusCode"in a){let b=Number(a.statusCode);if(Number.isFinite(b)&&b>=400&&b<=599)return b}return 502}function m({onDisconnect:a,onError:b,provider:c,model:e,connectionId:f,clientResponseFormat:h,clientAbortSignal:i}={}){let j=new AbortController,n=Date.now(),o=!1,p=!1,q=!1,r=null,s=a=>{},t=a=>{if(!q){if(a&&"object"==typeof a&&!0===a[g.S0]){q=!0;return}if(q=!0,e||c||f)try{(0,d.uw)(e||"",c||"",f??null,!1)}catch{}}},u=()=>{r&&(r(),r=null)},v={signal:j.signal,startTime:n,isConnected:()=>!o,handleDisconnect:(b="client_closed")=>{if(!o){if(p)return void v.handleComplete();o=!0,u(),s(`disconnect: ${b}`),t(),j.abort(b),a?.({reason:b,duration:Date.now()-n})}},handleComplete:()=>{o||(o=!0,u(),s("complete"))},markClientTerminalSeen:()=>{p=!0},handleError:a=>{if(u(),o||function(a){if(!a||"object"!=typeof a)return!1;let b=a.name;if("AbortError"===b||"ResponseAborted"===b)return!0;let c=a.message;return"string"==typeof c&&/Controller is already closed/i.test(c)}(a)){t(a),s(o?"client_disconnect (post-abort)":"client_disconnect");return}let c=!!a&&"object"==typeof a&&!0===a[g.S0],d=!1;if(!c)try{d=b?.({error:a,message:k(a),statusCode:l(a),duration:Date.now()-n})===!0}catch{}(d?q=!0:t(a),a instanceof Error&&"AbortError"===a.name)?s("aborted"):a instanceof Error?s(`error: ${a.message}`):s("error: unknown")},abort:()=>{u(),j.abort()},clientResponseFormat:h};if(i&&"function"==typeof i.addEventListener){let a=()=>{let a;v.handleDisconnect("string"==typeof(a=i?.reason)&&a.trim().length>0?a:a instanceof Error&&a.message?a.message:"request_signal_aborted")};i.aborted?queueMicrotask(a):(i.addEventListener("abort",a,{once:!0}),r=()=>{i.removeEventListener("abort",a)})}return v}function n(){return{getWriter:()=>({abort:()=>Promise.resolve()})}}function o(a,b){let c=a.readable.getReader(),d=a.writable.getWriter(),e=new TextDecoder,g="",h=!1;return new ReadableStream({async pull(a){if(!b.isConnected())return void a.close();try{let{done:d,value:j}=await c.read();if(d){b.handleComplete(),a.close();return}a.enqueue(j),(a=>{if(!h&&a instanceof Uint8Array){var c,d;(g+=e.decode(a,{stream:!0})).length>4096&&(g=g.slice(-4096)),c=g,d=b.clientResponseFormat,(h=!!/(?:^|\r?\n)data:\s*\[DONE\]\s*(?:\r?\n|$)/.test(c)||(i(d)?/(?:^|\r?\n)event:\s*response\.completed\s*(?:\r?\n|$)/.test(c)||/"type"\s*:\s*"response\.completed"/.test(c):d===f.h.CLAUDE&&(/(?:^|\r?\n)event:\s*message_stop\s*(?:\r?\n|$)/.test(c)||/"type"\s*:\s*"message_stop"/.test(c))))&&b.markClientTerminalSeen?.()}})(j)}catch(g){if(!b.isConnected()){try{a.close()}catch{}return}if(h){b.handleComplete();try{a.close()}catch{}return}b.handleError(g);let c=k(g),e=l(g);try{var d;let g;for(let h of(d=b.clientResponseFormat,g=function(a){switch(429===a?"rate_limit":401===a?"authentication":403===a?"permission":a>=400&&a<500?"client":"server"){case"rate_limit":return{responses:{type:"rate_limit_error",code:"rate_limit_exceeded"},claude:{type:"rate_limit_error"}};case"authentication":return{responses:{type:"authentication_error",code:"invalid_authentication"},claude:{type:"authentication_error"}};case"permission":return{responses:{type:"authentication_error",code:"permission_denied"},claude:{type:"permission_error"}};case"client":return{responses:{type:"invalid_request_error",code:"bad_request"},claude:{type:"invalid_request_error"}};default:return{responses:{type:"server_error",code:"server_error"},claude:{type:"api_error"}}}}(e),i(d)?j({type:"response.failed",response:{id:null,status:"failed",error:{message:c,type:g.responses.type,code:g.responses.code}}},{event:"response.failed"}):d===f.h.CLAUDE?j({type:"error",error:{type:g.claude.type,message:c}},{event:"error"}):j({object:"chat.completion.chunk",choices:[{index:0,delta:{},finish_reason:"error"}],error:{message:c,type:g.responses.type,code:g.responses.code}},{includeDone:!0})))a.enqueue(h)}catch{}try{a.close()}catch{}}},async cancel(a){h?b.handleComplete():b.handleDisconnect(a||"cancelled"),await Promise.allSettled([c.cancel(a),d.abort(a)])}},{highWaterMark:16384})}function p(a,b,c,d={}){let e=d.stallTimeoutMs??h;if(!e||e<=0)return o({readable:a.body.pipeThrough(b),writable:n()},c);let f=null,g=null,i=!1,j=()=>{f&&(clearTimeout(f),f=null)},k=()=>{j(),f=setTimeout(()=>{f=null,i=!0;let a=Error("stream stall timeout");try{c.handleError?.(a)}catch{}try{g?.error(a)}catch{}try{c.abort?.()}catch{}},e)},l={...c,handleComplete:()=>{j(),c.handleComplete()},handleError:a=>{j(),i||c.handleError(a)},handleDisconnect:a=>{j(),c.handleDisconnect(a)},abort:()=>{j(),c.abort()}},m=new TransformStream({start(a){g=a,k()},transform(a,b){k(),b.enqueue(a)},flush(){j()}});return o({readable:a.body.pipeThrough(m).pipeThrough(b),writable:n()},l)}},60999:(a,b,c)=>{c.d(b,{l:()=>d});function d(a,b){let c={};if(a instanceof Headers)a.forEach((a,b)=>{c[b]=a});else if(a&&"object"==typeof a)for(let[b,d]of Object.entries(a))"string"==typeof d&&(c[b]=d);let d="string"==typeof b?b.trim():"";return!d||c["user-agent"]||c["User-Agent"]||(c["user-agent"]=d,c["User-Agent"]=d),Object.keys(c).length>0?c:null}},61393:(a,b,c)=>{c.d(b,{C:()=>d});function d(a){return Array.isArray(a)?a.map(a=>a&&"object"==typeof a&&!Array.isArray(a)?a.type?a:{type:"custom",...a}:a):a}},63851:(a,b,c)=>{c.d(b,{u:()=>f});var d=c(77598);let e=new Set(["additionalProperties","anyOf","oneOf","allOf","not","$schema","$id","$ref","$defs","definitions","if","then","else","unevaluatedProperties","unevaluatedItems","contentEncoding","contentMediaType"]);function f(a){let b=new Map;return a&&Array.isArray(a)?{tools:a.map(a=>{let c=a?.toolSpecification;if(!c)return a;let f=c.name,g=f;if("string"==typeof g&&g.length>64){let a=(0,d.createHash)("sha256").update(g).digest("hex").slice(0,7);g=`${g.slice(0,56)}_${a}`,b.set(g,f)}let h=c.inputSchema?.json;if(h&&"object"==typeof h&&!Array.isArray(h)){let b=function a(b){if(!b||"object"!=typeof b)return b;if(Array.isArray(b))return b.map(a);let c={};for(let[d,f]of Object.entries(b))!e.has(d)&&("required"===d&&Array.isArray(f)&&0===f.length||(c[d]=a(f)));return c}(h);return b.required||(b.required=[]),{...a,toolSpecification:{...c,name:g,inputSchema:{json:b}}}}return{...a,toolSpecification:{...c,name:g}}}),nameMap:b}:{tools:a,nameMap:b}}},65067:(a,b,c)=>{c.d(b,{Gm:()=>k,Oc:()=>h,hr:()=>i,tJ:()=>j});var d=c(10254),e=c(36081);let f=new Set(["max_tokens","tool_use"]),g=new Set(["length","tool_calls"]);function h(a){if(!a||"object"!=typeof a)return!1;if(Array.isArray(a.choices)){let b=a.choices[0];if(!b)return!0;let c=b.message,d=b.delta,e=c?.content??d?.content,f=c?.reasoning_content??d?.reasoning_content,h=c?.reasoning??d?.reasoning,i=Array.isArray(c?.reasoning_details)&&c.reasoning_details.some(a=>!!a&&"object"==typeof a&&"string"==typeof a.text&&a.text.length>0),j=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0||Array.isArray(d?.tool_calls)&&d.tool_calls.length>0,k="string"==typeof b.finish_reason?b.finish_reason:"";return!g.has(k)&&(null==e||""===e)&&!(null!=f&&""!==f||null!=h&&""!==h||i)&&!j}if(Array.isArray(a.content)){if(a.content.length>0)return!1;let b="string"==typeof a.stop_reason?a.stop_reason:"";return!f.has(b)}if("string"==typeof a.text)return""===a.text.trim();if("content"in a){let b=a.content;return null==b||""===b}return!1}let i={RATE_LIMITED:"rate_limited",UNAUTHORIZED:"unauthorized",ACCOUNT_DEACTIVATED:"account_deactivated",FORBIDDEN:"forbidden",SERVER_ERROR:"server_error",QUOTA_EXHAUSTED:"quota_exhausted",PROJECT_ROUTE_ERROR:"project_route_error",CONTEXT_OVERFLOW:"context_overflow",OAUTH_INVALID_TOKEN:"oauth_invalid_token",EMPTY_CONTENT:"empty_content"},j=RegExp("context overflow|prompt too large|context window|maximum context|exceeds context|input too long|token limit|too many tokens|context length|exceed.*context|messages exceed","i");function k(a,b,c){let f=function(a){if("string"==typeof a)return a;if(null!==a&&"object"==typeof a)try{return JSON.stringify(a)}catch{}return""}(b),g=(0,d.M1)(f),h=(0,d.K7)(f),k=(0,d.me)(f),l=!c||"oauth"===(0,e.oQ)(c);return g&&[400,402,403].includes(a)||g&&429===a&&l?i.QUOTA_EXHAUSTED:429===a?l&&(0,d.xs)(f)?i.QUOTA_EXHAUSTED:i.RATE_LIMITED:401===a?k?i.OAUTH_INVALID_TOKEN:h?i.ACCOUNT_DEACTIVATED:i.UNAUTHORIZED:402===a?i.QUOTA_EXHAUSTED:403===a&&h?i.ACCOUNT_DEACTIVATED:403===a?f.includes("has not been used in project")?i.PROJECT_ROUTE_ERROR:c&&"apikey"===(0,e.oQ)(c)?null:i.FORBIDDEN:a>=500?i.SERVER_ERROR:400===a&&j.test(String(f||""))?i.CONTEXT_OVERFLOW:null}},66173:(a,b,c)=>{c.d(b,{Al:()=>g,Jj:()=>f});let d="__omniroute_systemPrompt_config__",e=globalThis;function f(a){let b=(e[d]||(e[d]={enabled:!1,prefixPrompt:"",suffixPrompt:"",prompt:""}),e[d]);if(!b.enabled)return a;let c=b.prefixPrompt||"",f=b.suffixPrompt||"";if(!c&&!f||!a||"object"!=typeof a||a._skipSystemPrompt)return a;let g={...a};if(g.messages&&Array.isArray(g.messages)){let a=g.messages.findIndex(a=>"system"===a.role||"developer"===a.role);if(g.messages=[...g.messages],a>=0){let b={...g.messages[a]};if(Array.isArray(b.content)){let a=[...b.content];c&&a.unshift({type:"text",text:c}),f&&a.push({type:"text",text:f}),b.content=a}else{let a=b.content||"";c&&(a=c+"\n\n"+a),f&&(a=a+"\n\n"+f),b.content=a}g.messages[a]=b}else{let a=[c,f].filter(Boolean).join("\n\n");a&&(g.messages=[{role:"system",content:a},...g.messages])}}if(void 0!==g.system){if("string"==typeof g.system){let a=g.system;c&&(a=c+"\n\n"+a),f&&(a=a+"\n\n"+f),g.system=a}else if(Array.isArray(g.system)){let a=[...g.system];c&&(a=[{type:"text",text:c},...a]),f&&(a=[...a,{type:"text",text:f}]),g.system=a}}return g}function g(a,b){if(!b||"string"!=typeof b||!a||"object"!=typeof a||a._skipSystemPrompt)return a;let c={...a};if(c.messages&&Array.isArray(c.messages)){let a=c.messages.findIndex(a=>"system"===a.role||"developer"===a.role);if(c.messages=[...c.messages],a>=0){let d={...c.messages[a]};Array.isArray(d.content)?d.content=[...d.content,{type:"text",text:b}]:d.content=(d.content?d.content+"\n\n":"")+b,c.messages[a]=d}else c.messages=[{role:"system",content:b},...c.messages]}return void 0!==c.system&&("string"==typeof c.system?c.system=c.system?c.system+"\n\n"+b:b:Array.isArray(c.system)&&(c.system=[...c.system,{type:"text",text:b}])),c}},67381:(a,b,c)=>{c.d(b,{w:()=>d});function d(a){return(async()=>{try{let{insertCompressionAnalyticsRow:b}=await c.e(2572).then(c.bind(c,2572));b({timestamp:new Date().toISOString(),combo_id:a.comboName??null,provider:a.provider??null,mode:"output-caveman",engine:"caveman-output",compression_combo_id:a.compressionComboId??null,original_tokens:a.estimatedTokens,compressed_tokens:a.estimatedTokens,tokens_saved:0,request_id:a.skillRequestId,output_mode:a.cavemanOutputModeIntensity})}catch(b){a.log?.debug?.("COMPRESSION","Caveman output analytics write skipped: "+(b instanceof Error?b.message:String(b)))}})()}},68061:(a,b,c)=>{c.d(b,{VQ:()=>g,pz:()=>h,sS:()=>i});var d=c(14170),e=c(56033),f=c(30261);function g(a){var b=a?.maxConcurrent;if("number"==typeof b&&Number.isFinite(b))return b;if("string"==typeof b&&b.trim().length>0){let a=Number(b);return Number.isFinite(a)?a:null}return null}function h({provider:a,model:b,connectionId:c,credentials:d}){let f=function(a,b){if("string"==typeof a&&a.trim().length>0)return a;for(let a of[b?.connectionId,b?.id,b?.email,b?.name,b?.displayName])if("string"==typeof a&&a.trim().length>0)return a.trim();return null}(c,d);return f&&a?(0,e.fy)({provider:a,accountKey:f}):null}function i(a,b,c,e){if(a!==d.h.CLAUDE||!b||"object"!=typeof b)return null;let g=(a,b={})=>({type:a&&"string"==typeof a.type&&a.type.trim()?a.type.trim():"ephemeral",ttl:a&&"string"==typeof a.ttl&&a.ttl.trim()?a.ttl.trim():null,...b}),h=Array.isArray(b.system)?b.system.flatMap((a,b)=>{if(!a||"object"!=typeof a||("string"==typeof a.text&&a.text.trim().length>0?a.text.trim():"").startsWith("x-anthropic-billing-header:"))return[];let c=a.cache_control&&"object"==typeof a.cache_control?a.cache_control:null;return c?[g(c,{index:b})]:[]}):[],i=Array.isArray(b.tools)?b.tools.flatMap((a,b)=>{if(!a||"object"!=typeof a)return[];let c=a.cache_control&&"object"==typeof a.cache_control?a.cache_control:null,d="string"==typeof a.name&&a.name.trim()?a.name.trim():null;return c?[g(c,{index:b,name:d})]:[]}):[],j=Array.isArray(b.messages)?b.messages.flatMap((a,b)=>{if(!a||"object"!=typeof a||!Array.isArray(a.content))return[];let c="string"==typeof a.role&&a.role.trim()?a.role.trim():"unknown";return a.content.flatMap((a,d)=>{if(!a||"object"!=typeof a)return[];let e=a.cache_control&&"object"==typeof a.cache_control?a.cache_control:null;return e?[g(e,{messageIndex:b,contentIndex:d,role:c,blockType:"string"==typeof a.type&&a.type.trim()?a.type.trim():"unknown"})]:[]})}):[],k=h.length+i.length+j.length,l=(0,f.oF)(c,"Anthropic-Beta");return(l||(l=(0,f.oF)(e,"Anthropic-Beta")),0!==k||l)?{applied:k>0,totalBreakpoints:k,anthropicBeta:l,systemBreakpoints:h,toolBreakpoints:i,messageBreakpoints:j}:null}},68118:(a,b,c)=>{c.d(b,{Pu:()=>f,kR:()=>g});let d=0,e=0;async function f(a,b,c=fetch,g=Date.now){if(e>g())return;let h=process.env.LIVE_WS_PORT||"20129",i=new AbortController,j=setTimeout(()=>i.abort(),1500);try{await c(`http://127.0.0.1:${h}/__omniroute_event`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({event:a,payload:b,timestamp:g()}),signal:i.signal}),d=0,e=0}catch{(d+=1)>=3&&(e=g()+6e4,d=0)}finally{clearTimeout(j)}}async function g({provider:a,connectionId:b,providerSpecificData:c,log:d}){}},69137:(a,b,c)=>{c.d(b,{J:()=>d});let d=async()=>void 0},70274:(a,b,c)=>{c.d(b,{l:()=>o});var d=c(59657);let e="comment",f="anthropic-ping",g="openai-chunk",h="openai-responses-in-progress",i=new TextEncoder;var j=c(49125),k=c(68404),l=c(7803),m=c(61408);let n={wantsProgress:function(a){return!!a&&"true"===("function"==typeof a.get?b=>a.get(b):b=>a[b])("x-omniroute-progress")},pipeWithDisconnect:d.Jb,isFeatureFlagEnabled:k.wX,createPiiSseTransform:()=>void 0,createProgressTransform:function({intervalMs:a=2e3,signal:b}={}){let c,d,e=0,f=Date.now(),g=new TextEncoder;return new TransformStream({start(h){d=h,f=Date.now(),c=setInterval(()=>{if(b?.aborted)return void clearInterval(c);let a=`event: progress
25
25
  data: ${JSON.stringify({tokens_generated:e,elapsed_ms:Date.now()-f})}
26
26
 
27
27
  `;try{h.enqueue(g.encode(a))}catch{clearInterval(c)}},a),b?.addEventListener("abort",()=>{clearInterval(c)},{once:!0})},transform(a,b){let c=("string"==typeof a?a:new TextDecoder().decode(a)).split("\n").filter(a=>a.startsWith("data: "));e+=c.length,b.enqueue(a)},flush(){if(clearInterval(c),d)try{let a=`event: progress
@@ -10,7 +10,7 @@ exports.id=914,exports.ids=[914],exports.modules={644:(a,b,c)=>{"use strict";fun
10
10
  VALUES(?, ?, ?, ?, ?, ?)
11
11
  ON CONFLICT(id) DO UPDATE SET
12
12
  isActive=excluded.isActive, testStatus=excluded.testStatus,
13
- data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.isActive,c.testStatus,c.data,c.createdAt,c.updatedAt])}async function l(a={}){let b=await (0,d.c)(),c=[],e=[];void 0!==a.isActive&&(c.push("isActive = ?"),e.push(+!!a.isActive)),a.testStatus&&(c.push("testStatus = ?"),e.push(a.testStatus));let f=`SELECT * FROM proxyPools${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,e).map(j);return g.sort((a,b)=>new Date(b.updatedAt||0)-new Date(a.updatedAt||0)),g}async function m(a){return j((await (0,d.c)()).get("SELECT * FROM proxyPools WHERE id = ?",[a]))}async function n(a){let b=await (0,d.c)(),c=new Date().toISOString(),e={id:a.id||(0,i.A)(),name:a.name,proxyUrl:a.proxyUrl,noProxy:a.noProxy||"",type:a.type||"http",isActive:void 0===a.isActive||a.isActive,strictProxy:!0===a.strictProxy,testStatus:a.testStatus||"unknown",lastTestedAt:a.lastTestedAt||null,lastError:a.lastError||null,createdAt:c,updatedAt:c};return k(b,e),e}async function o(a,b){let c=await (0,d.c)(),e=null;return c.transaction(()=>{let d=c.get("SELECT * FROM proxyPools WHERE id = ?",[a]);if(!d)return;let f={...j(d),...b,updatedAt:new Date().toISOString()};k(c,f),e=f}),e}async function p(a){let b=await (0,d.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM proxyPools WHERE id = ?",[a]);d&&(c=j(d),b.run("DELETE FROM proxyPools WHERE id = ?",[a]))}),c}var q=c(74452);function r(a){return a?{id:a.id,name:a.name,kind:a.kind,models:(0,e.q)(a.models,[]),sortOrder:a.sortOrder??0,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}async function s(){return(await (0,d.c)()).all("SELECT * FROM combos ORDER BY sortOrder ASC, createdAt ASC").map(r)}async function t(a){return r((await (0,d.c)()).get("SELECT * FROM combos WHERE id = ?",[a]))}async function u(a){return r((await (0,d.c)()).get("SELECT * FROM combos WHERE name = ?",[a]))}async function v(a){let b=await (0,d.c)(),c=new Date().toISOString(),f=b.get("SELECT MAX(sortOrder) as maxOrder FROM combos"),g=(f?.maxOrder??-1)+1,h={id:(0,i.A)(),name:a.name,kind:a.kind||null,models:a.models||[],sortOrder:g,createdAt:c,updatedAt:c};return b.run("INSERT INTO combos(id, name, kind, models, sortOrder, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?)",[h.id,h.name,h.kind,(0,e.s)(h.models),h.sortOrder,h.createdAt,h.updatedAt]),h}async function w(a,b){let c=await (0,d.c)(),f=null;return c.transaction(()=>{let d=c.get("SELECT * FROM combos WHERE id = ?",[a]);if(!d)return;let g={...r(d),...b,updatedAt:new Date().toISOString()};c.run("UPDATE combos SET name = ?, kind = ?, models = ?, updatedAt = ? WHERE id = ?",[g.name,g.kind,(0,e.s)(g.models||[]),g.updatedAt,a]),f=g}),f}async function x(a){let b=(await (0,d.c)()).run("DELETE FROM combos WHERE id = ?",[a]);return(b?.changes??0)>0}async function y(a){if(!Array.isArray(a))return;let b=await (0,d.c)();b.transaction(()=>{a.forEach((a,c)=>{b.run("UPDATE combos SET sortOrder = ? WHERE id = ?",[c,a])})})}var z=c(9460),A=c(97914);let B="keyPoolSettings",C=new Map;function D(a){let b=(0,e.q)(a.data,{});return{id:a.id,provider:a.provider,name:a.name,key:a.key,providerSpecificData:b.providerSpecificData||null,createdAt:a.createdAt}}async function E(a,b){let c=await (0,d.c)(),f=new Date().toISOString(),g=0,h=0;return c.transaction(()=>{let d=new Set(c.all("SELECT key FROM keyPool WHERE provider = ?",[a]).map(a=>a.key));for(let j of b){if(!j.key||d.has(j.key)){h++;continue}c.run("INSERT OR IGNORE INTO keyPool(id, provider, name, key, data, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[(0,i.A)(),a,j.name||null,j.key,(0,e.s)({providerSpecificData:j.providerSpecificData||null}),f]),d.add(j.key),g++}}),{added:g,skipped:h}}async function F(a,b=50,c=0){return(await (0,d.c)()).all("SELECT id, provider, name, key, data, createdAt FROM keyPool WHERE provider = ? ORDER BY createdAt ASC LIMIT ? OFFSET ?",[a,b,c]).map(D)}async function G(a){let b=(await (0,d.c)()).get("SELECT COUNT(*) as count FROM keyPool WHERE provider = ?",[a]);return b?.count??0}async function H(a){(await (0,d.c)()).run("DELETE FROM keyPool WHERE id = ?",[a])}async function I(a,b,c=[]){let f=await (0,d.c)(),g=new Set(c),h=[];return f.transaction(()=>{for(let c of f.all("SELECT id, name, key, data FROM keyPool WHERE provider = ? ORDER BY createdAt ASC LIMIT ?",[a,Math.max(3*b,b+50)])){if(h.length>=b)break;if(g.has(c.key))continue;let a=(0,e.q)(c.data,{});h.push({id:c.id,name:c.name,key:c.key,providerSpecificData:a.providerSpecificData||null}),g.add(c.key)}if(h.length>0){let a=h.map(a=>a.id),b=a.map(()=>"?").join(",");f.run(`DELETE FROM keyPool WHERE id IN (${b})`,a)}}),h}async function J(a){let b=C.get(a);if(b&&Date.now()<b.expiresAt)return b.value;let c=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[B,a]),e=c?.value??null;return C.set(a,{value:e,expiresAt:Date.now()+6e4}),e}async function K(a,b){C.delete(a),(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[B,a,String(b)])}async function L(a){let b=await J(`poolSize_${a}`);return null!==b?parseInt(b,10):30}async function M(a,b){await K(`poolSize_${a}`,b)}async function N(a){return"false"!==await J(`autoReplace_${a}`)}async function O(a,b){await K(`autoReplace_${a}`,b?"true":"false")}let P="modelOrder";async function Q(a){let b=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[P,a]);return b?(0,e.q)(b.value,null):null}async function R(a,b){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[P,a,(0,e.s)(b)])}let S="disabledModels";async function T(){let a=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[S]),b={};for(let c of a)b[c.key]=(0,e.q)(c.value,[]);return b}async function U(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.c)();c.transaction(()=>{let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[S,a]),f=[...new Set([...d&&(0,e.q)(d.value,[])||[],...b])];c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[S,a,(0,e.s)(f)])})}async function V(a,b){if(!a)return;let c=await (0,d.c)();c.transaction(()=>{if(!Array.isArray(b)||0===b.length)return void c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[S,a]);let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[S,a]),f=d&&(0,e.q)(d.value,[])||[],g=new Set(b),h=f.filter(a=>!g.has(a));0===h.length?c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[S,a]):c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[S,a,(0,e.s)(h)])})}var W=c(94735);function X(a){return a&&"string"==typeof a?a.length<=8?a.charAt(0)+"***":a.slice(0,8)+"***":null}c(62674);global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new W.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null});let Y=global._pendingRequests,Z=global._lastErrorProvider,$=global._pendingTimers,_=global._recentRing,aa=global._connectionMapCache,ab=global._statsEmitTimers,ac=global._statsEmitter;function ad(a,b=150){let c="update"===a?"update":"pending";ab[c]||(ab[c]=setTimeout(()=>{ab[c]=null,ac.emit(a)},b),ab[c]?.unref?.())}function ae(a,b,c){a[b]||(a[b]={requests:0,promptTokens:0,completionTokens:0,cost:0}),a[b].requests+=c.requests||1,a[b].promptTokens+=c.promptTokens||0,a[b].completionTokens+=c.completionTokens||0,a[b].cost+=c.cost||0,c.meta&&Object.assign(a[b],c.meta)}async function af(){if(Date.now()-aa.ts<3e4)return aa.map;try{let{getProviderConnections:a}=await Promise.resolve().then(c.bind(c,5781)),b=await a(),d={};for(let a of b)d[a.id]=a.name||a.email||a.id;aa.map=d,aa.ts=Date.now()}catch{}return aa.map}async function ag(){if(!_.initialized){_.initialized=!0;try{_.items=(await (0,d.c)()).all("SELECT timestamp, provider, model, connectionId, apiKey, endpoint, cost, status, tokens FROM usageHistory ORDER BY id DESC LIMIT ?",[50]).reverse().map(a=>({timestamp:a.timestamp,provider:a.provider,model:a.model,connectionId:a.connectionId,apiKey:a.apiKey,endpoint:a.endpoint,cost:a.cost,status:a.status,tokens:(0,e.q)(a.tokens,{})}))}catch{}}}async function ah(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.resolve().then(c.bind(c,97914)),f=await e(a,b);if(!f)return 0;let g=0,h=d.prompt_tokens||d.input_tokens||0,i=d.cached_tokens||d.cache_read_input_tokens||0,j=Math.max(0,h-i);if(g+=j*(f.input/1e6),i>0){let a=f.cached||f.input;g+=a/1e6*i}let k=d.completion_tokens||d.output_tokens||0;g+=k*(f.output/1e6);let l=d.reasoning_tokens||0;if(l>0){let a=f.reasoning||f.output;g+=a/1e6*l}let m=d.cache_creation_input_tokens||0;if(m>0){let a=f.cache_creation||f.input;g+=a/1e6*m}return g}catch(a){return console.error("Error calculating cost:",a),0}}function ai(a,b,c,d,e=!1){let f=b?`${a} (${b})`:a,g=`${c}|${f}`;Y.byModel[f]||(Y.byModel[f]=0),Y.byModel[f]=Math.max(0,Y.byModel[f]+(d?1:-1)),0===Y.byModel[f]&&delete Y.byModel[f],c&&(Y.byAccount[c]||(Y.byAccount[c]={}),Y.byAccount[c][f]||(Y.byAccount[c][f]=0),Y.byAccount[c][f]=Math.max(0,Y.byAccount[c][f]+(d?1:-1)),0===Y.byAccount[c][f]&&(delete Y.byAccount[c][f],0===Object.keys(Y.byAccount[c]).length&&delete Y.byAccount[c])),d?(clearTimeout($[g]),$[g]=setTimeout(()=>{delete $[g],Y.byModel[f]>0&&(Y.byModel[f]=0),c&&Y.byAccount[c]?.[f]>0&&(Y.byAccount[c][f]=0),ad("pending")},6e4)):(clearTimeout($[g]),delete $[g]),!d&&e&&b&&(Z.provider=b.toLowerCase(),Z.ts=Date.now());let h=new Date(Date.now()+252e5),i=`${String(h.getUTCHours()).padStart(2,"0")}:${String(h.getUTCMinutes()).padStart(2,"0")}:${String(h.getUTCSeconds()).padStart(2,"0")}`;console.log(`[${i}] [PENDING] ${d?"START":"END"}${e?" (ERROR)":""} | provider=${b} | model=${a}`),ad("pending")}async function aj(){let a=[],b=await af();for(let[c,d]of Object.entries(Y.byAccount))for(let[e,f]of Object.entries(d))if(f>0){let d=b[c]||`Account ${c.slice(0,8)}...`,g=e.match(/^(.*) \((.*)\)$/);a.push({model:g?g[1]:e,provider:g?g[2]:"unknown",account:d,count:f})}await ag();let c=new Set;return{activeRequests:a,recentRequests:[..._.items].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{};return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:b.prompt_tokens||b.input_tokens||0,completionTokens:b.completion_tokens||b.output_tokens||0,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",d=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!c.has(d)&&(c.add(d),!0)}).slice(0,20),errorProvider:Date.now()-Z.ts<1e4?Z.provider:""}}async function ak(a){try{console.log("[USAGE-DEBUG] saveRequestUsage called",{provider:a.provider,model:a.model,tokens:a.tokens?Object.keys(a.tokens):null,status:a.status});let b=await (0,d.c)();a.timestamp||(a.timestamp=new Date().toISOString()),a.cost=await ah(a.provider,a.model,a.tokens);let c=a.tokens||{},f=c.prompt_tokens||c.input_tokens||0,g=c.completion_tokens||c.output_tokens||0,h=!1;if(b.transaction(()=>{var d;let i,j,k,l,m,n,o,p,q,r,s=b.get(`SELECT id, endpoint FROM usageHistory
13
+ data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.isActive,c.testStatus,c.data,c.createdAt,c.updatedAt])}async function l(a={}){let b=await (0,d.c)(),c=[],e=[];void 0!==a.isActive&&(c.push("isActive = ?"),e.push(+!!a.isActive)),a.testStatus&&(c.push("testStatus = ?"),e.push(a.testStatus));let f=`SELECT * FROM proxyPools${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,e).map(j);return g.sort((a,b)=>new Date(b.updatedAt||0)-new Date(a.updatedAt||0)),g}async function m(a){return j((await (0,d.c)()).get("SELECT * FROM proxyPools WHERE id = ?",[a]))}async function n(a){let b=await (0,d.c)(),c=new Date().toISOString(),e={id:a.id||(0,i.A)(),name:a.name,proxyUrl:a.proxyUrl,noProxy:a.noProxy||"",type:a.type||"http",isActive:void 0===a.isActive||a.isActive,strictProxy:!0===a.strictProxy,testStatus:a.testStatus||"unknown",lastTestedAt:a.lastTestedAt||null,lastError:a.lastError||null,createdAt:c,updatedAt:c};return k(b,e),e}async function o(a,b){let c=await (0,d.c)(),e=null;return c.transaction(()=>{let d=c.get("SELECT * FROM proxyPools WHERE id = ?",[a]);if(!d)return;let f={...j(d),...b,updatedAt:new Date().toISOString()};k(c,f),e=f}),e}async function p(a){let b=await (0,d.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM proxyPools WHERE id = ?",[a]);d&&(c=j(d),b.run("DELETE FROM proxyPools WHERE id = ?",[a]))}),c}var q=c(74452);function r(a){return a?{id:a.id,name:a.name,kind:a.kind,models:(0,e.q)(a.models,[]),sortOrder:a.sortOrder??0,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}async function s(){return(await (0,d.c)()).all("SELECT * FROM combos ORDER BY sortOrder ASC, createdAt ASC").map(r)}async function t(a){return r((await (0,d.c)()).get("SELECT * FROM combos WHERE id = ?",[a]))}async function u(a){return r((await (0,d.c)()).get("SELECT * FROM combos WHERE name = ?",[a]))}async function v(a){let b=await (0,d.c)(),c=new Date().toISOString(),f=b.get("SELECT MAX(sortOrder) as maxOrder FROM combos"),g=(f?.maxOrder??-1)+1,h={id:(0,i.A)(),name:a.name,kind:a.kind||null,models:a.models||[],sortOrder:g,createdAt:c,updatedAt:c};return b.run("INSERT INTO combos(id, name, kind, models, sortOrder, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?)",[h.id,h.name,h.kind,(0,e.s)(h.models),h.sortOrder,h.createdAt,h.updatedAt]),h}async function w(a,b){let c=await (0,d.c)(),f=null;return c.transaction(()=>{let d=c.get("SELECT * FROM combos WHERE id = ?",[a]);if(!d)return;let g={...r(d),...b,updatedAt:new Date().toISOString()};c.run("UPDATE combos SET name = ?, kind = ?, models = ?, updatedAt = ? WHERE id = ?",[g.name,g.kind,(0,e.s)(g.models||[]),g.updatedAt,a]),f=g}),f}async function x(a){let b=(await (0,d.c)()).run("DELETE FROM combos WHERE id = ?",[a]);return(b?.changes??0)>0}async function y(a){if(!Array.isArray(a))return;let b=await (0,d.c)();b.transaction(()=>{a.forEach((a,c)=>{b.run("UPDATE combos SET sortOrder = ? WHERE id = ?",[c,a])})})}var z=c(9460),A=c(97914);let B="keyPoolSettings",C=new Map;function D(a){let b=(0,e.q)(a.data,{});return{id:a.id,provider:a.provider,name:a.name,key:a.key,providerSpecificData:b.providerSpecificData||null,createdAt:a.createdAt}}async function E(a,b){let c=await (0,d.c)(),f=new Date().toISOString(),g=0,h=0;return c.transaction(()=>{let d=new Set(c.all("SELECT key FROM keyPool WHERE provider = ?",[a]).map(a=>a.key));for(let j of b){if(!j.key||d.has(j.key)){h++;continue}c.run("INSERT OR IGNORE INTO keyPool(id, provider, name, key, data, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[(0,i.A)(),a,j.name||null,j.key,(0,e.s)({providerSpecificData:j.providerSpecificData||null}),f]),d.add(j.key),g++}}),{added:g,skipped:h}}async function F(a,b=50,c=0){return(await (0,d.c)()).all("SELECT id, provider, name, key, data, createdAt FROM keyPool WHERE provider = ? ORDER BY createdAt ASC LIMIT ? OFFSET ?",[a,b,c]).map(D)}async function G(a){let b=(await (0,d.c)()).get("SELECT COUNT(*) as count FROM keyPool WHERE provider = ?",[a]);return b?.count??0}async function H(a){(await (0,d.c)()).run("DELETE FROM keyPool WHERE id = ?",[a])}async function I(a,b,c=[]){let f=await (0,d.c)(),g=new Set(c),h=[];return f.transaction(()=>{for(let c of f.all("SELECT id, name, key, data FROM keyPool WHERE provider = ? ORDER BY createdAt ASC LIMIT ?",[a,Math.max(3*b,b+50)])){if(h.length>=b)break;if(g.has(c.key))continue;let a=(0,e.q)(c.data,{});h.push({id:c.id,name:c.name,key:c.key,providerSpecificData:a.providerSpecificData||null}),g.add(c.key)}if(h.length>0){let a=h.map(a=>a.id),b=a.map(()=>"?").join(",");f.run(`DELETE FROM keyPool WHERE id IN (${b})`,a)}}),h}async function J(a){let b=C.get(a);if(b&&Date.now()<b.expiresAt)return b.value;let c=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[B,a]),e=c?.value??null;return C.set(a,{value:e,expiresAt:Date.now()+6e4}),e}async function K(a,b){C.delete(a),(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[B,a,String(b)])}async function L(a){let b=await J(`poolSize_${a}`);return null!==b?parseInt(b,10):30}async function M(a,b){await K(`poolSize_${a}`,b)}async function N(a){return"false"!==await J(`autoReplace_${a}`)}async function O(a,b){await K(`autoReplace_${a}`,b?"true":"false")}let P="modelOrder";async function Q(a){let b=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[P,a]);return b?(0,e.q)(b.value,null):null}async function R(a,b){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[P,a,(0,e.s)(b)])}let S="disabledModels";async function T(){let a=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[S]),b={};for(let c of a)b[c.key]=(0,e.q)(c.value,[]);return b}async function U(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.c)();c.transaction(()=>{let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[S,a]),f=[...new Set([...d&&(0,e.q)(d.value,[])||[],...b])];c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[S,a,(0,e.s)(f)])})}async function V(a,b){if(!a)return;let c=await (0,d.c)();c.transaction(()=>{if(!Array.isArray(b)||0===b.length)return void c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[S,a]);let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[S,a]),f=d&&(0,e.q)(d.value,[])||[],g=new Set(b),h=f.filter(a=>!g.has(a));0===h.length?c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[S,a]):c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[S,a,(0,e.s)(h)])})}var W=c(94735);function X(a){return a&&"string"==typeof a?a.length<=8?a.charAt(0)+"***":a.slice(0,8)+"***":null}c(62674);global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new W.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null});let Y=global._pendingRequests,Z=global._lastErrorProvider,$=global._pendingTimers,_=global._recentRing,aa=global._connectionMapCache,ab=global._statsEmitTimers,ac=global._statsEmitter;function ad(a,b=150){let c="update"===a?"update":"pending";ab[c]||(ab[c]=setTimeout(()=>{ab[c]=null,ac.emit(a)},b),ab[c]?.unref?.())}function ae(a,b,c){a[b]||(a[b]={requests:0,promptTokens:0,completionTokens:0,cost:0}),a[b].requests+=c.requests||1,a[b].promptTokens+=c.promptTokens||0,a[b].completionTokens+=c.completionTokens||0,a[b].cost+=c.cost||0,c.meta&&Object.assign(a[b],c.meta)}async function af(){if(Date.now()-aa.ts<3e4)return aa.map;try{let{getProviderConnections:a}=await Promise.resolve().then(c.bind(c,5781)),b=await a(),d={};for(let a of b)d[a.id]=a.name||a.email||a.id;aa.map=d,aa.ts=Date.now()}catch{}return aa.map}async function ag(){if(!_.initialized){_.initialized=!0;try{_.items=(await (0,d.c)()).all("SELECT timestamp, provider, model, connectionId, apiKey, endpoint, cost, status, tokens FROM usageHistory ORDER BY id DESC LIMIT ?",[50]).reverse().map(a=>({timestamp:a.timestamp,provider:a.provider,model:a.model,connectionId:a.connectionId,apiKey:a.apiKey,endpoint:a.endpoint,cost:a.cost,status:a.status,tokens:(0,e.q)(a.tokens,{})}))}catch{}}}async function ah(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.resolve().then(c.bind(c,97914)),f=await e(a,b);if(!f)return 0;let g=0,h=d.prompt_tokens||d.input_tokens||0,i=d.cached_tokens||d.cache_read_input_tokens||0,j=Math.max(0,h-i);if(g+=j*(f.input/1e6),i>0){let a=f.cached||f.input;g+=a/1e6*i}let k=d.completion_tokens||d.output_tokens||0;g+=k*(f.output/1e6);let l=d.reasoning_tokens||0;if(l>0){let a=f.reasoning||f.output;g+=a/1e6*l}let m=d.cache_creation_input_tokens||0;if(m>0){let a=f.cache_creation||f.input;g+=a/1e6*m}return g}catch(a){return console.error("Error calculating cost:",a),0}}function ai(a,b,c,d,e=!1){let f=b?`${a} (${b})`:a,g=`${c}|${f}`;Y.byModel[f]||(Y.byModel[f]=0),Y.byModel[f]=Math.max(0,Y.byModel[f]+(d?1:-1)),0===Y.byModel[f]&&delete Y.byModel[f],c&&(Y.byAccount[c]||(Y.byAccount[c]={}),Y.byAccount[c][f]||(Y.byAccount[c][f]=0),Y.byAccount[c][f]=Math.max(0,Y.byAccount[c][f]+(d?1:-1)),0===Y.byAccount[c][f]&&(delete Y.byAccount[c][f],0===Object.keys(Y.byAccount[c]).length&&delete Y.byAccount[c])),d?(clearTimeout($[g]),$[g]=setTimeout(()=>{delete $[g],Y.byModel[f]>0&&(Y.byModel[f]=0),c&&Y.byAccount[c]?.[f]>0&&(Y.byAccount[c][f]=0),ad("pending")},6e4)):(clearTimeout($[g]),delete $[g]),!d&&e&&b&&(Z.provider=b.toLowerCase(),Z.ts=Date.now()),ad("pending")}async function aj(){let a=[],b=await af();for(let[c,d]of Object.entries(Y.byAccount))for(let[e,f]of Object.entries(d))if(f>0){let d=b[c]||`Account ${c.slice(0,8)}...`,g=e.match(/^(.*) \((.*)\)$/);a.push({model:g?g[1]:e,provider:g?g[2]:"unknown",account:d,count:f})}await ag();let c=new Set;return{activeRequests:a,recentRequests:[..._.items].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{};return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:b.prompt_tokens||b.input_tokens||0,completionTokens:b.completion_tokens||b.output_tokens||0,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",d=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!c.has(d)&&(c.add(d),!0)}).slice(0,20),errorProvider:Date.now()-Z.ts<1e4?Z.provider:""}}async function ak(a){try{let b=await (0,d.c)();a.timestamp||(a.timestamp=new Date().toISOString()),a.cost=await ah(a.provider,a.model,a.tokens);let c=a.tokens||{},f=c.prompt_tokens||c.input_tokens||0,g=c.completion_tokens||c.output_tokens||0,h=!1;(b.transaction(()=>{var d;let i,j,k,l,m,n,o,p,q,r,s=b.get(`SELECT id, endpoint FROM usageHistory
14
14
  WHERE timestamp = ?
15
15
  AND COALESCE(provider, '') = COALESCE(?, '')
16
16
  AND COALESCE(model, '') = COALESCE(?, '')
@@ -18,4 +18,4 @@ exports.id=914,exports.ids=[914],exports.modules={644:(a,b,c)=>{"use strict";fun
18
18
  AND COALESCE(apiKey, '') = COALESCE(?, '')
19
19
  AND promptTokens = ?
20
20
  AND completionTokens = ?
21
- ORDER BY id DESC LIMIT 1`,[a.timestamp,a.provider||null,a.model||null,a.connectionId||null,a.apiKey||null,f,g]);if(s){!s.endpoint&&a.endpoint&&b.run("UPDATE usageHistory SET endpoint = ? WHERE id = ?",[a.endpoint,s.id]);return}b.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a.timestamp,a.provider||null,a.model||null,a.connectionId||null,a.apiKey||null,a.endpoint||null,f,g,a.cost||0,a.status||"ok",(0,e.s)(c),(0,e.s)({})]);let t=(i=(d=a.timestamp)?new Date(d):new Date,`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,"0")}-${String(i.getDate()).padStart(2,"0")}`),u=b.get("SELECT data FROM usageDaily WHERE dateKey = ?",[t]),v=u?(0,e.q)(u.data,{}):{requests:0,promptTokens:0,completionTokens:0,cost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},byEndpoint:{}};j=a.tokens?.prompt_tokens||a.tokens?.input_tokens||0,k=a.tokens?.completion_tokens||a.tokens?.output_tokens||0,l=a.cost||0,m={promptTokens:j,completionTokens:k,cost:l},v.requests=(v.requests||0)+1,v.promptTokens=(v.promptTokens||0)+j,v.completionTokens=(v.completionTokens||0)+k,v.cost=(v.cost||0)+l,v.byProvider||={},v.byModel||={},v.byAccount||={},v.byApiKey||={},v.byEndpoint||={},a.provider&&ae(v.byProvider,a.provider,m),n=a.provider?`${a.model}|${a.provider}`:a.model,ae(v.byModel,n,{...m,meta:{rawModel:a.model,provider:a.provider}}),a.connectionId&&ae(v.byAccount,a.connectionId,{...m,meta:{rawModel:a.model,provider:a.provider}}),o=a.apiKey&&"string"==typeof a.apiKey?a.apiKey:"local-no-key",p=`${o}|${a.model}|${a.provider||"unknown"}`,ae(v.byApiKey,p,{...m,meta:{rawModel:a.model,provider:a.provider,apiKey:a.apiKey||null}}),q=a.endpoint||"Unknown",r=`${q}|${a.model}|${a.provider||"unknown"}`,ae(v.byEndpoint,r,{...m,meta:{endpoint:q,rawModel:a.model,provider:a.provider}}),b.run("INSERT INTO usageDaily(dateKey, data) VALUES(?, ?) ON CONFLICT(dateKey) DO UPDATE SET data = excluded.data",[t,(0,e.s)(v)]);let w=b.get("SELECT value FROM _meta WHERE key = 'totalRequestsLifetime'"),x=(w?parseInt(w.value,10):0)+1;b.run("INSERT INTO _meta(key, value) VALUES('totalRequestsLifetime', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[String(x)]),h=!0}),h)console.log("[USAGE-DEBUG] saveRequestUsage: inserted successfully",{provider:a.provider,model:a.model}),_.items.push(a),_.items.length>50&&(_.items=_.items.slice(-50)),ad("update",250);else console.log("[USAGE-DEBUG] saveRequestUsage: skipped (dedup or not inserted)",{provider:a.provider,model:a.model})}catch(a){console.error("[USAGE-DEBUG] saveRequestUsage FAILED:",a.message,a.stack),console.error("Failed to save usage stats:",a)}}function al(a,b){if(null==b)return a.all("SELECT dateKey, data FROM usageDaily");let c=new Date,d=new Date(c.getFullYear(),c.getMonth(),c.getDate()-b+1),e=`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,"0")}-${String(d.getDate()).padStart(2,"0")}`;return a.all("SELECT dateKey, data FROM usageDaily WHERE dateKey >= ?",[e])}async function am(a="all"){let b=await (0,d.c)(),[{getProviderConnections:f},{getApiKeys:g},{getProviderNodes:h}]=await Promise.all([Promise.resolve().then(c.bind(c,5781)),Promise.resolve().then(c.bind(c,74452)),Promise.resolve().then(c.bind(c,1129))]),i=[];try{i=await f()}catch{}let j={};for(let a of i)j[a.id]=a.name||a.email||a.id;let k={};try{for(let a of(await h()))a.id&&a.name&&(k[a.id]=a.name)}catch{}let l=[];try{l=await g()}catch{}let m={};for(let a of l)m[a.key]={name:a.name,id:a.id,createdAt:a.createdAt};let n=b.all("SELECT timestamp, provider, model, tokens, status FROM usageHistory ORDER BY id DESC LIMIT 100"),o=new Set,p={totalRequests:0,totalPromptTokens:0,totalCompletionTokens:0,totalCost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},byEndpoint:{},last10Minutes:[],pending:Y,activeRequests:[],recentRequests:n.map(a=>{let b=(0,e.q)(a.tokens,{})||{};return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:b.prompt_tokens||b.input_tokens||0,completionTokens:b.completion_tokens||b.output_tokens||0,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!o.has(c)&&(o.add(c),!0)}).slice(0,20),errorProvider:Date.now()-Z.ts<1e4?Z.provider:""};for(let[a,b]of Object.entries(Y.byAccount))for(let[c,d]of Object.entries(b))if(d>0){let b=j[a]||`Account ${a.slice(0,8)}...`,e=c.match(/^(.*) \((.*)\)$/);p.activeRequests.push({model:e?e[1]:c,provider:e?e[2]:"unknown",account:b,count:d})}let q=new Date,r=new Date(6e4*Math.floor(q.getTime()/6e4)),s=new Date(r.getTime()-54e4),t={};for(let a=0;a<10;a++){let b=r.getTime()-(9-a)*6e4;t[b]={requests:0,promptTokens:0,completionTokens:0,cost:0},p.last10Minutes.push(t[b])}for(let a of b.all("SELECT timestamp, promptTokens, completionTokens, cost FROM usageHistory WHERE timestamp >= ? AND timestamp <= ?",[s.toISOString(),q.toISOString()])){let b=6e4*Math.floor(new Date(a.timestamp).getTime()/6e4);t[b]&&(t[b].requests++,t[b].promptTokens+=a.promptTokens||0,t[b].completionTokens+=a.completionTokens||0,t[b].cost+=a.cost||0)}if("24h"!==a&&"today"!==a){let c={"7d":7,"30d":30,"60d":60}[a]||null;for(let a of al(b,c)){let b=a.dateKey,c=(0,e.q)(a.data,{});for(let[a,b]of(p.totalPromptTokens+=c.promptTokens||0,p.totalCompletionTokens+=c.completionTokens||0,p.totalCost+=c.cost||0,Object.entries(c.byProvider||{})))p.byProvider[a]||(p.byProvider[a]={requests:0,promptTokens:0,completionTokens:0,cost:0}),p.byProvider[a].requests+=b.requests||0,p.byProvider[a].promptTokens+=b.promptTokens||0,p.byProvider[a].completionTokens+=b.completionTokens||0,p.byProvider[a].cost+=b.cost||0;for(let[a,d]of Object.entries(c.byModel||{})){let c=d.rawModel||a.split("|")[0],e=d.provider||a.split("|")[1]||"",f=e?`${c} (${e})`:c,g=k[e]||e;p.byModel[f]||(p.byModel[f]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:c,provider:g,lastUsed:b}),p.byModel[f].requests+=d.requests||0,p.byModel[f].promptTokens+=d.promptTokens||0,p.byModel[f].completionTokens+=d.completionTokens||0,p.byModel[f].cost+=d.cost||0,b>(p.byModel[f].lastUsed||"")&&(p.byModel[f].lastUsed=b)}for(let[a,d]of Object.entries(c.byAccount||{})){let c=j[a]||`Account ${a.slice(0,8)}...`,e=d.rawModel||"",f=d.provider||"",g=k[f]||f,h=`${e} (${f} - ${c})`;p.byAccount[h]||(p.byAccount[h]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:e,provider:g,connectionId:a,accountName:c,lastUsed:b}),p.byAccount[h].requests+=d.requests||0,p.byAccount[h].promptTokens+=d.promptTokens||0,p.byAccount[h].completionTokens+=d.completionTokens||0,p.byAccount[h].cost+=d.cost||0,b>(p.byAccount[h].lastUsed||"")&&(p.byAccount[h].lastUsed=b)}for(let[a,d]of Object.entries(c.byApiKey||{})){let c=d.rawModel||"",e=d.provider||"",f=k[e]||e,g=d.apiKey,h=g?m[g]:null,i=h?.name||(g?g.slice(0,8)+"...":"Local (No API Key)"),j=X(g),l=j||"local-no-key";p.byApiKey[a]||(p.byApiKey[a]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:c,provider:f,apiKeyMasked:j,keyName:i,apiKeyKey:l,lastUsed:b}),p.byApiKey[a].requests+=d.requests||0,p.byApiKey[a].promptTokens+=d.promptTokens||0,p.byApiKey[a].completionTokens+=d.completionTokens||0,p.byApiKey[a].cost+=d.cost||0,b>(p.byApiKey[a].lastUsed||"")&&(p.byApiKey[a].lastUsed=b)}for(let[a,d]of Object.entries(c.byEndpoint||{})){let c=d.endpoint||a.split("|")[0]||"Unknown",e=d.rawModel||"",f=d.provider||"",g=k[f]||f;p.byEndpoint[a]||(p.byEndpoint[a]={requests:0,promptTokens:0,completionTokens:0,cost:0,endpoint:c,rawModel:e,provider:g,lastUsed:b}),p.byEndpoint[a].requests+=d.requests||0,p.byEndpoint[a].promptTokens+=d.promptTokens||0,p.byEndpoint[a].completionTokens+=d.completionTokens||0,p.byEndpoint[a].cost+=d.cost||0,b>(p.byEndpoint[a].lastUsed||"")&&(p.byEndpoint[a].lastUsed=b)}}let d=c?Date.now()-864e5*c:0;for(let a of b.all("SELECT timestamp, provider, model, connectionId, apiKey, endpoint FROM usageHistory WHERE timestamp >= ?",[new Date(d).toISOString()])){let b=a.timestamp,c=a.provider?`${a.model} (${a.provider})`:a.model;if(p.byModel[c]&&new Date(b)>new Date(p.byModel[c].lastUsed)&&(p.byModel[c].lastUsed=b),a.connectionId){let c=j[a.connectionId]||`Account ${a.connectionId.slice(0,8)}...`,d=`${a.model} (${a.provider} - ${c})`;p.byAccount[d]&&new Date(b)>new Date(p.byAccount[d].lastUsed)&&(p.byAccount[d].lastUsed=b)}let d=a.apiKey&&"string"==typeof a.apiKey?`${a.apiKey}|${a.model}|${a.provider||"unknown"}`:"local-no-key";p.byApiKey[d]&&new Date(b)>new Date(p.byApiKey[d].lastUsed)&&(p.byApiKey[d].lastUsed=b);let e=a.endpoint||"Unknown",f=`${e}|${a.model}|${a.provider||"unknown"}`;p.byEndpoint[f]&&new Date(b)>new Date(p.byEndpoint[f].lastUsed)&&(p.byEndpoint[f].lastUsed=b)}}else{let c;if("today"===a){let a=new Date;a.setHours(0,0,0,0),c=a.toISOString()}else c=new Date(Date.now()-864e5).toISOString();for(let a of b.all("SELECT timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, tokens FROM usageHistory WHERE timestamp >= ?",[c])){let b=(0,e.q)(a.tokens,{})||{},c=b.prompt_tokens||0,d=b.completion_tokens||0,f=a.cost||0,g=k[a.provider]||a.provider;p.totalPromptTokens+=c,p.totalCompletionTokens+=d,p.totalCost+=f,p.byProvider[a.provider]||(p.byProvider[a.provider]={requests:0,promptTokens:0,completionTokens:0,cost:0}),p.byProvider[a.provider].requests++,p.byProvider[a.provider].promptTokens+=c,p.byProvider[a.provider].completionTokens+=d,p.byProvider[a.provider].cost+=f;let h=a.provider?`${a.model} (${a.provider})`:a.model;if(p.byModel[h]||(p.byModel[h]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,lastUsed:a.timestamp}),p.byModel[h].requests++,p.byModel[h].promptTokens+=c,p.byModel[h].completionTokens+=d,p.byModel[h].cost+=f,new Date(a.timestamp)>new Date(p.byModel[h].lastUsed)&&(p.byModel[h].lastUsed=a.timestamp),a.connectionId){let b=j[a.connectionId]||`Account ${a.connectionId.slice(0,8)}...`,e=`${a.model} (${a.provider} - ${b})`;p.byAccount[e]||(p.byAccount[e]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,connectionId:a.connectionId,accountName:b,lastUsed:a.timestamp}),p.byAccount[e].requests++,p.byAccount[e].promptTokens+=c,p.byAccount[e].completionTokens+=d,p.byAccount[e].cost+=f,new Date(a.timestamp)>new Date(p.byAccount[e].lastUsed)&&(p.byAccount[e].lastUsed=a.timestamp)}if(a.apiKey&&"string"==typeof a.apiKey){let b=m[a.apiKey],e=b?.name||a.apiKey.slice(0,8)+"...",h=X(a.apiKey),i=`${h}|${a.model}|${a.provider||"unknown"}`;p.byApiKey[i]||(p.byApiKey[i]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,apiKeyMasked:h,keyName:e,apiKeyKey:h,lastUsed:a.timestamp});let j=p.byApiKey[i];j.requests++,j.promptTokens+=c,j.completionTokens+=d,j.cost+=f,new Date(a.timestamp)>new Date(j.lastUsed)&&(j.lastUsed=a.timestamp)}else{p.byApiKey["local-no-key"]||(p.byApiKey["local-no-key"]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,apiKeyMasked:null,keyName:"Local (No API Key)",apiKeyKey:"local-no-key",lastUsed:a.timestamp});let b=p.byApiKey["local-no-key"];b.requests++,b.promptTokens+=c,b.completionTokens+=d,b.cost+=f,new Date(a.timestamp)>new Date(b.lastUsed)&&(b.lastUsed=a.timestamp)}let i=a.endpoint||"Unknown",l=`${i}|${a.model}|${a.provider||"unknown"}`;p.byEndpoint[l]||(p.byEndpoint[l]={requests:0,promptTokens:0,completionTokens:0,cost:0,endpoint:i,rawModel:a.model,provider:g,lastUsed:a.timestamp});let n=p.byEndpoint[l];n.requests++,n.promptTokens+=c,n.completionTokens+=d,n.cost+=f,new Date(a.timestamp)>new Date(n.lastUsed)&&(n.lastUsed=a.timestamp)}}return p.totalRequests=Object.values(p.byProvider).reduce((a,b)=>a+(b.requests||0),0),p}async function an(a="7d"){let b=await (0,d.c)(),c=Date.now();if("today"===a){let a=new Date;a.setHours(0,0,0,0);let c=a.getTime(),d=c+864e5,e=Array.from({length:24},(a,b)=>({label:new Date(c+36e5*b).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tokens:0,cost:0}));for(let a of b.all("SELECT timestamp, promptTokens, completionTokens, cost FROM usageHistory WHERE timestamp >= ?",[new Date(c).toISOString()])){let b=new Date(a.timestamp).getTime();if(b<c||b>=d)continue;let f=Math.floor((b-c)/36e5);f>=0&&f<24&&(e[f].tokens+=(a.promptTokens||0)+(a.completionTokens||0),e[f].cost+=a.cost||0)}return e}if("24h"===a){let a=c-864e5,d=Array.from({length:24},(b,c)=>({label:new Date(a+36e5*c).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tokens:0,cost:0}));for(let e of b.all("SELECT timestamp, promptTokens, completionTokens, cost FROM usageHistory WHERE timestamp >= ?",[new Date(a).toISOString()])){let b=new Date(e.timestamp).getTime();if(b<a||b>c)continue;let f=Math.min(Math.floor((b-a)/36e5),23);d[f].tokens+=(e.promptTokens||0)+(e.completionTokens||0),d[f].cost+=e.cost||0}return d}let f="7d"===a?7:"30d"===a?30:60,g=new Date,h=al(b,f),i={};for(let a of h)i[a.dateKey]=(0,e.q)(a.data,{});return Array.from({length:f},(a,b)=>{let c=new Date(g);c.setDate(c.getDate()-(f-1-b));let d=i[`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`];return{label:c.toLocaleDateString("en-US",{month:"short",day:"numeric"}),tokens:d?(d.promptTokens||0)+(d.completionTokens||0):0,cost:d&&d.cost||0}})}async function ao(){}async function ap(a=200){try{let b=(await (0,d.c)()).all("SELECT timestamp, provider, model, connectionId, promptTokens, completionTokens, status, tokens FROM usageHistory ORDER BY id DESC LIMIT ?",[a]);if(!b.length)return[];let f={};try{let{getProviderConnections:a}=await Promise.resolve().then(c.bind(c,5781));for(let b of(await a()))f[b.id]=b.name||b.email||""}catch{}return b.map(a=>{let b=function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${b(a.getDate())}-${b(a.getMonth()+1)}-${a.getFullYear()} ${b(a.getHours())}:${b(a.getMinutes())}:${b(a.getSeconds())}`}(new Date(a.timestamp)),c=a.provider?.toUpperCase()||"-",d=a.model||"-",g=f[a.connectionId]||(a.connectionId?a.connectionId.slice(0,8):"-"),h=a.tokens?(0,e.q)(a.tokens,{}):{},i=a.promptTokens??h.prompt_tokens??"-",j=a.completionTokens??h.completion_tokens??"-";return`${b} | ${d} | ${c} | ${g} | ${i} | ${j} | ${a.status||"-"}`})}catch(a){return console.error("[usageRepo] getRecentLogs failed:",a.message),[]}}let aq=null,ar=0;async function as(){if(aq&&Date.now()-ar<5e3)return aq;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,42655)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;aq={enabled:"boolean"==typeof b.enableObservability2?b.enableObservability2:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{aq={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return ar=Date.now(),aq}let at=[],au=null,av=!1;function aw(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function ax(){if(!av&&0!==at.length){av=!0;try{for(;at.length>0;){let a=at.splice(0,at.length),b=await (0,d.c)(),c=await as();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:aw(d.request,c.maxJsonSize),providerRequest:aw(d.providerRequest,c.maxJsonSize),providerResponse:aw(d.providerResponse,c.maxJsonSize),response:aw(d.response,c.maxJsonSize)};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,e.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{av=!1}}}async function ay(a){let b=await as();b.enabled&&(at.push(a),at.length>=b.batchSize?(au&&(clearTimeout(au),au=null),ax().catch(a=>console.error("[requestDetailsRepo] flush err:",a))):au||(au=setTimeout(()=>{au=null,ax().catch(()=>{})},b.flushIntervalMs)))}async function az(a={}){let b=await (0,d.c)(),c=[],f=[];a.provider&&(c.push("provider = ?"),f.push(a.provider)),a.model&&(c.push("model = ?"),f.push(a.model)),a.connectionId&&(c.push("connectionId = ?"),f.push(a.connectionId)),a.status&&(c.push("status = ?"),f.push(a.status)),a.startDate&&(c.push("timestamp >= ?"),f.push(new Date(a.startDate).toISOString())),a.endDate&&(c.push("timestamp <= ?"),f.push(new Date(a.endDate).toISOString()));let g=c.length?`WHERE ${c.join(" AND ")}`:"",h=b.get(`SELECT COUNT(*) as c FROM requestDetails ${g}`,f),i=h?h.c:0,j=a.page||1,k=a.pageSize||50,l=Math.ceil(i/k);return{details:b.all(`SELECT data FROM requestDetails ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`,[...f,k,(j-1)*k]).map(a=>(0,e.q)(a.data,{})),pagination:{page:j,pageSize:k,totalItems:i,totalPages:l,hasNext:j<l,hasPrev:j>1}}}let aA=async()=>{au&&(clearTimeout(au),au=null),at.length>0&&await ax()};async function aB(){let a=await (0,d.c)(),{exportSettings:b}=await Promise.resolve().then(c.bind(c,42655)),f={settings:await b(),providerConnections:a.all("SELECT * FROM providerConnections").map(a=>({...(0,e.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt})),providerNodes:a.all("SELECT * FROM providerNodes").map(a=>({...(0,e.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt})),proxyPools:a.all("SELECT * FROM proxyPools").map(a=>({...(0,e.q)(a.data,{}),id:a.id,isActive:1===a.isActive,testStatus:a.testStatus,createdAt:a.createdAt,updatedAt:a.updatedAt})),apiKeys:a.all("SELECT * FROM apiKeys").map(a=>({id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive,createdAt:a.createdAt})),combos:a.all("SELECT * FROM combos").map(a=>({id:a.id,name:a.name,kind:a.kind,models:(0,e.q)(a.models,[]),createdAt:a.createdAt,updatedAt:a.updatedAt})),modelAliases:{},customModels:[],mitmAlias:{},pricing:{},keyPool:[],keyPoolSettings:{},disabledModels:{}};for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'modelAliases'"))f.modelAliases[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'customModels'"))f.customModels.push((0,e.q)(b.value));for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'mitmAlias'"))f.mitmAlias[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'pricing'"))f.pricing[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'keyPoolSettings'"))f.keyPoolSettings[b.key]=b.value;for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'disabledModels'"))f.disabledModels[b.key]=(0,e.q)(b.value,[]);return f.keyPool=a.all("SELECT id, provider, name, key, data, createdAt FROM keyPool").map(a=>({id:a.id,provider:a.provider,name:a.name,key:a.key,providerSpecificData:(0,e.q)(a.data,{}).providerSpecificData||null,createdAt:a.createdAt})),f}async function aC(a){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid database payload");let b=await (0,d.c)();return b.transaction(()=>{for(let c of(b.run("DELETE FROM keyPool"),b.run("DELETE FROM settings"),b.run("DELETE FROM providerConnections"),b.run("DELETE FROM providerNodes"),b.run("DELETE FROM proxyPools"),b.run("DELETE FROM apiKeys"),b.run("DELETE FROM combos"),b.run("DELETE FROM kv WHERE scope IN ('modelAliases', 'customModels', 'mitmAlias', 'pricing', 'keyPoolSettings', 'disabledModels')"),a.settings&&b.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(a.settings)]),a.providerConnections||[])){let{id:a,provider:d,authType:f,name:g,email:h,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=c;b.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a,d,f||"oauth",g||null,h||null,i||null,+(!1!==j),(0,e.s)(m),k||new Date().toISOString(),l||new Date().toISOString()])}for(let c of a.providerNodes||[]){let{id:a,type:d,name:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,d||null,f||null,(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.proxyPools||[]){let{id:a,isActive:d,testStatus:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,+(!1!==d),f||"unknown",(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.apiKeys||[])b.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.key,c.name||null,c.machineId||null,+(!1!==c.isActive),c.createdAt||new Date().toISOString()]);for(let c of a.combos||[])b.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.name,c.kind||null,(0,e.s)(c.models||[]),c.createdAt||new Date().toISOString(),c.updatedAt||new Date().toISOString()]);for(let[c,d]of Object.entries(a.modelAliases||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[c,(0,e.s)(d)]);for(let c of a.customModels||[]){let a=`${c.providerAlias}|${c.id}|${c.type||"llm"}`;b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[a,(0,e.s)(c)])}for(let[c,d]of Object.entries(a.mitmAlias||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[c,(0,e.s)(d||{})]);for(let[c,d]of Object.entries(a.pricing||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[c,(0,e.s)(d||{})]);for(let c of a.keyPool||[])b.run("INSERT OR REPLACE INTO keyPool(id, provider, name, key, data, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.provider,c.name||null,c.key,(0,e.s)({providerSpecificData:c.providerSpecificData||null}),c.createdAt||new Date().toISOString()]);for(let[c,d]of Object.entries(a.keyPoolSettings||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('keyPoolSettings', ?, ?)",[c,String(d)]);for(let[c,d]of Object.entries(a.disabledModels||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[c,(0,e.s)(d||[])])}),await aB()}process.off("beforeExit",aA),process.off("SIGINT",aA),process.off("SIGTERM",aA),process.off("exit",aA),process.on("beforeExit",aA),process.on("SIGINT",aA),process.on("SIGTERM",aA),process.on("exit",aA)},62674:(a,b,c)=>{"use strict";function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(36366)},74452:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createApiKey:()=>i,deleteApiKey:()=>k,getApiKeyById:()=>h,getApiKeys:()=>g,updateApiKey:()=>j,validateApiKey:()=>l});var d=c(94755),e=c(36366);function f(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt}:null}async function g(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(f)}async function h(a){return f((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function i(a,b){if(!b)throw Error("machineId is required");let f=await (0,e.c)(),{generateApiKeyWithMachine:g}=await c.e(6844).then(c.bind(c,86844)),h=g(b),i={id:(0,d.A)(),name:a,key:h.key,machineId:b,isActive:!0,createdAt:new Date().toISOString()};return f.run("INSERT INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[i.id,i.key,i.name,i.machineId,1,i.createdAt]),i}async function j(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let g={...f(e),...b};c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, isActive = ? WHERE id = ?",[g.key,g.name,g.machineId,+!!g.isActive,a]),d=g}),d}async function k(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function l(a){let b=(await (0,e.c)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},78335:()=>{},95658:(a,b,c)=>{"use strict";c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.n,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.n,"db.json"),usage:e().join(h.n,"usage.json"),disabled:e().join(h.n,"disabledModels.json"),details:e().join(h.n,"request-details.json")};function m(){for(let a of[h.n,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},96487:()=>{},97914:(a,b,c)=>{"use strict";c.d(b,{KJ:()=>l,VT:()=>n,getPricingForModel:()=>k,r4:()=>j,yF:()=>m});var d=c(36366),e=c(644);let f=(0,c(22846).U)("pricing"),g={value:null,expiresAt:0};function h(){g={value:null,expiresAt:0}}async function i(){return await f.getAll()}async function j(){let a=Date.now();if(g.value&&g.expiresAt>a)return g.value;let b=await i(),{PROVIDER_PRICING:d}=await c.e(8920).then(c.bind(c,58920)),e={};for(let[a,c]of Object.entries(d))if(e[a]={...c},b[a])for(let[c,d]of Object.entries(b[a]))e[a][c]=e[a][c]?{...e[a][c],...d}:d;for(let[a,c]of Object.entries(b))if(e[a])for(let[b,d]of Object.entries(c))e[a][b]||(e[a][b]=d);else e[a]={...c};return g={value:e,expiresAt:a+5e3},e}async function k(a,b){if(!b)return null;let d=await i();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:e}=await c.e(8920).then(c.bind(c,58920));return e(a,b)}async function l(a){let b=await (0,d.c)();return b.transaction(()=>{for(let[c,d]of Object.entries(a)){let a=b.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[c]),f={...a&&(0,e.q)(a.value,{})||{}};for(let[a,b]of Object.entries(d))f[a]=b;b.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[c,(0,e.s)(f)])}}),h(),await i()}async function m(a,b){if(!a)return await i();let c=await (0,d.c)();return c.transaction(()=>{if(!b)return void c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]);let d=c.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[a]),f=d&&(0,e.q)(d.value,{})||{};delete f[b],0===Object.keys(f).length?c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]):c.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,(0,e.s)(f)])}),h(),await i()}async function n(){return await f.clear(),h(),{}}}};
21
+ ORDER BY id DESC LIMIT 1`,[a.timestamp,a.provider||null,a.model||null,a.connectionId||null,a.apiKey||null,f,g]);if(s){!s.endpoint&&a.endpoint&&b.run("UPDATE usageHistory SET endpoint = ? WHERE id = ?",[a.endpoint,s.id]);return}b.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a.timestamp,a.provider||null,a.model||null,a.connectionId||null,a.apiKey||null,a.endpoint||null,f,g,a.cost||0,a.status||"ok",(0,e.s)(c),(0,e.s)({})]);let t=(i=(d=a.timestamp)?new Date(d):new Date,`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,"0")}-${String(i.getDate()).padStart(2,"0")}`),u=b.get("SELECT data FROM usageDaily WHERE dateKey = ?",[t]),v=u?(0,e.q)(u.data,{}):{requests:0,promptTokens:0,completionTokens:0,cost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},byEndpoint:{}};j=a.tokens?.prompt_tokens||a.tokens?.input_tokens||0,k=a.tokens?.completion_tokens||a.tokens?.output_tokens||0,l=a.cost||0,m={promptTokens:j,completionTokens:k,cost:l},v.requests=(v.requests||0)+1,v.promptTokens=(v.promptTokens||0)+j,v.completionTokens=(v.completionTokens||0)+k,v.cost=(v.cost||0)+l,v.byProvider||={},v.byModel||={},v.byAccount||={},v.byApiKey||={},v.byEndpoint||={},a.provider&&ae(v.byProvider,a.provider,m),n=a.provider?`${a.model}|${a.provider}`:a.model,ae(v.byModel,n,{...m,meta:{rawModel:a.model,provider:a.provider}}),a.connectionId&&ae(v.byAccount,a.connectionId,{...m,meta:{rawModel:a.model,provider:a.provider}}),o=a.apiKey&&"string"==typeof a.apiKey?a.apiKey:"local-no-key",p=`${o}|${a.model}|${a.provider||"unknown"}`,ae(v.byApiKey,p,{...m,meta:{rawModel:a.model,provider:a.provider,apiKey:a.apiKey||null}}),q=a.endpoint||"Unknown",r=`${q}|${a.model}|${a.provider||"unknown"}`,ae(v.byEndpoint,r,{...m,meta:{endpoint:q,rawModel:a.model,provider:a.provider}}),b.run("INSERT INTO usageDaily(dateKey, data) VALUES(?, ?) ON CONFLICT(dateKey) DO UPDATE SET data = excluded.data",[t,(0,e.s)(v)]);let w=b.get("SELECT value FROM _meta WHERE key = 'totalRequestsLifetime'"),x=(w?parseInt(w.value,10):0)+1;b.run("INSERT INTO _meta(key, value) VALUES('totalRequestsLifetime', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[String(x)]),h=!0}),h)&&(_.items.push(a),_.items.length>50&&(_.items=_.items.slice(-50)),ad("update",250))}catch(a){console.error("Failed to save usage stats:",a)}}function al(a,b){if(null==b)return a.all("SELECT dateKey, data FROM usageDaily");let c=new Date,d=new Date(c.getFullYear(),c.getMonth(),c.getDate()-b+1),e=`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,"0")}-${String(d.getDate()).padStart(2,"0")}`;return a.all("SELECT dateKey, data FROM usageDaily WHERE dateKey >= ?",[e])}async function am(a="all"){let b=await (0,d.c)(),[{getProviderConnections:f},{getApiKeys:g},{getProviderNodes:h}]=await Promise.all([Promise.resolve().then(c.bind(c,5781)),Promise.resolve().then(c.bind(c,74452)),Promise.resolve().then(c.bind(c,1129))]),i=[];try{i=await f()}catch{}let j={};for(let a of i)j[a.id]=a.name||a.email||a.id;let k={};try{for(let a of(await h()))a.id&&a.name&&(k[a.id]=a.name)}catch{}let l=[];try{l=await g()}catch{}let m={};for(let a of l)m[a.key]={name:a.name,id:a.id,createdAt:a.createdAt};let n=b.all("SELECT timestamp, provider, model, tokens, status FROM usageHistory ORDER BY id DESC LIMIT 100"),o=new Set,p={totalRequests:0,totalPromptTokens:0,totalCompletionTokens:0,totalCost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},byEndpoint:{},last10Minutes:[],pending:Y,activeRequests:[],recentRequests:n.map(a=>{let b=(0,e.q)(a.tokens,{})||{};return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:b.prompt_tokens||b.input_tokens||0,completionTokens:b.completion_tokens||b.output_tokens||0,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!o.has(c)&&(o.add(c),!0)}).slice(0,20),errorProvider:Date.now()-Z.ts<1e4?Z.provider:""};for(let[a,b]of Object.entries(Y.byAccount))for(let[c,d]of Object.entries(b))if(d>0){let b=j[a]||`Account ${a.slice(0,8)}...`,e=c.match(/^(.*) \((.*)\)$/);p.activeRequests.push({model:e?e[1]:c,provider:e?e[2]:"unknown",account:b,count:d})}let q=new Date,r=new Date(6e4*Math.floor(q.getTime()/6e4)),s=new Date(r.getTime()-54e4),t={};for(let a=0;a<10;a++){let b=r.getTime()-(9-a)*6e4;t[b]={requests:0,promptTokens:0,completionTokens:0,cost:0},p.last10Minutes.push(t[b])}for(let a of b.all("SELECT timestamp, promptTokens, completionTokens, cost FROM usageHistory WHERE timestamp >= ? AND timestamp <= ?",[s.toISOString(),q.toISOString()])){let b=6e4*Math.floor(new Date(a.timestamp).getTime()/6e4);t[b]&&(t[b].requests++,t[b].promptTokens+=a.promptTokens||0,t[b].completionTokens+=a.completionTokens||0,t[b].cost+=a.cost||0)}if("24h"!==a&&"today"!==a){let c={"7d":7,"30d":30,"60d":60}[a]||null;for(let a of al(b,c)){let b=a.dateKey,c=(0,e.q)(a.data,{});for(let[a,b]of(p.totalPromptTokens+=c.promptTokens||0,p.totalCompletionTokens+=c.completionTokens||0,p.totalCost+=c.cost||0,Object.entries(c.byProvider||{})))p.byProvider[a]||(p.byProvider[a]={requests:0,promptTokens:0,completionTokens:0,cost:0}),p.byProvider[a].requests+=b.requests||0,p.byProvider[a].promptTokens+=b.promptTokens||0,p.byProvider[a].completionTokens+=b.completionTokens||0,p.byProvider[a].cost+=b.cost||0;for(let[a,d]of Object.entries(c.byModel||{})){let c=d.rawModel||a.split("|")[0],e=d.provider||a.split("|")[1]||"",f=e?`${c} (${e})`:c,g=k[e]||e;p.byModel[f]||(p.byModel[f]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:c,provider:g,lastUsed:b}),p.byModel[f].requests+=d.requests||0,p.byModel[f].promptTokens+=d.promptTokens||0,p.byModel[f].completionTokens+=d.completionTokens||0,p.byModel[f].cost+=d.cost||0,b>(p.byModel[f].lastUsed||"")&&(p.byModel[f].lastUsed=b)}for(let[a,d]of Object.entries(c.byAccount||{})){let c=j[a]||`Account ${a.slice(0,8)}...`,e=d.rawModel||"",f=d.provider||"",g=k[f]||f,h=`${e} (${f} - ${c})`;p.byAccount[h]||(p.byAccount[h]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:e,provider:g,connectionId:a,accountName:c,lastUsed:b}),p.byAccount[h].requests+=d.requests||0,p.byAccount[h].promptTokens+=d.promptTokens||0,p.byAccount[h].completionTokens+=d.completionTokens||0,p.byAccount[h].cost+=d.cost||0,b>(p.byAccount[h].lastUsed||"")&&(p.byAccount[h].lastUsed=b)}for(let[a,d]of Object.entries(c.byApiKey||{})){let c=d.rawModel||"",e=d.provider||"",f=k[e]||e,g=d.apiKey,h=g?m[g]:null,i=h?.name||(g?g.slice(0,8)+"...":"Local (No API Key)"),j=X(g),l=j||"local-no-key";p.byApiKey[a]||(p.byApiKey[a]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:c,provider:f,apiKeyMasked:j,keyName:i,apiKeyKey:l,lastUsed:b}),p.byApiKey[a].requests+=d.requests||0,p.byApiKey[a].promptTokens+=d.promptTokens||0,p.byApiKey[a].completionTokens+=d.completionTokens||0,p.byApiKey[a].cost+=d.cost||0,b>(p.byApiKey[a].lastUsed||"")&&(p.byApiKey[a].lastUsed=b)}for(let[a,d]of Object.entries(c.byEndpoint||{})){let c=d.endpoint||a.split("|")[0]||"Unknown",e=d.rawModel||"",f=d.provider||"",g=k[f]||f;p.byEndpoint[a]||(p.byEndpoint[a]={requests:0,promptTokens:0,completionTokens:0,cost:0,endpoint:c,rawModel:e,provider:g,lastUsed:b}),p.byEndpoint[a].requests+=d.requests||0,p.byEndpoint[a].promptTokens+=d.promptTokens||0,p.byEndpoint[a].completionTokens+=d.completionTokens||0,p.byEndpoint[a].cost+=d.cost||0,b>(p.byEndpoint[a].lastUsed||"")&&(p.byEndpoint[a].lastUsed=b)}}let d=c?Date.now()-864e5*c:0;for(let a of b.all("SELECT timestamp, provider, model, connectionId, apiKey, endpoint FROM usageHistory WHERE timestamp >= ?",[new Date(d).toISOString()])){let b=a.timestamp,c=a.provider?`${a.model} (${a.provider})`:a.model;if(p.byModel[c]&&new Date(b)>new Date(p.byModel[c].lastUsed)&&(p.byModel[c].lastUsed=b),a.connectionId){let c=j[a.connectionId]||`Account ${a.connectionId.slice(0,8)}...`,d=`${a.model} (${a.provider} - ${c})`;p.byAccount[d]&&new Date(b)>new Date(p.byAccount[d].lastUsed)&&(p.byAccount[d].lastUsed=b)}let d=a.apiKey&&"string"==typeof a.apiKey?`${a.apiKey}|${a.model}|${a.provider||"unknown"}`:"local-no-key";p.byApiKey[d]&&new Date(b)>new Date(p.byApiKey[d].lastUsed)&&(p.byApiKey[d].lastUsed=b);let e=a.endpoint||"Unknown",f=`${e}|${a.model}|${a.provider||"unknown"}`;p.byEndpoint[f]&&new Date(b)>new Date(p.byEndpoint[f].lastUsed)&&(p.byEndpoint[f].lastUsed=b)}}else{let c;if("today"===a){let a=new Date;a.setHours(0,0,0,0),c=a.toISOString()}else c=new Date(Date.now()-864e5).toISOString();for(let a of b.all("SELECT timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, tokens FROM usageHistory WHERE timestamp >= ?",[c])){let b=(0,e.q)(a.tokens,{})||{},c=b.prompt_tokens||0,d=b.completion_tokens||0,f=a.cost||0,g=k[a.provider]||a.provider;p.totalPromptTokens+=c,p.totalCompletionTokens+=d,p.totalCost+=f,p.byProvider[a.provider]||(p.byProvider[a.provider]={requests:0,promptTokens:0,completionTokens:0,cost:0}),p.byProvider[a.provider].requests++,p.byProvider[a.provider].promptTokens+=c,p.byProvider[a.provider].completionTokens+=d,p.byProvider[a.provider].cost+=f;let h=a.provider?`${a.model} (${a.provider})`:a.model;if(p.byModel[h]||(p.byModel[h]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,lastUsed:a.timestamp}),p.byModel[h].requests++,p.byModel[h].promptTokens+=c,p.byModel[h].completionTokens+=d,p.byModel[h].cost+=f,new Date(a.timestamp)>new Date(p.byModel[h].lastUsed)&&(p.byModel[h].lastUsed=a.timestamp),a.connectionId){let b=j[a.connectionId]||`Account ${a.connectionId.slice(0,8)}...`,e=`${a.model} (${a.provider} - ${b})`;p.byAccount[e]||(p.byAccount[e]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,connectionId:a.connectionId,accountName:b,lastUsed:a.timestamp}),p.byAccount[e].requests++,p.byAccount[e].promptTokens+=c,p.byAccount[e].completionTokens+=d,p.byAccount[e].cost+=f,new Date(a.timestamp)>new Date(p.byAccount[e].lastUsed)&&(p.byAccount[e].lastUsed=a.timestamp)}if(a.apiKey&&"string"==typeof a.apiKey){let b=m[a.apiKey],e=b?.name||a.apiKey.slice(0,8)+"...",h=X(a.apiKey),i=`${h}|${a.model}|${a.provider||"unknown"}`;p.byApiKey[i]||(p.byApiKey[i]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,apiKeyMasked:h,keyName:e,apiKeyKey:h,lastUsed:a.timestamp});let j=p.byApiKey[i];j.requests++,j.promptTokens+=c,j.completionTokens+=d,j.cost+=f,new Date(a.timestamp)>new Date(j.lastUsed)&&(j.lastUsed=a.timestamp)}else{p.byApiKey["local-no-key"]||(p.byApiKey["local-no-key"]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,apiKeyMasked:null,keyName:"Local (No API Key)",apiKeyKey:"local-no-key",lastUsed:a.timestamp});let b=p.byApiKey["local-no-key"];b.requests++,b.promptTokens+=c,b.completionTokens+=d,b.cost+=f,new Date(a.timestamp)>new Date(b.lastUsed)&&(b.lastUsed=a.timestamp)}let i=a.endpoint||"Unknown",l=`${i}|${a.model}|${a.provider||"unknown"}`;p.byEndpoint[l]||(p.byEndpoint[l]={requests:0,promptTokens:0,completionTokens:0,cost:0,endpoint:i,rawModel:a.model,provider:g,lastUsed:a.timestamp});let n=p.byEndpoint[l];n.requests++,n.promptTokens+=c,n.completionTokens+=d,n.cost+=f,new Date(a.timestamp)>new Date(n.lastUsed)&&(n.lastUsed=a.timestamp)}}return p.totalRequests=Object.values(p.byProvider).reduce((a,b)=>a+(b.requests||0),0),p}async function an(a="7d"){let b=await (0,d.c)(),c=Date.now();if("today"===a){let a=new Date;a.setHours(0,0,0,0);let c=a.getTime(),d=c+864e5,e=Array.from({length:24},(a,b)=>({label:new Date(c+36e5*b).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tokens:0,cost:0}));for(let a of b.all("SELECT timestamp, promptTokens, completionTokens, cost FROM usageHistory WHERE timestamp >= ?",[new Date(c).toISOString()])){let b=new Date(a.timestamp).getTime();if(b<c||b>=d)continue;let f=Math.floor((b-c)/36e5);f>=0&&f<24&&(e[f].tokens+=(a.promptTokens||0)+(a.completionTokens||0),e[f].cost+=a.cost||0)}return e}if("24h"===a){let a=c-864e5,d=Array.from({length:24},(b,c)=>({label:new Date(a+36e5*c).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tokens:0,cost:0}));for(let e of b.all("SELECT timestamp, promptTokens, completionTokens, cost FROM usageHistory WHERE timestamp >= ?",[new Date(a).toISOString()])){let b=new Date(e.timestamp).getTime();if(b<a||b>c)continue;let f=Math.min(Math.floor((b-a)/36e5),23);d[f].tokens+=(e.promptTokens||0)+(e.completionTokens||0),d[f].cost+=e.cost||0}return d}let f="7d"===a?7:"30d"===a?30:60,g=new Date,h=al(b,f),i={};for(let a of h)i[a.dateKey]=(0,e.q)(a.data,{});return Array.from({length:f},(a,b)=>{let c=new Date(g);c.setDate(c.getDate()-(f-1-b));let d=i[`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`];return{label:c.toLocaleDateString("en-US",{month:"short",day:"numeric"}),tokens:d?(d.promptTokens||0)+(d.completionTokens||0):0,cost:d&&d.cost||0}})}async function ao(){}async function ap(a=200){try{let b=(await (0,d.c)()).all("SELECT timestamp, provider, model, connectionId, promptTokens, completionTokens, status, tokens FROM usageHistory ORDER BY id DESC LIMIT ?",[a]);if(!b.length)return[];let f={};try{let{getProviderConnections:a}=await Promise.resolve().then(c.bind(c,5781));for(let b of(await a()))f[b.id]=b.name||b.email||""}catch{}return b.map(a=>{let b=function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${b(a.getDate())}-${b(a.getMonth()+1)}-${a.getFullYear()} ${b(a.getHours())}:${b(a.getMinutes())}:${b(a.getSeconds())}`}(new Date(a.timestamp)),c=a.provider?.toUpperCase()||"-",d=a.model||"-",g=f[a.connectionId]||(a.connectionId?a.connectionId.slice(0,8):"-"),h=a.tokens?(0,e.q)(a.tokens,{}):{},i=a.promptTokens??h.prompt_tokens??"-",j=a.completionTokens??h.completion_tokens??"-";return`${b} | ${d} | ${c} | ${g} | ${i} | ${j} | ${a.status||"-"}`})}catch(a){return console.error("[usageRepo] getRecentLogs failed:",a.message),[]}}let aq=null,ar=0;async function as(){if(aq&&Date.now()-ar<5e3)return aq;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,42655)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;aq={enabled:"boolean"==typeof b.enableObservability2?b.enableObservability2:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{aq={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return ar=Date.now(),aq}let at=[],au=null,av=!1;function aw(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function ax(){if(!av&&0!==at.length){av=!0;try{for(;at.length>0;){let a=at.splice(0,at.length),b=await (0,d.c)(),c=await as();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:aw(d.request,c.maxJsonSize),providerRequest:aw(d.providerRequest,c.maxJsonSize),providerResponse:aw(d.providerResponse,c.maxJsonSize),response:aw(d.response,c.maxJsonSize)};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,e.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{av=!1}}}async function ay(a){let b=await as();b.enabled&&(at.push(a),at.length>=b.batchSize?(au&&(clearTimeout(au),au=null),ax().catch(a=>console.error("[requestDetailsRepo] flush err:",a))):au||(au=setTimeout(()=>{au=null,ax().catch(()=>{})},b.flushIntervalMs)))}async function az(a={}){let b=await (0,d.c)(),c=[],f=[];a.provider&&(c.push("provider = ?"),f.push(a.provider)),a.model&&(c.push("model = ?"),f.push(a.model)),a.connectionId&&(c.push("connectionId = ?"),f.push(a.connectionId)),a.status&&(c.push("status = ?"),f.push(a.status)),a.startDate&&(c.push("timestamp >= ?"),f.push(new Date(a.startDate).toISOString())),a.endDate&&(c.push("timestamp <= ?"),f.push(new Date(a.endDate).toISOString()));let g=c.length?`WHERE ${c.join(" AND ")}`:"",h=b.get(`SELECT COUNT(*) as c FROM requestDetails ${g}`,f),i=h?h.c:0,j=a.page||1,k=a.pageSize||50,l=Math.ceil(i/k);return{details:b.all(`SELECT data FROM requestDetails ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`,[...f,k,(j-1)*k]).map(a=>(0,e.q)(a.data,{})),pagination:{page:j,pageSize:k,totalItems:i,totalPages:l,hasNext:j<l,hasPrev:j>1}}}let aA=async()=>{au&&(clearTimeout(au),au=null),at.length>0&&await ax()};async function aB(){let a=await (0,d.c)(),{exportSettings:b}=await Promise.resolve().then(c.bind(c,42655)),f={settings:await b(),providerConnections:a.all("SELECT * FROM providerConnections").map(a=>({...(0,e.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt})),providerNodes:a.all("SELECT * FROM providerNodes").map(a=>({...(0,e.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt})),proxyPools:a.all("SELECT * FROM proxyPools").map(a=>({...(0,e.q)(a.data,{}),id:a.id,isActive:1===a.isActive,testStatus:a.testStatus,createdAt:a.createdAt,updatedAt:a.updatedAt})),apiKeys:a.all("SELECT * FROM apiKeys").map(a=>({id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive,createdAt:a.createdAt})),combos:a.all("SELECT * FROM combos").map(a=>({id:a.id,name:a.name,kind:a.kind,models:(0,e.q)(a.models,[]),createdAt:a.createdAt,updatedAt:a.updatedAt})),modelAliases:{},customModels:[],mitmAlias:{},pricing:{},keyPool:[],keyPoolSettings:{},disabledModels:{}};for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'modelAliases'"))f.modelAliases[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'customModels'"))f.customModels.push((0,e.q)(b.value));for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'mitmAlias'"))f.mitmAlias[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'pricing'"))f.pricing[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'keyPoolSettings'"))f.keyPoolSettings[b.key]=b.value;for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'disabledModels'"))f.disabledModels[b.key]=(0,e.q)(b.value,[]);return f.keyPool=a.all("SELECT id, provider, name, key, data, createdAt FROM keyPool").map(a=>({id:a.id,provider:a.provider,name:a.name,key:a.key,providerSpecificData:(0,e.q)(a.data,{}).providerSpecificData||null,createdAt:a.createdAt})),f}async function aC(a){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid database payload");let b=await (0,d.c)();return b.transaction(()=>{for(let c of(b.run("DELETE FROM keyPool"),b.run("DELETE FROM settings"),b.run("DELETE FROM providerConnections"),b.run("DELETE FROM providerNodes"),b.run("DELETE FROM proxyPools"),b.run("DELETE FROM apiKeys"),b.run("DELETE FROM combos"),b.run("DELETE FROM kv WHERE scope IN ('modelAliases', 'customModels', 'mitmAlias', 'pricing', 'keyPoolSettings', 'disabledModels')"),a.settings&&b.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(a.settings)]),a.providerConnections||[])){let{id:a,provider:d,authType:f,name:g,email:h,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=c;b.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a,d,f||"oauth",g||null,h||null,i||null,+(!1!==j),(0,e.s)(m),k||new Date().toISOString(),l||new Date().toISOString()])}for(let c of a.providerNodes||[]){let{id:a,type:d,name:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,d||null,f||null,(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.proxyPools||[]){let{id:a,isActive:d,testStatus:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,+(!1!==d),f||"unknown",(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.apiKeys||[])b.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.key,c.name||null,c.machineId||null,+(!1!==c.isActive),c.createdAt||new Date().toISOString()]);for(let c of a.combos||[])b.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.name,c.kind||null,(0,e.s)(c.models||[]),c.createdAt||new Date().toISOString(),c.updatedAt||new Date().toISOString()]);for(let[c,d]of Object.entries(a.modelAliases||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[c,(0,e.s)(d)]);for(let c of a.customModels||[]){let a=`${c.providerAlias}|${c.id}|${c.type||"llm"}`;b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[a,(0,e.s)(c)])}for(let[c,d]of Object.entries(a.mitmAlias||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[c,(0,e.s)(d||{})]);for(let[c,d]of Object.entries(a.pricing||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[c,(0,e.s)(d||{})]);for(let c of a.keyPool||[])b.run("INSERT OR REPLACE INTO keyPool(id, provider, name, key, data, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.provider,c.name||null,c.key,(0,e.s)({providerSpecificData:c.providerSpecificData||null}),c.createdAt||new Date().toISOString()]);for(let[c,d]of Object.entries(a.keyPoolSettings||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('keyPoolSettings', ?, ?)",[c,String(d)]);for(let[c,d]of Object.entries(a.disabledModels||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[c,(0,e.s)(d||[])])}),await aB()}process.off("beforeExit",aA),process.off("SIGINT",aA),process.off("SIGTERM",aA),process.off("exit",aA),process.on("beforeExit",aA),process.on("SIGINT",aA),process.on("SIGTERM",aA),process.on("exit",aA)},62674:(a,b,c)=>{"use strict";function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(36366)},74452:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createApiKey:()=>i,deleteApiKey:()=>k,getApiKeyById:()=>h,getApiKeys:()=>g,updateApiKey:()=>j,validateApiKey:()=>l});var d=c(94755),e=c(36366);function f(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt}:null}async function g(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(f)}async function h(a){return f((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function i(a,b){if(!b)throw Error("machineId is required");let f=await (0,e.c)(),{generateApiKeyWithMachine:g}=await c.e(6844).then(c.bind(c,86844)),h=g(b),i={id:(0,d.A)(),name:a,key:h.key,machineId:b,isActive:!0,createdAt:new Date().toISOString()};return f.run("INSERT INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[i.id,i.key,i.name,i.machineId,1,i.createdAt]),i}async function j(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let g={...f(e),...b};c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, isActive = ? WHERE id = ?",[g.key,g.name,g.machineId,+!!g.isActive,a]),d=g}),d}async function k(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function l(a){let b=(await (0,e.c)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},78335:()=>{},95658:(a,b,c)=>{"use strict";c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(49120);let i=e().join(h.n,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.n,"db.json"),usage:e().join(h.n,"usage.json"),disabled:e().join(h.n,"disabledModels.json"),details:e().join(h.n,"request-details.json")};function m(){for(let a of[h.n,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},96487:()=>{},97914:(a,b,c)=>{"use strict";c.d(b,{KJ:()=>l,VT:()=>n,getPricingForModel:()=>k,r4:()=>j,yF:()=>m});var d=c(36366),e=c(644);let f=(0,c(22846).U)("pricing"),g={value:null,expiresAt:0};function h(){g={value:null,expiresAt:0}}async function i(){return await f.getAll()}async function j(){let a=Date.now();if(g.value&&g.expiresAt>a)return g.value;let b=await i(),{PROVIDER_PRICING:d}=await c.e(8920).then(c.bind(c,58920)),e={};for(let[a,c]of Object.entries(d))if(e[a]={...c},b[a])for(let[c,d]of Object.entries(b[a]))e[a][c]=e[a][c]?{...e[a][c],...d}:d;for(let[a,c]of Object.entries(b))if(e[a])for(let[b,d]of Object.entries(c))e[a][b]||(e[a][b]=d);else e[a]={...c};return g={value:e,expiresAt:a+5e3},e}async function k(a,b){if(!b)return null;let d=await i();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:e}=await c.e(8920).then(c.bind(c,58920));return e(a,b)}async function l(a){let b=await (0,d.c)();return b.transaction(()=>{for(let[c,d]of Object.entries(a)){let a=b.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[c]),f={...a&&(0,e.q)(a.value,{})||{}};for(let[a,b]of Object.entries(d))f[a]=b;b.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[c,(0,e.s)(f)])}}),h(),await i()}async function m(a,b){if(!a)return await i();let c=await (0,d.c)();return c.transaction(()=>{if(!b)return void c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]);let d=c.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[a]),f=d&&(0,e.q)(d.value,{})||{};delete f[b],0===Object.keys(f).length?c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]):c.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,(0,e.s)(f)])}),h(),await i()}async function n(){return await f.clear(),h(),{}}}};