@jheavenknows/bluerouter 5.1.19 → 5.1.21

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 (545) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +6 -6
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js +4 -4
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.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.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  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.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  66. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  67. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  68. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  69. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  70. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  71. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  72. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  73. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  76. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  77. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  78. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
  80. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  83. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  86. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  89. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/keys/route.js +2 -2
  132. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  252. package/app/.next-cli-build/server/app/callback.html +1 -1
  253. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  254. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  255. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  256. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
  257. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  258. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  259. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  260. package/app/.next-cli-build/server/app/dashboard/analytics.html +1 -1
  261. package/app/.next-cli-build/server/app/dashboard/analytics.rsc +7 -7
  262. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +1 -1
  263. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
  264. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  265. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  266. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_full.segment.rsc +7 -7
  267. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  268. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_index.segment.rsc +6 -6
  269. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_tree.segment.rsc +2 -2
  270. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  271. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +8 -8
  272. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +2 -2
  273. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys.segment.rsc +1 -1
  274. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  275. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  276. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +8 -8
  277. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_head.segment.rsc +1 -1
  278. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_index.segment.rsc +6 -6
  279. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +2 -2
  280. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  281. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
  282. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  283. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  284. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  285. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  286. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  287. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  288. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +6 -6
  289. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  290. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  291. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  292. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  293. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  294. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  295. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  296. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  297. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  298. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -6
  299. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  300. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  302. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  303. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  304. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  305. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  306. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  307. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  308. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +6 -6
  309. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  310. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  311. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  312. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  313. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  314. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  315. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  316. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  317. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  318. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -6
  319. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  320. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  321. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
  322. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  323. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  325. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  326. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  327. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  328. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  329. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +6 -6
  330. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  331. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  333. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  334. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  335. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  336. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  337. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  338. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  339. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +6 -6
  340. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  341. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  343. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  344. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  345. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  346. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  347. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  348. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  349. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +6 -6
  350. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  351. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +7 -7
  353. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +1 -1
  354. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
  355. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  356. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  357. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +7 -7
  358. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
  359. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +6 -6
  360. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +2 -2
  361. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +7 -7
  363. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
  364. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
  365. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  366. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  367. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +7 -7
  368. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
  369. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +6 -6
  370. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +2 -2
  371. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  372. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
  373. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  374. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  375. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  376. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  377. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  378. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  379. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  380. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -6
  381. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  382. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  383. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  384. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  385. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  386. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  387. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  388. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  389. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  390. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +6 -6
  391. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  392. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  394. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  395. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  396. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  399. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  400. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +6 -6
  401. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  402. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  403. package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
  404. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  405. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  406. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  408. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  409. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  410. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +6 -6
  411. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  412. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  414. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  415. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  416. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  417. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  418. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  419. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  420. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  423. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  424. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  425. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  426. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  427. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  428. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  429. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  430. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  431. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  432. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +6 -6
  433. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  436. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +1 -1
  437. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  438. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  439. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  440. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  441. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  442. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +6 -6
  443. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
  446. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  448. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  449. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  450. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  451. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +6 -6
  453. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
  456. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  457. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  458. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  459. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  460. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  461. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  462. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +6 -6
  463. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  465. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  466. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  467. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  468. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  470. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +6 -6
  472. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  474. package/app/.next-cli-build/server/app/index.html +1 -1
  475. package/app/.next-cli-build/server/app/index.rsc +6 -6
  476. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  477. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  478. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  479. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
  480. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  481. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  482. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  483. package/app/.next-cli-build/server/app/landing.html +1 -1
  484. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  485. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  486. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  487. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
  488. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  490. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  491. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  492. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  493. package/app/.next-cli-build/server/app/login.html +1 -1
  494. package/app/.next-cli-build/server/app/login.rsc +7 -7
  495. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  496. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  497. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
  498. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  500. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  501. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  502. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  503. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  504. package/app/.next-cli-build/server/app-paths-manifest.json +6 -6
  505. package/app/.next-cli-build/server/chunks/2074.js +9 -0
  506. package/app/.next-cli-build/server/chunks/2338.js +5 -5
  507. package/app/.next-cli-build/server/chunks/2556.js +9 -0
  508. package/app/.next-cli-build/server/chunks/3110.js +1 -1
  509. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  510. package/app/.next-cli-build/server/chunks/402.js +6 -6
  511. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  512. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  513. package/app/.next-cli-build/server/chunks/4778.js +1 -1
  514. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  515. package/app/.next-cli-build/server/chunks/4803.js +1 -1
  516. package/app/.next-cli-build/server/chunks/507.js +1 -1
  517. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  518. package/app/.next-cli-build/server/chunks/6252.js +1 -1
  519. package/app/.next-cli-build/server/chunks/6328.js +1 -1
  520. package/app/.next-cli-build/server/chunks/698.js +1 -1
  521. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  522. package/app/.next-cli-build/server/chunks/8062.js +1 -1
  523. package/app/.next-cli-build/server/chunks/8469.js +1 -1
  524. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  525. package/app/.next-cli-build/server/chunks/8895.js +4 -3
  526. package/app/.next-cli-build/server/chunks/{4684.js → 9432.js} +2 -2
  527. package/app/.next-cli-build/server/chunks/9434.js +1 -1
  528. package/app/.next-cli-build/server/chunks/9489.js +1 -1
  529. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  530. package/app/.next-cli-build/server/middleware.js +3 -3
  531. package/app/.next-cli-build/server/pages/404.html +1 -1
  532. package/app/.next-cli-build/server/pages/500.html +1 -1
  533. package/app/.next-cli-build/static/chunks/{5263-79f7a776783f38a3.js → 5263-eca7d343bf5582d8.js} +1 -1
  534. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/page-eff6ec1bd6be2159.js +19 -0
  535. package/app/.next-cli-build/static/css/{d8559bfc25347903.css → 217e0ab2df3c322f.css} +1 -1
  536. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.1.15-to-5.1.16-5.1.16-20260714-164440 → upgrade-5.1.18-to-5.1.19-5.1.19-20260714-182232}/data.sqlite +0 -0
  537. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.1.16-to-5.1.17-5.1.17-20260714-165506 → upgrade-5.1.19-to-5.1.20-5.1.20-20260715-222235}/data.sqlite +0 -0
  538. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite +0 -0
  539. package/app/package.json +1 -1
  540. package/package.json +1 -1
  541. package/app/.next-cli-build/server/chunks/232.js +0 -9
  542. package/app/.next-cli-build/server/chunks/7324.js +0 -9
  543. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/page-e92b1645212c501d.js +0 -19
  544. /package/app/.next-cli-build/static/{dP4mU6SZHcAtMDatjT1m8 → m__O_R5AnKryP_z_4CAaF}/_buildManifest.js +0 -0
  545. /package/app/.next-cli-build/static/{dP4mU6SZHcAtMDatjT1m8 → m__O_R5AnKryP_z_4CAaF}/_ssgManifest.js +0 -0
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},90698:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>e});var d=c(76040);async function e(a){let{Database:b}=await Promise.resolve().then(c.t.bind(c,81787,23)),e=new b(a,{create:!0});e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"bun:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction:a=>e.transaction(a)(),checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",cavemanMode:"TEXT DEFAULT 'inherit'",cavemanLevel:"TEXT DEFAULT 'lite'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},90698:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>e});var d=c(76040);async function e(a){let{Database:b}=await Promise.resolve().then(c.t.bind(c,81787,23)),e=new b(a,{create:!0});e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"bun:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction:a=>e.transaction(a)(),checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",cavemanMode:"TEXT DEFAULT 'inherit'",cavemanLevel:"TEXT DEFAULT 'lite'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},38062:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>e});var d=c(34050);async function e(a){let{Database:b}=await Promise.resolve().then(c.t.bind(c,81787,23)),e=new b(a,{create:!0});e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"bun:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction:a=>e.transaction(a)(),checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",cavemanMode:"TEXT DEFAULT 'inherit'",cavemanLevel:"TEXT DEFAULT 'lite'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},38062:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>e});var d=c(34050);async function e(a){let{Database:b}=await Promise.resolve().then(c.t.bind(c,81787,23)),e=new b(a,{create:!0});e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"bun:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction:a=>e.transaction(a)(),checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88469:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(34050);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",cavemanMode:"TEXT DEFAULT 'inherit'",cavemanLevel:"TEXT DEFAULT 'lite'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88469:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(34050);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88520:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(63775);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,80099,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",cavemanMode:"TEXT DEFAULT 'inherit'",cavemanLevel:"TEXT DEFAULT 'lite'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88520:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(63775);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,80099,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
@@ -21,7 +21,7 @@ data: ${JSON.stringify(d)}
21
21
 
22
22
  `:`data: ${JSON.stringify(d)}
23
23
 
24
- `}async function i(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let f=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:f}}function j(a,b,c,d){return{success:!1,status:a,error:b,resetsAtMs:c,response:g(a,b,d)}}function k(a,b,c,d,e){let g=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify(f(a,`${b} (${d})`,e)),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(g)}})}function l(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(56403);c(99703)},48895:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$B:()=>e.$B,SB:()=>g.SB}),c(39609),c(35024),c(75924),c(41004),c(44404),c(14170),c(33110),c(57647),c(40669),c(12557);var e=c(8590),f=c(92500);c(59657);var g=c(55330);c(43659),c(71857);var h=a([f,g]);[f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},59657:(a,b,c)=>{c.d(b,{Jb:()=>f,jd:()=>e});var d=c(41004);function e({onDisconnect:a,onError:b,log:c,provider:d,model:f}={}){let g=new AbortController,h=Date.now(),i=!1,j=null,k=a=>{let b=Date.now()-h,c=d?.toUpperCase()||"UNKNOWN";console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 🌊 [STREAM] ${c} | ${f||"unknown"} | ${b}ms | ${a}`)};return{signal:g.signal,startTime:h,isConnected:()=>!i,handleDisconnect:(b="client_closed")=>{i||(i=!0,k(`disconnect: ${b}`),j=setTimeout(()=>{g.abort()},500),a?.({reason:b,duration:Date.now()-h}))},handleComplete:()=>{!i&&(i=!0,k("complete"),j&&(clearTimeout(j),j=null))},handleError:a=>{if(!i){if(i=!0,j&&(clearTimeout(j),j=null),"AbortError"===a.name)return void k("aborted");k(`error: ${a.message}`),b?.(a)}},abort:()=>g.abort()}}function f(a,b,c){var e;let f,g,h=null,i=()=>{h&&(clearTimeout(h),h=null)},j=()=>{i(),h=setTimeout(()=>{h=null,c.handleError?.(Error("stream stall timeout")),c.abort?.()},d.xM)},k={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{i(),c.handleComplete()},handleError:a=>{i(),c.handleError(a)},handleDisconnect:a=>{i(),c.handleDisconnect(a)},abort:()=>{i(),c.abort()}};j();let l=new TransformStream({transform(a,b){j(),b.enqueue(a)},flush(){i()}});return e={readable:a.body.pipeThrough(l).pipeThrough(b),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},f=e.readable.getReader(),g=e.writable.getWriter(),new ReadableStream({async pull(a){if(!k.isConnected())return void a.close();try{let{done:b,value:c}=await f.read();if(b){k.handleComplete(),a.close();return}a.enqueue(c)}catch(c){let b=k.isConnected();if(k.handleError(c),f.cancel().catch(()=>{}),g.abort().catch(()=>{}),!b||"AbortError"===c.name||c.message?.includes("aborted"))try{a.close()}catch(a){}else try{a.error(c)}catch(a){}}},cancel(a){k.handleDisconnect(a||"cancelled"),f.cancel(),g.abort()}})}},60125:(a,b,c)=>{c.d(b,{p:()=>g});var d=c(14170);let e="Code blocks, file paths, commands, errors, URLs: keep exact. Security warnings, irreversible action confirmations, multi-step ordered sequences: write normal. Resume terse style after.",f={lite:["Respond tersely. Keep grammar and full sentences but drop filler, hedging and pleasantries (just/really/basically/sure/of course/I'd be happy to). Pattern: state the thing, the action, the reason. Then next step.",e,"Active every response until user asks for normal mode."].join(" "),full:["Respond like terse caveman. All technical substance stay exact, only fluff die. Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries, hedging. Fragments OK. Short synonyms (big not extensive, fix not implement a solution for). Pattern: [thing] [action] [reason]. [next step].",e,"Active every response until user asks for normal mode."].join(" "),ultra:["Respond ultra-terse. Maximum compression. Telegraphic. Abbreviate (DB/auth/config/req/res/fn/impl), strip conjunctions, use arrows for causality (X Y). One word when one word enough. Pattern: [thing] [result]. [fix].",e,"Active every response until user asks for normal mode."].join(" ")};function g(a,b,c){let e=f[c];if(a&&e)switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
24
+ `}async function i(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let f=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:f}}function j(a,b,c,d){return{success:!1,status:a,error:b,resetsAtMs:c,response:g(a,b,d)}}function k(a,b,c,d,e){let g=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify(f(a,`${b} (${d})`,e)),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(g)}})}function l(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw});var d=c(56403);c(99703)},48895:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$B:()=>e.$B,SB:()=>g.SB}),c(39609),c(35024),c(75924),c(41004),c(44404),c(14170),c(33110),c(57647),c(40669),c(12557);var e=c(8590),f=c(92500);c(59657);var g=c(55330);c(43659),c(71857);var h=a([f,g]);[f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},59657:(a,b,c)=>{c.d(b,{Jb:()=>f,jd:()=>e});var d=c(41004);function e({onDisconnect:a,onError:b,log:c,provider:d,model:f}={}){let g=new AbortController,h=Date.now(),i=!1,j=null,k=a=>{let b=Date.now()-h,c=d?.toUpperCase()||"UNKNOWN";console.log(`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 🌊 [STREAM] ${c} | ${f||"unknown"} | ${b}ms | ${a}`)};return{signal:g.signal,startTime:h,isConnected:()=>!i,handleDisconnect:(b="client_closed")=>{i||(i=!0,k(`disconnect: ${b}`),j=setTimeout(()=>{g.abort()},500),a?.({reason:b,duration:Date.now()-h}))},handleComplete:()=>{!i&&(i=!0,k("complete"),j&&(clearTimeout(j),j=null))},handleError:a=>{if(!i){if(i=!0,j&&(clearTimeout(j),j=null),"AbortError"===a.name)return void k("aborted");k(`error: ${a.message}`),b?.(a)}},abort:()=>g.abort()}}function f(a,b,c){var e;let f,g,h=null,i=()=>{h&&(clearTimeout(h),h=null)},j=()=>{i(),h=setTimeout(()=>{h=null,c.handleError?.(Error("stream stall timeout")),c.abort?.()},d.xM)},k={signal:c.signal,startTime:c.startTime,isConnected:()=>c.isConnected(),handleComplete:()=>{i(),c.handleComplete()},handleError:a=>{i(),c.handleError(a)},handleDisconnect:a=>{i(),c.handleDisconnect(a)},abort:()=>{i(),c.abort()}};j();let l=new TransformStream({transform(a,b){j(),b.enqueue(a)},flush(){i()}});return e={readable:a.body.pipeThrough(l).pipeThrough(b),writable:{getWriter:()=>({abort:()=>Promise.resolve()})}},f=e.readable.getReader(),g=e.writable.getWriter(),new ReadableStream({async pull(a){if(!k.isConnected())return void a.close();try{let{done:b,value:c}=await f.read();if(b){k.handleComplete(),a.close();return}a.enqueue(c)}catch(c){let b=k.isConnected();if(k.handleError(c),f.cancel().catch(()=>{}),g.abort().catch(()=>{}),!b||"AbortError"===c.name||c.message?.includes("aborted"))try{a.close()}catch(a){}else try{a.error(c)}catch(a){}}},cancel(a){k.handleDisconnect(a||"cancelled"),f.cancel(),g.abort()}})}},60125:(a,b,c)=>{c.d(b,{p:()=>g});var d=c(14170);let e="Preserve every fact, number, name, technical term, negation, uncertainty qualifier, condition, time/frequency word, constraint and ordered step. Never add facts or remove reasoning links. Keep code blocks, file paths, commands, errors, URLs and API identifiers exact. Use normal language for security warnings, irreversible actions and confirmation requests.",f={lite:["Use concise normal language. Remove filler, pleasantries, repeated explanations and unnecessary hedging. Prefer active voice, present tense and short sentences. One atomic thought per sentence when practical.",e,"Do not mention this compression instruction."].join(" "),full:["Use Caveman Compression. Remove articles, auxiliary verbs, redundant pronouns, intensifiers and grammatical scaffolding when meaning remains clear. Prefer 2-7 word sentences. Split compound thoughts. Remove connectives when sequence preserves cause and effect. Use simple common words, active voice and present tense. Keep critical prepositions that define location, source, inclusion or exclusion.",e,"Avoid telegraphic ambiguity. Do not mention this compression instruction."].join(" "),ultra:["Use maximum safe Caveman Compression. Keep only unpredictable semantic content. Use atomic 2-5 word sentences, labels, compact lists and standard technical abbreviations. Remove articles, auxiliaries, filler and most connectives. Compression must remain unambiguous and logically complete. Expand any phrase whose word order could change meaning.",e,"Do not mention this compression instruction."].join(" ")};function g(a,b,c){let e=f[c];if(a&&e)switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
25
25
 
26
26
  ${b}`;return}if(Array.isArray(a.system)){let c={type:"text",text:b},d=-1;for(let b=a.system.length-1;b>=0;b--)if(a.system[b]?.cache_control){d=b;break}d>=0?a.system.splice(d,0,c):a.system.push(c);return}a.system=b}(a,e);return;case d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:case d.h.ANTIGRAVITY:var g,h;let i,j,k;g=a,h=e,i=g.request&&"object"==typeof g.request?g.request:g,j=Object.prototype.hasOwnProperty.call(i,"system_instruction")?"system_instruction":"systemInstruction",(k=i[j])&&Array.isArray(k.parts)?k.parts.push({text:h}):i[j]={parts:[{text:h}]};return;default:!function(a,b){var c,d;if("string"==typeof a.instructions){a.instructions=a.instructions?`${a.instructions}
27
27
 
@@ -138,7 +138,7 @@ ${f.join("\n\n")}`),c.length?c:null}(b):null;if(e)return d.push(...e),d;if("stri
138
138
  WHERE session_id = ?`,[S.provider,S.account_name,S.connection_id,S.display_model,S.session_id])}finally{U.close()}}catch(a){t("db-write",`[PromptDB] Failed to write prompt log: ${a.message}`)}}async function L(a,b,c){if(await s(),!m||!p)return null;try{m.existsSync(p)||m.mkdirSync(p,{recursive:!0});let d=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=a.getFullYear(),d=b(a.getMonth()+1),e=b(a.getDate()),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds()),i=String(a.getMilliseconds()).padStart(3,"0");return`${c}${d}${e}_${f}${g}${h}_${i}`}(),e=(c||"unknown").replace(/[/:]/g,"-"),f=`${a}_${b}_${e}_${d}`,g=n.join(p,f);return m.mkdirSync(g,{recursive:!0}),g}catch(a){return console.log("[LOG] Failed to create log session:",a.message),null}}function M(a){if(!a)return{};let b={...a},c=["authorization","x-api-key","cookie","token","api-key","openai-api-key","anthropic-api-key","gemini-api-key","google-api-key"];for(let a of Object.keys(b)){let d=a.toLowerCase();if(c.some(a=>d.includes(a))){let c=String(b[a]||"");c.length>16?b[a]=`${c.slice(0,6)}...${c.slice(-4)}`:c.length>0&&(b[a]="***")}}return b}async function N(a,b,c,d={}){if(!f)return{sessionPath:null,logClientRawRequest(){},logRawRequest(){},logOpenAIRequest(){},logTargetRequest(){},logProviderResponse(){},appendProviderChunk(){},appendOpenAIChunk(){},logConvertedResponse(){},appendConvertedChunk(){},logError(){}};let e=await L(a,b,c),h=e?String(e).split(/[\\/]/).pop():null,i="disabled"===l(d?.contentLoggingMode),j={},k={},o=(a,b)=>{var c=i?function(a={}){let b={timestamp:a.timestamp||new Date().toISOString(),contentLoggingMode:"disabled",contentRedacted:!0,note:g};return a.endpoint&&(b.endpoint=a.endpoint),a.url&&(b.url=a.url),void 0!==a.status&&(b.status=a.status),void 0!==a.statusText&&(b.statusText=a.statusText),void 0!==a.error&&(b.error=a.error),b}(b):b;if(m&&e)try{let b=n.join(e,a);m.writeFileSync(b,JSON.stringify(c,null,2))}catch(b){console.log(`[LOG] Failed to write ${a}:`,b.message)}};return{get sessionPath(){return e},logClientRawRequest(e,f,g={}){let i={timestamp:new Date().toISOString(),endpoint:e,headers:M(g),body:f};j=y(j,w(g)),k=y(k,x(g)),o("1_req_client.json",i),K({stage:"client",clientInfo:j,sourceInfo:k,sessionId:h,sourceFormat:a,targetFormat:b,model:c,context:d,endpoint:e,request:i})},logRawRequest(e,f={}){let g={timestamp:new Date().toISOString(),headers:M(f),body:e};j=y(j,w(f)),k=y(k,x(f)),o("2_req_source.json",g),K({stage:"source",clientInfo:j,sourceInfo:k,sessionId:h,sourceFormat:a,targetFormat:b,model:c,context:d,request:g})},logOpenAIRequest(e){let f={timestamp:new Date().toISOString(),body:e};o("3_req_openai.json",f),K({stage:"openai",clientInfo:j,sourceInfo:k,sessionId:h,sourceFormat:a,targetFormat:b,model:c,context:d,request:f})},logTargetRequest(e,f,g,i=null){let l={timestamp:new Date().toISOString(),url:e,headers:M(f),body:g,...i?{attempt:i}:{}};o("4_req_target.json",l),K({stage:"target",clientInfo:j,sourceInfo:k,sessionId:h,sourceFormat:a,targetFormat:b,model:c,context:d,endpoint:e,providerUrl:e,request:l,meta:i?{attempt:i}:void 0})},logProviderResponse(e,f,g,i){let l={timestamp:new Date().toISOString(),status:e,statusText:f,headers:g?"function"==typeof g.entries?Object.fromEntries(g.entries()):g:{},body:i};o("5_res_provider.json",l),K({stage:"provider_response",clientInfo:j,sourceInfo:k,sessionId:h,sourceFormat:a,targetFormat:b,model:c,context:d,statusCode:e,response:i,meta:l})},appendProviderChunk(a){if(!i&&m&&e)try{let b=n.join(e,"5_res_provider.txt");m.appendFileSync(b,a)}catch{}},appendOpenAIChunk(a){if(!i&&m&&e)try{let b=n.join(e,"6_res_openai.txt");m.appendFileSync(b,a)}catch{}},logConvertedResponse(a){o("7_res_client.json",{timestamp:new Date().toISOString(),body:a})},appendConvertedChunk(a){if(!i&&m&&e)try{let b=n.join(e,"7_res_client.txt");m.appendFileSync(b,a)}catch{}},logError(e,f=null){let g={timestamp:new Date().toISOString(),error:e?.message||String(e),stack:e?.stack,requestBody:f};o("6_error.json",g),K({stage:"error",clientInfo:j,sourceInfo:k,sessionId:h,sourceFormat:a,targetFormat:b,model:c,context:d,errorText:g.error,request:f,meta:g})}}}},71857:(a,b,c)=>{c.d(b,{i5:()=>w,l2:()=>x,lm:()=>g.lm,v8:()=>h.v8});var d=c(33110),e=c(14170),f=c(47370),g=c(73483),h=c(9024),i=c(43659),j=c(41004);let k=new TextEncoder,l=Number(process.env.PROMPT_LOG_DB_PROVIDER_STREAM_RAW_MAX_CHARS||262144),m=Number(process.env.PROMPT_LOG_DB_PROVIDER_STREAM_EVENT_MAX_ITEMS||1e3);function n(a,b,c=null,d=null){if(!a||!b||"object"!=typeof b)return;let e=Number.isFinite(m)&&m>0?m:0,f=p(b);f&&a.formats.add(f),c?.content&&(a.contentFound=!0),c?.thinking&&(a.thinkingFound=!0),(d||(0,g.f5)(b))&&(a.usageFound=!0);let h=q(b);if(h&&(a.finishReason=h.normalized,a.finishReasonRaw=h.raw,a.finishReasonProvider=f||p(b)||"unknown"),e<=0){a.eventsDisabled=!0;return}if(a.events.length>=e){a.eventsTruncated=!0;return}a.events.push(b)}function o(a,b="",c=""){if(!a)return null;let d=Array.from(a.formats||[]),e="string"==typeof b?b:"",f="string"==typeof c?c:"";return{raw_sse:a.raw||"",raw_disabled:!!a.rawDisabled,raw_truncated:!!a.rawTruncated,events:a.events||[],events_disabled:!!a.eventsDisabled,events_truncated:!!a.eventsTruncated,content:e,thinking:f,finish_reason:a.finishReason||null,finish_reason_raw:a.finishReasonRaw||null,finish_reason_provider:a.finishReasonProvider||null,parser:{format:1===d.length?d[0]:d.length>1?"mixed":"unknown",formats:d,content_found:!!(a.contentFound||e),thinking_found:!!(a.thinkingFound||f),usage_found:!!a.usageFound}}}function p(a){return a&&"object"==typeof a?a.choices||"chat.completion.chunk"===a.object||"response.chunk"===a.object?"openai":a.candidates||a.usageMetadata||a.response?.candidates?"gemini":a.type&&String(a.type).startsWith("content_block")||a.type&&String(a.type).startsWith("message")?"anthropic":a.type&&String(a.type).startsWith("response.")?"openai_responses":a.message||Object.prototype.hasOwnProperty.call(a,"response")||Object.prototype.hasOwnProperty.call(a,"done")?"ollama":a.content||a.text||a.output_text?"generic":"unknown":"unknown"}function q(a){if(!a||"object"!=typeof a)return null;for(let b of[a.choices?.[0]?.finish_reason,a.choices?.[0]?.finishReason,a.candidates?.[0]?.finishReason,a.response?.candidates?.[0]?.finishReason,a.delta?.stop_reason,a.stop_reason,a.message?.stop_reason,a.response?.status==="completed"?"stop":null,"response.completed"===a.type?"stop":null,"response.done"===a.type?"stop":null,a.finish_reason,a.finishReason,!0===a.done?a.done_reason||"stop":null,a.done_reason]){let a=function(a){if(null==a)return null;let b=String(a).trim();if(!b)return null;let c=b.toLowerCase();switch(c){case"stop":case"end_turn":case"complete":case"completed":case"success":return"stop";case"length":case"max_tokens":case"max_output_tokens":case"max_tokens_reached":return"length";case"tool_calls":case"tool_call":case"function_call":return"tool_calls";case"content_filter":case"safety":case"blocked":return"safety";case"recitation":return"recitation";default:return c}}(b);if(a)return{raw:String(b),normalized:a}}return null}function r(a){let b={content:"",thinking:""};if(!a||"object"!=typeof a)return b;let c=(a,c=!1)=>{"string"==typeof a&&0!==a.length&&(c?b.thinking+=a:b.content+=a)};for(let b of Array.isArray(a.choices)?a.choices:[]){let a=b?.delta||null,d=b?.message||null;c(a?.content),c(a?.text),c(a?.reasoning_content,!0),c(a?.reasoning,!0),c(a?.thinking,!0),c(d?.content),c(d?.reasoning_content,!0),c(d?.thinking,!0)}let d=a.delta||null;c(d?.content),c(d?.text),c(d?.reasoning_content,!0),c(d?.reasoning,!0),c(d?.thinking,!0),("content_block_delta"===a.type||"message_delta"===a.type||a.delta)&&(c(a.delta?.text),c(a.delta?.thinking,!0),c(a.delta?.partial_json)),"content_block_start"===a.type&&(c(a.content_block?.text),c(a.content_block?.thinking,!0));let e=a.candidates||a.response?.candidates;if(Array.isArray(e))for(let a of e)for(let b of a?.content?.parts||[])c(b?.text,b?.thought===!0||b?.thoughtSignature===!0);c(a.message?.content),c(a.message?.thinking,!0),c(a.response),c(a.thinking,!0),c(a.output_text),c(a.response?.output_text),"response.output_text.delta"===a.type&&c(a.delta),"response.reasoning_summary_text.delta"===a.type&&c(a.delta,!0),"response.reasoning_delta"===a.type&&c(a.delta,!0);let f=a.output||a.response?.output;if(Array.isArray(f)){for(let a of f)if("string"==typeof a?.content&&c(a.content,"reasoning"===a.type),Array.isArray(a?.content))for(let b of a.content)c(b?.text||b?.output_text,b?.type==="reasoning"||b?.type==="summary_text"||b?.type==="reasoning_text")}return c(a.content),c(a.text),c(a.data?.content),c(a.data?.text),c(a.data?.message?.content),b}function s(a){return!!a&&"object"==typeof a&&!!(q(a)||"message_delta"===a.type)}let t="translate",u="passthrough";function v(a={}){let{mode:b=t,targetFormat:c,sourceFormat:m,provider:p=null,reqLogger:q=null,toolNameMap:w=null,model:x=null,connectionId:y=null,body:z=null,onStreamComplete:A=null,apiKey:B=null}=a,C="",D=null,E=new TextDecoder("utf-8",{fatal:!1}),F=b===t?{...(0,d.Ws)(m),provider:p,toolNameMap:w,model:x}:null,G=0,H="",I="",J=null,K=!1,L={raw:"",rawTruncated:!1,rawDisabled:!1,events:[],eventsTruncated:!1,eventsDisabled:!1,formats:new Set,contentFound:!1,thinkingFound:!1,usageFound:!1,finishReason:null,finishReasonRaw:null,finishReasonProvider:null};return new TransformStream({transform(a,f){J||(J=Date.now());let o=E.decode(a,{stream:!0});C+=o,q?.appendProviderChunk?.(o),function(a,b){if(!a||"string"!=typeof b||!b)return;let c=Number.isFinite(l)&&l>0?l:0;if(c<=0){a.rawDisabled=!0;return}let d=c-a.raw.length;if(d<=0){a.rawTruncated=!0;return}b.length>d?(a.raw+=b.slice(0,d),a.rawTruncated=!0):a.raw+=b}(L,o);let p=C.split("\n");for(let a of(C=p.pop()||"",p)){let l=a.trim();if(b===u){let b,c=!1;if(l.startsWith("data:")&&"[DONE]"===l.slice(5).trim()&&(K=!0),l.startsWith("data:")&&"[DONE]"!==l.slice(5).trim())try{let a=JSON.parse(l.slice(5).trim()),d=(0,h.A4)(a),f=!1;if(void 0!==a.choices&&(a.object||(a.object="chat.completion.chunk",f=!0),a.created||(a.created=Math.floor(Date.now()/1e3),f=!0)),void 0!==a.prompt_filter_results&&(delete a.prompt_filter_results,f=!0),a?.choices)for(let b of a.choices)void 0!==b.content_filter_results&&(delete b.content_filter_results,f=!0);let i=r(a),j=(0,g.f5)(a);if(n(L,a,i,j),j&&(D=j),!(0,h.c2)(a,e.h.OPENAI)&&!i.content&&!i.thinking&&!j&&!s(a))continue;i.content&&(G+=i.content.length,H+=i.content),i.thinking&&(G+=i.thinking.length,I+=i.thinking);let k=s(a),m=void 0!==a.choices;if(k&&m&&!(0,g.Gh)(a.usage)){let d=(0,g.OF)(z,G,e.h.OPENAI);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
139
139
  `,D=d,c=!0}else if(k&&m&&D){let d=(0,g.O9)(D);a.usage=(0,g.WL)(d,e.h.OPENAI),b=`data: ${JSON.stringify(a)}
140
140
  `,c=!0}else(d||f)&&(b=`data: ${JSON.stringify(a)}
141
- `,c=!0)}catch{}c||(b=a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5)+"\n":a+"\n"),q?.appendConvertedChunk?.(b),f.enqueue(k.encode(b));continue}if(!l)continue;let o=(0,h.tV)(l,c);if(!o)continue;if(o&&o.done&&c!==e.h.OLLAMA){let a="data: [DONE]\n\n";q?.appendConvertedChunk?.(a),f.enqueue(k.encode(a)),K=!0;continue}let p=r(o);p.content&&(G+=p.content.length,H+=p.content),p.thinking&&(G+=p.thinking.length,I+=p.thinking);let t=(0,g.f5)(o);n(L,o,p,t),t&&(F.usage=t);let v=(0,d.Y8)(c,m,o,F);if(F?.error&&!F.errorFrameSent){F.errorFrameSent=!0;let a=F.error.message||JSON.stringify(F.error),b=(0,i.j7)(j.gx.BAD_GATEWAY,a,m);q?.appendConvertedChunk?.(b),f.enqueue(k.encode(b)),K=!0;continue}if(v?._openaiIntermediate)for(let a of v._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(v?.length>0)for(let a of v){if(!(0,h.c2)(a,m))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(F.finishReason&&b&&!(0,g.Gh)(a.usage)&&G>0){let b=(0,g.OF)(z,G,m);a.usage=(0,g.WL)(b,m),F.usage=b}else if(F.finishReason&&b&&F.usage){let b=(0,g.O9)(F.usage);a.usage=(0,g.WL)(b,m)}let c=(0,h.v8)(a,m);q?.appendConvertedChunk?.(c),f.enqueue(k.encode(c))}}},flush(a){(0,f.uw)(x,p,y,!1);try{let i=E.decode();if(i&&(C+=i),b===u){if(C){let b=C;C.startsWith("data:")&&!C.startsWith("data: ")&&(b="data: "+C.slice(5)),q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b))}if(!(0,g.Gh)(D)&&G>0&&(D=(0,g.OF)(z,G,e.h.OPENAI)),(0,g.Gh)(D)?(0,g.IF)(p,D,x,y,B):(0,f.E5)({model:x,provider:p,connectionId:y,tokens:null,status:"200 OK"}).catch(()=>{}),!K){let b="data: [DONE]\n\n";q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b)),K=!0}A&&A({content:H,thinking:I,providerStream:o(L,H,I)},D,J);return}if(C.trim()){let b=(0,h.tV)(C.trim());if(b&&!b.done){n(L,b,r(b),(0,g.f5)(b));let f=(0,d.Y8)(c,m,b,F);if(f?._openaiIntermediate)for(let a of f._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(f?.length>0)for(let b of f){let c=(0,h.v8)(b,m);q?.appendConvertedChunk?.(c),a.enqueue(k.encode(c))}}}let j=(0,d.Y8)(c,m,null,F);if(j?._openaiIntermediate)for(let a of j._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(j?.length>0)for(let b of j){let c=(0,h.v8)(b,m);q?.appendConvertedChunk?.(c),a.enqueue(k.encode(c))}if(!K){let b="data: [DONE]\n\n";q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b)),K=!0}!(0,g.Gh)(F?.usage)&&G>0&&(F.usage=(0,g.OF)(z,G,m)),(0,g.Gh)(F?.usage)?(0,g.IF)(F.provider||c,F.usage,x,y,B):(0,f.E5)({model:x,provider:p,connectionId:y,tokens:null,status:"200 OK"}).catch(()=>{}),A&&A({content:H,thinking:I,providerStream:o(L,H,I),streamError:F?.error||null},F?.usage,J)}catch(a){console.log("Error in flush:",a)}}})}function w(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null,j=null){return v({mode:t,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i,apiKey:j})}function x(a=null,b=null,c=null,d=null,e=null,f=null,g=null){return v({mode:u,provider:a,reqLogger:b,model:c,connectionId:d,body:e,onStreamComplete:f,apiKey:g})}},72758:(a,b,c)=>{c.d(b,{BI:()=>M,fT:()=>Q,Qi:()=>P});let d="v0.42.4",e=["node_modules",".git","target","__pycache__",".next","dist","build",".venv","venv",".cache",".idea",".vscode",".DS_Store"];function f(a,b=500){let c=[],d="",e=0,g=0,h=!1,i=0,j=0,k=!1;for(let f of a.split("\n")){if(f.startsWith("diff --git")){j>0&&(c.push(` ... (${j} lines truncated)`),k=!0,j=0),d&&(e>0||g>0)&&c.push(` +${e} -${g}`);let a=f.split(" b/");d=a.length>1?a.slice(1).join(" b/"):"unknown",c.push(`
141
+ `,c=!0)}catch{}c||(b=a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5)+"\n":a+"\n"),q?.appendConvertedChunk?.(b),f.enqueue(k.encode(b));continue}if(!l)continue;let o=(0,h.tV)(l,c);if(!o)continue;if(o&&o.done&&c!==e.h.OLLAMA){let a="data: [DONE]\n\n";q?.appendConvertedChunk?.(a),f.enqueue(k.encode(a)),K=!0;continue}let p=r(o);p.content&&(G+=p.content.length,H+=p.content),p.thinking&&(G+=p.thinking.length,I+=p.thinking);let t=(0,g.f5)(o);n(L,o,p,t),t&&(F.usage=t);let v=(0,d.Y8)(c,m,o,F);if(F?.error&&!F.errorFrameSent){F.errorFrameSent=!0;let a=F.error.message||JSON.stringify(F.error),b=(0,i.j7)(j.gx.BAD_GATEWAY,a,m);q?.appendConvertedChunk?.(b),f.enqueue(k.encode(b)),K=!0;continue}if(v?._openaiIntermediate)for(let a of v._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(v?.length>0)for(let a of v){if(!(0,h.c2)(a,m))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(F.finishReason&&b&&!(0,g.Gh)(a.usage)&&G>0){let b=(0,g.OF)(z,G,m);a.usage=(0,g.WL)(b,m),F.usage=b}else if(F.finishReason&&b&&F.usage){let b=(0,g.O9)(F.usage);a.usage=(0,g.WL)(b,m)}let c=(0,h.v8)(a,m);q?.appendConvertedChunk?.(c),f.enqueue(k.encode(c))}}},flush(a){(0,f.uw)(x,p,y,!1);try{let i=E.decode();if(i&&(C+=i),b===u){if(C){let b=C;C.startsWith("data:")&&!C.startsWith("data: ")&&(b="data: "+C.slice(5)),q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b))}if(!(0,g.Gh)(D)&&G>0&&(D=(0,g.OF)(z,G,e.h.OPENAI)),(0,g.Gh)(D)?(0,g.IF)(p,D,x,y,B):(0,f.E5)({model:x,provider:p,connectionId:y,tokens:null,status:"200 OK"}).catch(()=>{}),!K){let b="data: [DONE]\n\n";q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b)),K=!0}A&&A({content:H,thinking:I,providerStream:o(L,H,I)},D,J);return}if(C.trim()){let b=(0,h.tV)(C.trim());if(b&&!b.done){n(L,b,r(b),(0,g.f5)(b));let f=(0,d.Y8)(c,m,b,F);if(f?._openaiIntermediate)for(let a of f._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(f?.length>0)for(let b of f){let c=(0,h.v8)(b,m);q?.appendConvertedChunk?.(c),a.enqueue(k.encode(c))}}}let j=(0,d.Y8)(c,m,null,F);if(j?._openaiIntermediate)for(let a of j._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);q?.appendOpenAIChunk?.(b)}if(j?.length>0)for(let b of j){let c=(0,h.v8)(b,m);q?.appendConvertedChunk?.(c),a.enqueue(k.encode(c))}if(!K){let b="data: [DONE]\n\n";q?.appendConvertedChunk?.(b),a.enqueue(k.encode(b)),K=!0}!(0,g.Gh)(F?.usage)&&G>0&&(F.usage=(0,g.OF)(z,G,m)),(0,g.Gh)(F?.usage)?(0,g.IF)(F.provider||c,F.usage,x,y,B):(0,f.E5)({model:x,provider:p,connectionId:y,tokens:null,status:"200 OK"}).catch(()=>{}),A&&A({content:H,thinking:I,providerStream:o(L,H,I),streamError:F?.error||null},F?.usage,J)}catch(a){console.log("Error in flush:",a)}}})}function w(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null,j=null){return v({mode:t,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i,apiKey:j})}function x(a=null,b=null,c=null,d=null,e=null,f=null,g=null){return v({mode:u,provider:a,reqLogger:b,model:c,connectionId:d,body:e,onStreamComplete:f,apiKey:g})}},81626:(a,b,c)=>{function d(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!d||!e)return;let f=d[1].trim(),g=e[1].trim();if("[DONE]"!==g){try{c=JSON.parse(g)}catch{return}"response.created"===f?(b.responseId=c.response?.id||b.responseId,b.created=c.response?.created_at||b.created):"response.output_item.done"===f?b.items.set(c.output_index??0,c.item):"response.completed"===f?(b.status="completed",c.response?.usage&&(b.usage.input_tokens=c.response.usage.input_tokens||0,b.usage.output_tokens=c.response.usage.output_tokens||0,b.usage.total_tokens=c.response.usage.total_tokens||0)):"response.failed"===f&&(b.status="failed")}}c.d(b,{I:()=>o,F:()=>n});let e={input_tokens:0,output_tokens:0,total_tokens:0};async function f(a){if(!a||"function"!=typeof a.getReader)return{id:`resp_${Date.now()}`,object:"response",created_at:Math.floor(Date.now()/1e3),status:"failed",output:[],usage:{...e}};let b=a.getReader(),c=new TextDecoder,f="",g={responseId:"",created:Math.floor(Date.now()/1e3),status:"in_progress",usage:{...e},items:new Map};try{for(;;){let{done:a,value:e}=await b.read();if(a)break;let h=(f+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(f=h.pop()||"",h))d(a,g)}f.trim()&&d(f,g)}finally{b.releaseLock()}let h=[],i=g.items.size>0?Math.max(...g.items.keys()):-1;for(let a=0;a<=i;a++)h.push(g.items.get(a)||{type:"message",content:[],role:"assistant"});return{id:g.responseId||`resp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,object:"response",created_at:g.created,status:g.status||"completed",output:h,usage:g.usage}}var g=c(43659),h=c(41004),i=c(14170),j=c(86171),k=c(9902),l=c(47370);function m(a){if(!a?.content||!Array.isArray(a.content))return"";let b=a.content.find(a=>"output_text"===a.type);if("string"==typeof b?.text)return b.text;let c=a.content.find(a=>"string"==typeof a.text);return"string"==typeof c?.text?c.text:""}function n(a,b){let c=[];for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let d=a.slice(5).trim();if(d&&"[DONE]"!==d)try{c.push(JSON.parse(d))}catch{}}if(0===c.length)return null;let d=c[0],e=[],f=[],g=new Map,h="stop",i=null,j=!1;for(let a of c){let b=a?.choices?.[0];b&&(j=!0);let c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&e.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&f.push(c.reasoning_content),b?.finish_reason&&(h=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(i=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;g.has(b)||g.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=g.get(b);a.id&&(c.id=a.id),a.function?.name&&(c.function.name+=a.function.name),a.function?.arguments&&(c.function.arguments+=a.function.arguments)}}if(!j)return null;let k={role:"assistant",content:e.join("")||(g.size>0?null:"")};f.length>0&&(k.reasoning_content=f.join("")),g.size>0&&(k.tool_calls=[...g.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let l={id:d.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:d.created||Math.floor(Date.now()/1e3),model:d.model||b||"unknown",choices:[{index:0,message:k,finish_reason:h}]};return i&&(l.usage=i),l}async function o({providerResponse:a,sourceFormat:b,provider:c,model:d,body:e,stream:p,translatedBody:q,finalBody:r,requestStartTime:s,connectionId:t,apiKey:u,clientRawRequest:v,onRequestSuccess:w,trackDone:x,appendLog:y,requestContext:z,requestPolicyMeta:A,rtkStats:B=null}){let C=a.headers.get("content-type")||"";if(!(C.includes("text/event-stream")||""===C&&"codex"===c))return null;x();let D={provider:c,model:d,connectionId:t,request:(0,j.Fo)(e,p),providerRequest:r||q||null};if("codex"===c||b===i.h.OPENAI_RESPONSES)try{let g,h=await f(a.body);w&&await w();let{msgItem:n,textContent:o}=function(a){if(!Array.isArray(a))return{msgItem:null,textContent:null};let b=a.filter(a=>a?.type==="message");if(0===b.length)return{msgItem:null,textContent:null};for(let a=b.length-1;a>=0;a--){let c=m(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:m(c)}}(h.output),p=(0,j.YZ)({usage:h.usage||null,body:e,responseBody:h,contentText:o||"",format:b});y({tokens:p,status:"200 OK"});let q=Date.now()-s;if((0,j.qr)({provider:c,model:d,tokens:p,connectionId:t,apiKey:u,endpoint:v?.endpoint,status:"ok",statusCode:200,latencyMs:q,ttftMs:q,isStreaming:!1,requestContext:z||{},requestPolicyMeta:A,rtkStats:B,meta:p?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:p.usageEstimatedReason}:{}}),(0,l.ox)((0,j.$R)({...D,latency:{ttft:q,total:q},tokens:{prompt_tokens:p.input_tokens??p.prompt_tokens??0,completion_tokens:p.output_tokens??p.completion_tokens??0},response:{content:o,thinking:null,finish_reason:h.status||"unknown"},status:"success",rtkStats:B},{endpoint:v?.endpoint||null,requestId:z?.requestId})).catch(()=>{}),b===i.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(h),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let r=p.input_tokens??p.prompt_tokens??0,x=p.output_tokens??p.completion_tokens??0,C=(h.output||[]).filter(a=>"function_call"===a.type).map((a,b)=>({id:a.call_id||`call_${a.name}_${Date.now()}_${b}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),E=C.length>0;if(b===i.h.ANTIGRAVITY||b===i.h.GEMINI||b===i.h.GEMINI_CLI)g={response:{candidates:[{content:{role:"model",parts:[{text:o||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:r,candidatesTokenCount:x,totalTokenCount:r+x},modelVersion:d,responseId:h.id||`resp_${Date.now()}`}};else if(b===i.h.CLAUDE){let a={id:h.id||`chatcmpl-${Date.now()}`,model:h.model||d,choices:[{index:0,message:{role:"assistant",content:o||(E?null:""),...E?{tool_calls:C}:{}},finish_reason:E?"tool_calls":"completed"===h.status?"stop":h.status||"stop"}]};g=(0,k.F)(a,{input_tokens:r,output_tokens:x})}else{let a={role:"assistant",content:o||(E?null:"")};E&&(a.tool_calls=C);let b=E?"tool_calls":"completed"===h.status?"stop":h.status||"stop";g={id:h.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:h.created_at||Math.floor(Date.now()/1e3),model:h.model||d,choices:[{index:0,message:a,finish_reason:b}],usage:{prompt_tokens:r,completion_tokens:x,total_tokens:r+x}}}return{success:!0,response:new Response(JSON.stringify(g),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON",void 0,b)}try{let f=await a.text(),m=n(f,d);if(!m)return(0,g.A1)(h.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request",void 0,b);w&&await w();let o=(0,j.YZ)({usage:m.usage||null,body:e,responseBody:m,contentText:`${m.choices?.[0]?.message?.content||""}${m.choices?.[0]?.message?.reasoning_content||""}`,format:b});y({tokens:o,status:"200 OK"});let p=Date.now()-s;(0,j.qr)({provider:c,model:d,tokens:o,connectionId:t,apiKey:u,endpoint:v?.endpoint,status:"ok",statusCode:200,latencyMs:p,ttftMs:p,isStreaming:!1,requestContext:z||{},requestPolicyMeta:A,rtkStats:B,meta:o?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:o.usageEstimatedReason}:{}}),(0,l.ox)((0,j.$R)({...D,latency:{ttft:p,total:p},tokens:o,response:{content:m.choices?.[0]?.message?.content||null,thinking:m.choices?.[0]?.message?.reasoning_content||null,finish_reason:m.choices?.[0]?.finish_reason||"unknown"},status:"success",rtkStats:B},{endpoint:v?.endpoint||null,requestId:z?.requestId})).catch(()=>{});let q=m;if(b===i.h.CLAUDE)q=(0,k.F)(m,o);else if(b===i.h.OPENAI_RESPONSES)q=(0,k.P)(m,o);else if(m?.choices)for(let a of m.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;return{success:!0,response:new Response(JSON.stringify(q),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON",void 0,b)}}},86171:(a,b,c)=>{c.d(b,{$R:()=>p,Fo:()=>n,MK:()=>o,YZ:()=>i,qr:()=>s,sx:()=>t,wS:()=>m});var d=c(99703),e=c(71857),f=c(73483);let g=["temperature","top_p","top_k","max_tokens","max_completion_tokens","thinking","reasoning","enable_thinking","presence_penalty","frequency_penalty","seed","stop","tools","tool_choice","response_format","prediction","store","metadata","n","logprobs","top_logprobs","logit_bias","user","parallel_tool_calls"];function h(a){return(function a(b,c=new Set){if(null==b)return"";if("string"==typeof b)return b;if("object"!=typeof b||c.has(b))return"";if(c.add(b),Array.isArray(b))return b.map(b=>a(b,c)).filter(Boolean).join("");let d="";for(let e of("string"==typeof b.content&&(d+=b.content),"string"==typeof b.reasoning_content&&(d+=b.reasoning_content),"string"==typeof b.text&&(d+=b.text),"string"==typeof b.output_text&&(d+=b.output_text),"string"==typeof b.delta?.content&&(d+=b.delta.content),"string"==typeof b.delta?.reasoning_content&&(d+=b.delta.reasoning_content),"string"==typeof b.delta?.text&&(d+=b.delta.text),"string"==typeof b.delta?.thinking&&(d+=b.delta.thinking),["message","choices","candidates","content","parts","output","response","data","item","items","result","results","message_delta","delta"]))void 0!==b[e]&&"string"!=typeof b[e]&&(d+=a(b[e],c));return d})(a).trim()}function i({usage:a,body:b,responseBody:c,translatedResponse:d,contentText:e,format:g,reason:j="missing_provider_usage"}={}){if((0,f.Gh)(a))return a;let k="string"==typeof e&&e.length>0?e:h(d)||h(c);return{...(0,f.OF)(b,k.length,g),estimated:!0,usageEstimated:!0,usageEstimatedReason:j}}function j(a){return String(a||"").trim()}function k(a){return a?"function"==typeof a.entries?Object.fromEntries(a.entries()):"object"==typeof a?a:{}:{}}function l(a,...b){let c=k(a);for(let a of b){let b=c[a]??c[a.toLowerCase()]??c[a.toUpperCase()];if(null!=b)return String(b)}return""}function m(a={}){let b=k(a.headers||a.request?.headers||a.clientHeaders),c=a.clientIp||a.sourceIp||l(b,"x-forwarded-for","x-real-ip","cf-connecting-ip","x-client-ip")||a.ip||"",d=a.clientUserAgent||l(b,"user-agent")||"",e=a.sourceTool||l(b,"x-9r-source-tool","x-source-tool","x-client-tool","x-bluerouter-source-tool")||"",f=a.sourceToolLabel||l(b,"x-9r-source-tool-label","x-source-tool-label","x-client-tool-label")||e;return{requestId:j(a.requestId)||`req_${Date.now()}_${Math.random().toString(36).slice(2,10)}`,sessionId:j(a.sessionId||l(b,"x-session-id","x-conversation-id","x-request-session-id")),clientIp:j(c),clientHost:j(a.clientHost||l(b,"host","x-forwarded-host")),clientUserAgent:j(d),sourceTool:j(e),sourceToolLabel:j(f),sourceHost:j(a.sourceHost||l(b,"x-9r-source-host","origin","referer"))}}function n(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of g)void 0!==a[b]&&(c[b]=a[b]);return c}function o(a){if(!a||"object"!=typeof a)return null;let b=a.usage||a.response?.usage;if(b?.input_tokens!==void 0||b?.output_tokens!==void 0)return{prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,cached_tokens:b.input_tokens_details?.cached_tokens||b.prompt_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens||b.completion_tokens_details?.reasoning_tokens};if(b?.prompt_tokens!==void 0)return{prompt_tokens:b.prompt_tokens||0,completion_tokens:b.completion_tokens||0,cached_tokens:b.prompt_tokens_details?.cached_tokens||b.prompt_cache_hit_tokens,reasoning_tokens:b.completion_tokens_details?.reasoning_tokens,prompt_tokens_details:b.prompt_tokens_details,completion_tokens_details:b.completion_tokens_details};let c=a.usageMetadata||a.response?.usageMetadata;if(c)return{prompt_tokens:c.promptTokenCount||0,completion_tokens:c.candidatesTokenCount||0,total_tokens:c.totalTokenCount,cached_tokens:c.cachedContentTokenCount,reasoning_tokens:c.thoughtsTokenCount};if(!0===a.done||a.response?.done===!0){let b=a.response||a;if("number"==typeof b.prompt_eval_count||"number"==typeof b.eval_count)return{prompt_tokens:b.prompt_eval_count||0,completion_tokens:b.eval_count||0,total_tokens:(b.prompt_eval_count||0)+(b.eval_count||0)}}return null}function p(a,b={}){return{provider:a.provider||"unknown",model:a.model||"unknown",connectionId:a.connectionId||void 0,timestamp:new Date().toISOString(),latency:a.latency||{ttft:0,total:0},tokens:a.tokens||{prompt_tokens:0,completion_tokens:0},request:a.request,providerRequest:a.providerRequest||null,providerResponse:a.providerResponse||null,response:a.response||{},status:a.status||"success",rtkStats:a.rtkStats||b.rtkStats||null,...b}}function q(a){if(!0===a||1===a)return!0;if(!1===a||0===a)return!1;if("string"==typeof a){let b=a.trim().toLowerCase();if(["true","1","yes","on","enabled"].includes(b))return!0;if(["false","0","no","off","disabled"].includes(b))return!1}return null}function r(a,b=0){let c=Number(a);return Number.isFinite(c)?Math.max(0,Math.trunc(c)):b}function s({provider:a,model:b,tokens:c,connectionId:f,apiKey:g,endpoint:h,label:i="USAGE",status:j="ok",statusCode:k=200,errorCode:l="",errorType:m="",errorMessage:n="",latencyMs:o=0,ttftMs:p=0,isStreaming:t=!1,requestContext:u={},meta:v={},requestPolicyMeta:w={},rtkStats:x=null}){let y=c&&"object"==typeof c?c:{},z=y.input_tokens??y.prompt_tokens??0,A=y.output_tokens??y.completion_tokens??0,B=k>=400||j&&!["ok","success","200"].includes(String(j).toLowerCase()),C=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),D=f?` | account=${f.slice(0,8)}...`:"",E=B?e.lm.red||"":e.lm.green||"";console.log(`${E}[${C}] [${i}] ${String(a||"unknown").toUpperCase()} | in=${z} | out=${A}${D}${e.lm.reset}`);let F={prompt_tokens:y.prompt_tokens??y.input_tokens??0,completion_tokens:y.completion_tokens??y.output_tokens??0,cached_tokens:y.cached_tokens??y.cache_read_input_tokens??y.prompt_tokens_details?.cached_tokens??0,reasoning_tokens:y.reasoning_tokens??y.completion_tokens_details?.reasoning_tokens??0},G=function(a={}){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:{};return{thinkingEnabled:q(b.thinkingEnabled),thinkingAutoOff:!0===q(b.thinkingAutoOff),thinkingAutoOffReason:String(b.thinkingAutoOffReason||"").trim(),promptChars:r(b.promptChars,0),forceThinkingOffAboveChars:r(b.forceThinkingOffAboveChars,0)}}(w||v?.requestPolicyMeta||{});(0,d.Py)({provider:a||"unknown",model:b||"unknown",tokens:F,timestamp:new Date().toISOString(),connectionId:f||void 0,apiKey:g||void 0,endpoint:h||null,status:j,statusCode:k,errorCode:l,errorType:m,errorMessage:n,latencyMs:o,ttftMs:p,isStreaming:t,thinkingEnabled:G.thinkingEnabled,thinkingAutoOff:G.thinkingAutoOff,thinkingAutoOffReason:G.thinkingAutoOffReason,promptChars:G.promptChars,forceThinkingOffAboveChars:G.forceThinkingOffAboveChars,...u,meta:{...v,...x?{rtkStats:x}:{},requestContext:u,requestPolicyMeta:G}}).catch(()=>{})}function t({provider:a="unknown",model:b="unknown",connectionId:c,apiKey:d,endpoint:e,statusCode:f=500,errorCode:g="unknown_error",errorType:h="error",errorMessage:i="",latencyMs:j=0,ttftMs:k=0,requestContext:l={},requestPolicyMeta:m={},meta:n={},rtkStats:o=null}){s({provider:a,model:b,tokens:{prompt_tokens:0,completion_tokens:0},connectionId:c,apiKey:d,endpoint:e,status:"error",statusCode:f,errorCode:g,errorType:h,errorMessage:i,latencyMs:j,ttftMs:k,requestContext:l,requestPolicyMeta:m||l?.requestPolicyMeta||n?.requestPolicyMeta||{},meta:n,rtkStats:o,label:"ERROR USAGE"})}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>D});var e=c(57647),f=c(33110),g=c(14170),h=c(71857),i=c(59657),j=c(8590),k=c(71336),l=c(44404),m=c(43659),n=c(41004),o=c(27349),p=c(47370),q=c(35901),r=c(55330),s=c(86171),t=c(81626),u=c(5016),v=c(20623),w=c(324),x=c(14724),y=c(60125),z=c(94882),A=c(71750),B=a([r]);function C(a={}){(0,q.jk)(a).catch(()=>{}),(0,s.sx)({provider:a.provider,model:a.model,connectionId:a.connectionId,apiKey:a.apiKey,endpoint:a.endpoint,statusCode:a.gatewayStatusCode||a.statusCode||a.upstreamStatusCode||500,errorCode:a.errorCode,errorType:a.errorType,errorMessage:a.errorMessageShort||a.errorMessage,latencyMs:a.latencyMs,requestContext:a.requestContext||{},requestPolicyMeta:a.requestPolicyMeta||a.requestContext?.requestPolicyMeta||{},meta:{errorSource:a.errorSource,upstreamStatusCode:a.upstreamStatusCode,statusClass:a.statusClass},rtkStats:a.rtkStats||null})}async function D({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:q,onRequestSuccess:B,onDisconnect:E,clientRawRequest:F,connectionId:G,userAgent:H,apiKey:I,ccFilterNaming:J,rtkEnabled:K,cavemanEnabled:L,cavemanLevel:M,sourceFormatOverride:N,providerThinking:O,contentLoggingMode:P="inherit",requestPolicyMeta:Q=null,skipProviderRetry:R=!1}){let S,T,U,V,W,X,{provider:Y,model:Z}=b,$=Date.now();"claude"===Y&&(0,A.n)(G,F?.headers||{});let _=N||(0,e.Tz)(a),aa=(0,s.wS)({headers:F?.headers||{},requestId:F?.requestId,sessionId:F?.sessionId});if(F)for(let a of["accountName","connectionName","accountEmail","accountDisplayName","ownerUser","connectionScope","visibility"])F[a]&&!aa[a]&&(aa[a]=F[a]);Q&&"object"==typeof Q&&(aa.requestPolicyMeta=Q);let ab=(0,o.c)(a,Z,H,J);if(ab)return ab;let ac=l.Xg[Y]||Y,ad=(0,l.ux)(ac,Z)||(0,e.jJ)(Y),ae=(0,l.cY)(ac,Z),af=Q?.thinkingEnabled===!1||a?.enable_thinking===!1||a?.chat_template_kwargs?.enable_thinking===!1||a?.thinking?.type==="disabled";if(O?.mode&&"auto"!==O.mode&&!af){let b=O.mode;"on"!==b||a.thinking?"off"!==b||a.thinking?a.reasoning_effort||(a={...a,reasoning_effort:b}):a={...a,thinking:{type:"disabled"}}:(console.log("Injecting provider-level thinking config override: on"),a={...a,thinking:{type:"enabled",budget_tokens:1e4}})}let ag=!0===a.stream||_===g.h.ANTIGRAVITY||_===g.h.GEMINI||_===g.h.GEMINI_CLI,ah="openai"===Y||"codex"===Y||"commandcode"===Y,ai=!!ah||!0===a.stream,aj=(0,w.J)(F?.headers||{},a);"deepseek-tui"===aj&&!0!==a.stream&&(ai=!1);let ak=F?.headers?.accept||"",al=ak.includes("application/json"),am=ak.includes("text/event-stream");al&&!am&&!0!==a.stream&&(ai=!1);let an=c?._connection||{},ao={provider:Y,connectionId:G,connectionName:c?.connectionName||c?.name||c?.providerSpecificData?.connectionName||c?.providerSpecificData?.name||"",accountName:c?.email||c?.accountName||c?.providerSpecificData?.email||c?.providerSpecificData?.accountName||c?.providerSpecificData?.account_name||c?.providerSpecificData?.login||c?.providerSpecificData?.username||"",accountEmail:an.email||F?.accountEmail||"",accountDisplayName:an.displayName||an.name||F?.accountDisplayName||"",ownerUser:an.ownerUser||F?.ownerUser||"",connectionScope:an.scope||F?.connectionScope||"",visibility:an.visibility||F?.visibility||"",contentLoggingMode:P,routingMetadata:F?.routingMetadata||null},ap=await (0,k.q7)(_,ad,Z,ao);F&&ap.logClientRawRequest(F.endpoint,F.body,F.headers),ap.logRawRequest(a),d?.debug?.("FORMAT",`${_} → ${ad} | stream=${ai}`);let aq=(0,w.J)(F?.headers||{},a),ar=(0,w.Q)(aq,Y);if(aq&&!aa.sourceTool&&(aa.sourceTool=aq,aa.sourceToolLabel||(aa.sourceToolLabel=aq)),ar)d?.debug?.("PASSTHROUGH",`${aq} → ${Y} | native lossless`),S={...a,model:Z};else{if(!(S=(0,f.GH)(_,ad,Z,a,ai,c,Y,ap,ae,G,aq))){(0,p.uw)(Z,Y,G,!1,!0);let a=`Failed to translate request for ${_} → ${ad}`;return C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:n.gx.BAD_REQUEST,errorSource:"gateway_validation",errorType:"invalid_request",errorCode:"translate_request_failed",errorMessageShort:a,latencyMs:Date.now()-$}),(0,m.A1)(n.gx.BAD_REQUEST,a,void 0,_)}T=S._toolNameMap,delete S._toolNameMap,S.model=Z}if("claude"===aq&&Array.isArray(S.tools)){let{tools:a,stripped:b}=(0,x.F)(S.tools);b.length>0&&(S.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let as=ar?_:ad,at=(0,z.BI)(S,K),au=(0,z.Qi)(at,K),av=(0,z.fT)(at);av&&console.log(av),L&&M&&((0,y.p)(S,as,M),d?.debug?.("CAVEMAN",`${M} | ${as}`));let aw=(0,r.SB)(Y);(0,p.uw)(Z,Y,G,!0),(0,p.E5)({model:Z,provider:Y,connectionId:G,status:"PENDING"}).catch(()=>{});let ax=S.messages?.length||S.input?.length||S.contents?.length||S.request?.contents?.length||0;d?.debug?.("REQUEST",`${Y.toUpperCase()} | ${Z} | ${ax} msgs`);let ay=(0,i.jd)({onDisconnect:a=>{(0,p.uw)(Z,Y,G,!1),E&&E(a)},onError:()=>(0,p.uw)(Z,Y,G,!1),log:d,provider:Y,model:Z}),az={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(az.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${a} | pool=${b} | vercel-relay=${az.vercelRelayUrl}`)}else if(az.connectionProxyEnabled&&az.connectionProxyUrl){let a=az.connectionProxyUrl;try{let b=new URL(az.connectionProxyUrl),c=b.port?`:${b.port}`:"";a=`${b.protocol||"http:"}//${b.hostname||""}${c}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",e=c?.connectionName||c?.connectionId||"unknown";d?.info?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${e} | pool=${b} | url=${a}`)}if(az.connectionProxyEnabled&&az.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${a} | no_proxy=${az.connectionNoProxy}`)}let aA=!1,aB=(a,b,c,d)=>{aA=!0,ap.logTargetRequest(a,b,c,d)};try{let a=await aw.execute({model:Z,body:S,stream:ai,credentials:c,signal:ay.signal,log:d,proxyOptions:az,skipRetry:R,onBeforeFetch:aB});U=a.response,V=a.url,W=a.headers,X=a.transformedBody,aA||ap.logTargetRequest(V,W,X)}catch(f){let b=f?.code==="UPSTREAM_HEADERS_TIMEOUT",c="AbortError"===f.name?499:b?n.gx.GATEWAY_TIMEOUT:n.gx.BAD_GATEWAY,d=Date.now()-$;if((0,p.uw)(Z,Y,G,!1,!0),(0,p.E5)({model:Z,provider:Y,connectionId:G,status:`FAILED ${c}`}).catch(()=>{}),(0,p.ox)((0,s.$R)({provider:Y,model:Z,connectionId:G,latency:{ttft:0,total:d},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ai),providerRequest:S||null,response:{error:f.message||String(f),status:c,thinking:null},status:"error",rtkStats:au})).catch(()=>{}),C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,accountName:ao.accountName,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:c,errorSource:"AbortError"===f.name?"client_abort":b?"upstream_timeout":"network",errorType:"AbortError"===f.name?"client_abort":b?"upstream_headers_timeout":"network_error",errorCode:"AbortError"===f.name?"client_abort":b?"upstream_headers_timeout":"provider_execute_failed",errorMessageShort:f.message||String(f),latencyMs:d,rtkStats:au}),"AbortError"===f.name)return ay.handleError(f),(0,m.A1)(499,"Request aborted",void 0,_);if(b){let a=`${Y} did not return response headers within timeout (model: ${Z})`;return console.log(`${h.lm.red}[TIMEOUT] ${a}${h.lm.reset}`),(0,m.A1)(n.gx.GATEWAY_TIMEOUT,a,void 0,_)}let e=(0,m.lR)(f,Y,Z,n.gx.BAD_GATEWAY);return console.log(`${h.lm.red}[ERROR] ${e}${h.lm.reset}`),(0,m.A1)(n.gx.BAD_GATEWAY,e,void 0,_)}if(!aw.noAuth&&(U.status===n.gx.UNAUTHORIZED||U.status===n.gx.FORBIDDEN))try{let a=await (0,j.qZ)(()=>aw.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){if(d?.info?.("TOKEN",`${Y.toUpperCase()} | refreshed`),Object.assign(c,a),q)try{await q(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await aw.execute({model:Z,body:S,stream:ai,credentials:c,signal:ay.signal,log:d,proxyOptions:az,skipRetry:R,onBeforeFetch:aB});U=a.response,V=a.url,W=a.headers,X=a.transformedBody||X}catch(c){let a=c?.code==="UPSTREAM_HEADERS_TIMEOUT";if(c?.name==="AbortError")return ay.handleError(c),(0,m.A1)(499,"Request aborted",void 0,_);if(a){let a=`${Y} did not return response headers within timeout after token refresh (model: ${Z})`;return d?.warn?.("TOKEN",a),(0,m.A1)(n.gx.GATEWAY_TIMEOUT,a,void 0,_)}let b=(0,m.lR)(c,Y,Z,n.gx.BAD_GATEWAY);return d?.warn?.("TOKEN",`${Y.toUpperCase()} | retry after refresh failed: ${c?.message||c}`),(0,m.A1)(n.gx.BAD_GATEWAY,b,void 0,_)}}else d?.warn?.("TOKEN",`${Y.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${Y.toUpperCase()} | refresh threw: ${a.message}`)}if(!U.ok){(0,p.uw)(Z,Y,G,!1,!0);let{statusCode:b,message:c,resetsAtMs:d}=await (0,m.zL)(U,aw),e=Date.now()-$;(0,p.E5)({model:Z,provider:Y,connectionId:G,status:`FAILED ${b}`}).catch(()=>{}),(0,p.ox)((0,s.$R)({provider:Y,model:Z,connectionId:G,latency:{ttft:0,total:e},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ai),providerRequest:X||S||null,response:{error:c,status:b,thinking:null},status:"error",rtkStats:au})).catch(()=>{}),C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,accountName:ao.accountName,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:b,upstreamStatusCode:U.status,errorSource:"provider_http",errorMessageShort:c,upstreamErrorBodySnippet:c,latencyMs:e,rtkStats:au});let f=(0,m.lR)(Error(c),Y,Z,b);return console.log(`${h.lm.red}[ERROR] ${f}${h.lm.reset}`),ap.logError(Error(c),X||S),(0,m.A1)(b,f,d,_)}let aC={provider:Y,model:Z,body:a,stream:ai,translatedBody:S,finalBody:X,requestStartTime:$,connectionId:G,apiKey:I,clientRawRequest:F,onRequestSuccess:B,requestContext:aa,sourceFormat:_,targetFormat:ad,requestPolicyMeta:Q,rtkStats:au},aD=a=>(0,p.E5)({model:Z,provider:Y,connectionId:G,...a}).catch(()=>{}),aE=()=>(0,p.uw)(Z,Y,G,!1);if(!ag&&ah){let a=await (0,t.I)({...aC,providerResponse:U,sourceFormat:_,trackDone:aE,appendLog:aD});if(a)return ay.handleComplete(),a}if(!ai){let a=await (0,u.N)({...aC,providerResponse:U,sourceFormat:_,targetFormat:ad,reqLogger:ap,toolNameMap:T,trackDone:aE,appendLog:aD});return ay.handleComplete(),a}let{onStreamComplete:aF}=(0,v.$)({...aC,reqLogger:ap,providerResponseInfo:{status:U.status,statusText:U.statusText,headers:U.headers}});return(0,v.M)({...aC,providerResponse:U,sourceFormat:_,targetFormat:ad,userAgent:H,reqLogger:ap,toolNameMap:T,streamController:ay,onStreamComplete:aF})}r=(B.then?(await B)():B)[0],d()}catch(a){d(a)}})},94882:(a,b,c)=>{c.d(b,{BI:()=>_,fT:()=>ad,Qi:()=>ac});let d="v0.42.4",e=["node_modules",".git","target","__pycache__",".next","dist","build",".venv","venv",".cache",".idea",".vscode",".DS_Store"];function f(a,b=500){let c=[],d="",e=0,g=0,h=!1,i=0,j=0,k=!1;for(let f of a.split("\n")){if(f.startsWith("diff --git")){j>0&&(c.push(` ... (${j} lines truncated)`),k=!0,j=0),d&&(e>0||g>0)&&c.push(` +${e} -${g}`);let a=f.split(" b/");d=a.length>1?a.slice(1).join(" b/"):"unknown",c.push(`
142
142
  ${d}`),e=0,g=0,h=!1,i=0}else f.startsWith("@@")?(j>0&&(c.push(` ... (${j} lines truncated)`),k=!0,j=0),h=!0,i=0,c.push(` ${f}`)):h&&(f.startsWith("+")&&!f.startsWith("+++")?(e+=1,i<100?(c.push(` ${f}`),i+=1):j+=1):f.startsWith("-")&&!f.startsWith("---")?(g+=1,i<100?(c.push(` ${f}`),i+=1):j+=1):i<100&&!f.startsWith("\\")&&(c.push(` ${f}`),i+=1));if(c.length>=b){c.push("\n... (more changes truncated)"),k=!0;break}}return j>0&&(c.push(` ... (${j} lines truncated)`),k=!0),d&&(e>0||g>0)&&c.push(` +${e} -${g}`),k&&c.push("[full diff: rtk git diff --no-compact]"),c.join("\n")}function g(a){let b=a.split("\n");if(0===b.length||1===b.length&&!b[0].trim())return"Clean working tree";let c="",d=[],e=[],f=[],g=0,h=0,i=0,j=0;for(let a of b){if(!a.trim())continue;let b=a.match(/^On branch (\S+)/);if(b){c=b[1];continue}if(a.startsWith("##")){c=a.replace(/^##\s*/,"");continue}if(a.length>=3&&/^[ MADRCU?!][ MADRCU?!] /.test(a)){let b=a[0],c=a[1],k=a.slice(3);if("??"===a.slice(0,2)){i++,f.push(k);continue}"MADRC".includes(b)?(g++,d.push(k)):"U"===b&&j++,("M"===c||"D"===c)&&(h++,e.push(k));continue}let k=a.match(/^\s*(modified|new file|deleted|renamed|both modified):\s+(.+)$/);if(k){let a=k[1],b=k[2].trim();"both modified"===a?j++:"modified"===a||"deleted"===a?(h++,e.push(b)):("new file"===a||"renamed"===a)&&(g++,d.push(b));continue}}let k="";if(c&&(k+=`* ${c}
143
143
  `),g>0){for(let a of(k+=`+ Staged: ${g} files
144
144
  `,d.slice(0,10)))k+=` ${a}
@@ -181,4 +181,5 @@ ${e.length} files in ${g.length} dirs:
181
181
  `,b.slice(0,10)))h+=` ${c}
182
182
  `;b.length>10&&(h+=` +${b.length-10}
183
183
  `),h+="\n"}return g.length>20&&(h+=`+${g.length-20} more dirs
184
- `),h.replace(/\n+$/,"")}x.filterName="search-list";let y=/^Result of search in '[^']*' \(total (\d+) files?\):/,z=/^diff --git /m,A=/^@@ /m,B=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,C=/^commit\s+[0-9a-f]{7,40}(?:\s|$)/mi,D=/^[0-9a-f]{7,40}\s+.+$/mi,E=/^[ MADRCU?!][ MADRCU?!] \S/m,F=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,G=/[├└]──|│ /,H=/^[-dlbcps][rwx-]{9}/m,I=/^total \d+$/m;function J(a){let b=String(a||"").trim().match(/^(\d{1,7}):(.*)$/);if(!b)return!1;let c=b[2]||"";return!(!c.trim()||/^\d{2}:\d{2}(?::\d{2})?(?:\b|[.,])/.test(c.trim()))}function K(a){let b=a.indexOf(":");if(-1===b)return!1;let c=a.indexOf(":",b+1);if(-1===c)return!1;let d=a.slice(b+1,c);return/^\d+$/.test(d)}function L(a){let b=a.trim();return!(0===b.length||b.includes(":"))&&(b.startsWith(".")||b.startsWith("/")||b.includes("/"))}function M(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content))for(let a of c.content)a&&"string"==typeof a.text&&(a.text=N(a.text,b,"kiro-tool-result"))}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if("string"==typeof b.output)b.output=N(b.output,e,"openai-responses-string");else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];c&&"input_text"===c.type&&"string"==typeof c.text&&(c.text=N(c.text,e,"openai-responses-array"))}continue}if("tool"===b.role&&"string"==typeof b.content){b.content=N(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){for(let a=0;a<b.content.length;a++){let c=b.content[a];c&&"text"===c.type&&"string"==typeof c.text&&(c.text=N(c.text,e,"openai-tool-array"))}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content)c.content=N(c.content,e,"claude-string");else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];b&&"text"===b.type&&"string"==typeof b.text&&(b.text=N(b.text,e,"claude-array"))}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function N(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let e=function(a){var b,c;let d,e,h=a.length>1024?a.slice(0,1024):a;if(z.test(h)||A.test(h))return f;if(B.test(h))return g;if(C.test(h)||function(a){let b=a.split("\n").filter(a=>a.trim());if(b.length<2)return!1;let c=b.filter(a=>D.test(a.trim())).length;return c>=2&&c/b.length>=.6}(h))return l;if(F.test(h))return n;if(!((d=h.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>E.test(a)).length/d.length>=.6)return g;let i=h.split("\n"),j=i.filter(a=>a.trim().length>0);return j.slice(0,5).some(K)||function(a){if(!Array.isArray(a)||a.length<3)return!1;let b=a.filter(J).length;return b>=3&&b/a.length>=.8}(j.slice(0,10))?o:j.length>=3&&j.every(L)?p:G.test(h)?t:I.test(h)||(b=h,e=new RegExp((c=H).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(e)||[]).length>=3)?s:y.test(h)?x:i.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,w.test(d)&&b++);return!(c<5)&&b/c>=.7}(i)?v:j.length>=5?q:a.split("\n").length>=250?u:null}(a);if(!e)return b.bytesAfter+=d,a;let h=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(e,a);return!h||0===h.length||h.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=h.length,b.hits.push({shape:c,filter:e.filterName||e.name,bytesIn:d,saved:d-h.length}),h)}function O(a){return Array.from(new Set((a||[]).map(a=>String(a||"").trim()).filter(Boolean)))}function P(a,b){if(!0!==b)return null;let c=Array.isArray(a?.hits)?a.hits:[],e=Number(a?.bytesBefore||0),f=Number(a?.bytesAfter||0),g=Math.max(0,e-f),h=e>0?Number((g/e*100).toFixed(2)):0,i=O(c.map(a=>a?.filter)),j=O(c.map(a=>a?.shape));return{enabled:!0,applied:c.length>0&&g>0,version:d,bytesBefore:e,bytesAfter:f,bytesSaved:g,savedPct:h,hitCount:c.length,filters:i,shapes:j,hits:c.slice(0,50).map(a=>({shape:String(a?.shape||""),filter:String(a?.filter||""),bytesIn:Number(a?.bytesIn||0),saved:Number(a?.saved||0)}))}}function Q(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",e=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK ${d}] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${e}] hits=${a.hits.length}`}},81626:(a,b,c)=>{function d(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!d||!e)return;let f=d[1].trim(),g=e[1].trim();if("[DONE]"!==g){try{c=JSON.parse(g)}catch{return}"response.created"===f?(b.responseId=c.response?.id||b.responseId,b.created=c.response?.created_at||b.created):"response.output_item.done"===f?b.items.set(c.output_index??0,c.item):"response.completed"===f?(b.status="completed",c.response?.usage&&(b.usage.input_tokens=c.response.usage.input_tokens||0,b.usage.output_tokens=c.response.usage.output_tokens||0,b.usage.total_tokens=c.response.usage.total_tokens||0)):"response.failed"===f&&(b.status="failed")}}c.d(b,{I:()=>o,F:()=>n});let e={input_tokens:0,output_tokens:0,total_tokens:0};async function f(a){if(!a||"function"!=typeof a.getReader)return{id:`resp_${Date.now()}`,object:"response",created_at:Math.floor(Date.now()/1e3),status:"failed",output:[],usage:{...e}};let b=a.getReader(),c=new TextDecoder,f="",g={responseId:"",created:Math.floor(Date.now()/1e3),status:"in_progress",usage:{...e},items:new Map};try{for(;;){let{done:a,value:e}=await b.read();if(a)break;let h=(f+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(f=h.pop()||"",h))d(a,g)}f.trim()&&d(f,g)}finally{b.releaseLock()}let h=[],i=g.items.size>0?Math.max(...g.items.keys()):-1;for(let a=0;a<=i;a++)h.push(g.items.get(a)||{type:"message",content:[],role:"assistant"});return{id:g.responseId||`resp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,object:"response",created_at:g.created,status:g.status||"completed",output:h,usage:g.usage}}var g=c(43659),h=c(41004),i=c(14170),j=c(86171),k=c(9902),l=c(47370);function m(a){if(!a?.content||!Array.isArray(a.content))return"";let b=a.content.find(a=>"output_text"===a.type);if("string"==typeof b?.text)return b.text;let c=a.content.find(a=>"string"==typeof a.text);return"string"==typeof c?.text?c.text:""}function n(a,b){let c=[];for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let d=a.slice(5).trim();if(d&&"[DONE]"!==d)try{c.push(JSON.parse(d))}catch{}}if(0===c.length)return null;let d=c[0],e=[],f=[],g=new Map,h="stop",i=null,j=!1;for(let a of c){let b=a?.choices?.[0];b&&(j=!0);let c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&e.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&f.push(c.reasoning_content),b?.finish_reason&&(h=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(i=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;g.has(b)||g.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=g.get(b);a.id&&(c.id=a.id),a.function?.name&&(c.function.name+=a.function.name),a.function?.arguments&&(c.function.arguments+=a.function.arguments)}}if(!j)return null;let k={role:"assistant",content:e.join("")||(g.size>0?null:"")};f.length>0&&(k.reasoning_content=f.join("")),g.size>0&&(k.tool_calls=[...g.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let l={id:d.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:d.created||Math.floor(Date.now()/1e3),model:d.model||b||"unknown",choices:[{index:0,message:k,finish_reason:h}]};return i&&(l.usage=i),l}async function o({providerResponse:a,sourceFormat:b,provider:c,model:d,body:e,stream:p,translatedBody:q,finalBody:r,requestStartTime:s,connectionId:t,apiKey:u,clientRawRequest:v,onRequestSuccess:w,trackDone:x,appendLog:y,requestContext:z,requestPolicyMeta:A,rtkStats:B=null}){let C=a.headers.get("content-type")||"";if(!(C.includes("text/event-stream")||""===C&&"codex"===c))return null;x();let D={provider:c,model:d,connectionId:t,request:(0,j.Fo)(e,p),providerRequest:r||q||null};if("codex"===c||b===i.h.OPENAI_RESPONSES)try{let g,h=await f(a.body);w&&await w();let{msgItem:n,textContent:o}=function(a){if(!Array.isArray(a))return{msgItem:null,textContent:null};let b=a.filter(a=>a?.type==="message");if(0===b.length)return{msgItem:null,textContent:null};for(let a=b.length-1;a>=0;a--){let c=m(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:m(c)}}(h.output),p=(0,j.YZ)({usage:h.usage||null,body:e,responseBody:h,contentText:o||"",format:b});y({tokens:p,status:"200 OK"});let q=Date.now()-s;if((0,j.qr)({provider:c,model:d,tokens:p,connectionId:t,apiKey:u,endpoint:v?.endpoint,status:"ok",statusCode:200,latencyMs:q,ttftMs:q,isStreaming:!1,requestContext:z||{},requestPolicyMeta:A,rtkStats:B,meta:p?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:p.usageEstimatedReason}:{}}),(0,l.ox)((0,j.$R)({...D,latency:{ttft:q,total:q},tokens:{prompt_tokens:p.input_tokens??p.prompt_tokens??0,completion_tokens:p.output_tokens??p.completion_tokens??0},response:{content:o,thinking:null,finish_reason:h.status||"unknown"},status:"success",rtkStats:B},{endpoint:v?.endpoint||null,requestId:z?.requestId})).catch(()=>{}),b===i.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(h),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let r=p.input_tokens??p.prompt_tokens??0,x=p.output_tokens??p.completion_tokens??0,C=(h.output||[]).filter(a=>"function_call"===a.type).map((a,b)=>({id:a.call_id||`call_${a.name}_${Date.now()}_${b}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),E=C.length>0;if(b===i.h.ANTIGRAVITY||b===i.h.GEMINI||b===i.h.GEMINI_CLI)g={response:{candidates:[{content:{role:"model",parts:[{text:o||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:r,candidatesTokenCount:x,totalTokenCount:r+x},modelVersion:d,responseId:h.id||`resp_${Date.now()}`}};else if(b===i.h.CLAUDE){let a={id:h.id||`chatcmpl-${Date.now()}`,model:h.model||d,choices:[{index:0,message:{role:"assistant",content:o||(E?null:""),...E?{tool_calls:C}:{}},finish_reason:E?"tool_calls":"completed"===h.status?"stop":h.status||"stop"}]};g=(0,k.F)(a,{input_tokens:r,output_tokens:x})}else{let a={role:"assistant",content:o||(E?null:"")};E&&(a.tool_calls=C);let b=E?"tool_calls":"completed"===h.status?"stop":h.status||"stop";g={id:h.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:h.created_at||Math.floor(Date.now()/1e3),model:h.model||d,choices:[{index:0,message:a,finish_reason:b}],usage:{prompt_tokens:r,completion_tokens:x,total_tokens:r+x}}}return{success:!0,response:new Response(JSON.stringify(g),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON",void 0,b)}try{let f=await a.text(),m=n(f,d);if(!m)return(0,g.A1)(h.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request",void 0,b);w&&await w();let o=(0,j.YZ)({usage:m.usage||null,body:e,responseBody:m,contentText:`${m.choices?.[0]?.message?.content||""}${m.choices?.[0]?.message?.reasoning_content||""}`,format:b});y({tokens:o,status:"200 OK"});let p=Date.now()-s;(0,j.qr)({provider:c,model:d,tokens:o,connectionId:t,apiKey:u,endpoint:v?.endpoint,status:"ok",statusCode:200,latencyMs:p,ttftMs:p,isStreaming:!1,requestContext:z||{},requestPolicyMeta:A,rtkStats:B,meta:o?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:o.usageEstimatedReason}:{}}),(0,l.ox)((0,j.$R)({...D,latency:{ttft:p,total:p},tokens:o,response:{content:m.choices?.[0]?.message?.content||null,thinking:m.choices?.[0]?.message?.reasoning_content||null,finish_reason:m.choices?.[0]?.finish_reason||"unknown"},status:"success",rtkStats:B},{endpoint:v?.endpoint||null,requestId:z?.requestId})).catch(()=>{});let q=m;if(b===i.h.CLAUDE)q=(0,k.F)(m,o);else if(b===i.h.OPENAI_RESPONSES)q=(0,k.P)(m,o);else if(m?.choices)for(let a of m.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;return{success:!0,response:new Response(JSON.stringify(q),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON",void 0,b)}}},86171:(a,b,c)=>{c.d(b,{$R:()=>p,Fo:()=>n,MK:()=>o,YZ:()=>i,qr:()=>s,sx:()=>t,wS:()=>m});var d=c(99703),e=c(71857),f=c(73483);let g=["temperature","top_p","top_k","max_tokens","max_completion_tokens","thinking","reasoning","enable_thinking","presence_penalty","frequency_penalty","seed","stop","tools","tool_choice","response_format","prediction","store","metadata","n","logprobs","top_logprobs","logit_bias","user","parallel_tool_calls"];function h(a){return(function a(b,c=new Set){if(null==b)return"";if("string"==typeof b)return b;if("object"!=typeof b||c.has(b))return"";if(c.add(b),Array.isArray(b))return b.map(b=>a(b,c)).filter(Boolean).join("");let d="";for(let e of("string"==typeof b.content&&(d+=b.content),"string"==typeof b.reasoning_content&&(d+=b.reasoning_content),"string"==typeof b.text&&(d+=b.text),"string"==typeof b.output_text&&(d+=b.output_text),"string"==typeof b.delta?.content&&(d+=b.delta.content),"string"==typeof b.delta?.reasoning_content&&(d+=b.delta.reasoning_content),"string"==typeof b.delta?.text&&(d+=b.delta.text),"string"==typeof b.delta?.thinking&&(d+=b.delta.thinking),["message","choices","candidates","content","parts","output","response","data","item","items","result","results","message_delta","delta"]))void 0!==b[e]&&"string"!=typeof b[e]&&(d+=a(b[e],c));return d})(a).trim()}function i({usage:a,body:b,responseBody:c,translatedResponse:d,contentText:e,format:g,reason:j="missing_provider_usage"}={}){if((0,f.Gh)(a))return a;let k="string"==typeof e&&e.length>0?e:h(d)||h(c);return{...(0,f.OF)(b,k.length,g),estimated:!0,usageEstimated:!0,usageEstimatedReason:j}}function j(a){return String(a||"").trim()}function k(a){return a?"function"==typeof a.entries?Object.fromEntries(a.entries()):"object"==typeof a?a:{}:{}}function l(a,...b){let c=k(a);for(let a of b){let b=c[a]??c[a.toLowerCase()]??c[a.toUpperCase()];if(null!=b)return String(b)}return""}function m(a={}){let b=k(a.headers||a.request?.headers||a.clientHeaders),c=a.clientIp||a.sourceIp||l(b,"x-forwarded-for","x-real-ip","cf-connecting-ip","x-client-ip")||a.ip||"",d=a.clientUserAgent||l(b,"user-agent")||"",e=a.sourceTool||l(b,"x-9r-source-tool","x-source-tool","x-client-tool","x-bluerouter-source-tool")||"",f=a.sourceToolLabel||l(b,"x-9r-source-tool-label","x-source-tool-label","x-client-tool-label")||e;return{requestId:j(a.requestId)||`req_${Date.now()}_${Math.random().toString(36).slice(2,10)}`,sessionId:j(a.sessionId||l(b,"x-session-id","x-conversation-id","x-request-session-id")),clientIp:j(c),clientHost:j(a.clientHost||l(b,"host","x-forwarded-host")),clientUserAgent:j(d),sourceTool:j(e),sourceToolLabel:j(f),sourceHost:j(a.sourceHost||l(b,"x-9r-source-host","origin","referer"))}}function n(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of g)void 0!==a[b]&&(c[b]=a[b]);return c}function o(a){if(!a||"object"!=typeof a)return null;let b=a.usage||a.response?.usage;if(b?.input_tokens!==void 0||b?.output_tokens!==void 0)return{prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,cached_tokens:b.input_tokens_details?.cached_tokens||b.prompt_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens||b.completion_tokens_details?.reasoning_tokens};if(b?.prompt_tokens!==void 0)return{prompt_tokens:b.prompt_tokens||0,completion_tokens:b.completion_tokens||0,cached_tokens:b.prompt_tokens_details?.cached_tokens||b.prompt_cache_hit_tokens,reasoning_tokens:b.completion_tokens_details?.reasoning_tokens,prompt_tokens_details:b.prompt_tokens_details,completion_tokens_details:b.completion_tokens_details};let c=a.usageMetadata||a.response?.usageMetadata;if(c)return{prompt_tokens:c.promptTokenCount||0,completion_tokens:c.candidatesTokenCount||0,total_tokens:c.totalTokenCount,cached_tokens:c.cachedContentTokenCount,reasoning_tokens:c.thoughtsTokenCount};if(!0===a.done||a.response?.done===!0){let b=a.response||a;if("number"==typeof b.prompt_eval_count||"number"==typeof b.eval_count)return{prompt_tokens:b.prompt_eval_count||0,completion_tokens:b.eval_count||0,total_tokens:(b.prompt_eval_count||0)+(b.eval_count||0)}}return null}function p(a,b={}){return{provider:a.provider||"unknown",model:a.model||"unknown",connectionId:a.connectionId||void 0,timestamp:new Date().toISOString(),latency:a.latency||{ttft:0,total:0},tokens:a.tokens||{prompt_tokens:0,completion_tokens:0},request:a.request,providerRequest:a.providerRequest||null,providerResponse:a.providerResponse||null,response:a.response||{},status:a.status||"success",rtkStats:a.rtkStats||b.rtkStats||null,...b}}function q(a){if(!0===a||1===a)return!0;if(!1===a||0===a)return!1;if("string"==typeof a){let b=a.trim().toLowerCase();if(["true","1","yes","on","enabled"].includes(b))return!0;if(["false","0","no","off","disabled"].includes(b))return!1}return null}function r(a,b=0){let c=Number(a);return Number.isFinite(c)?Math.max(0,Math.trunc(c)):b}function s({provider:a,model:b,tokens:c,connectionId:f,apiKey:g,endpoint:h,label:i="USAGE",status:j="ok",statusCode:k=200,errorCode:l="",errorType:m="",errorMessage:n="",latencyMs:o=0,ttftMs:p=0,isStreaming:t=!1,requestContext:u={},meta:v={},requestPolicyMeta:w={},rtkStats:x=null}){let y=c&&"object"==typeof c?c:{},z=y.input_tokens??y.prompt_tokens??0,A=y.output_tokens??y.completion_tokens??0,B=k>=400||j&&!["ok","success","200"].includes(String(j).toLowerCase()),C=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),D=f?` | account=${f.slice(0,8)}...`:"",E=B?e.lm.red||"":e.lm.green||"";console.log(`${E}[${C}] [${i}] ${String(a||"unknown").toUpperCase()} | in=${z} | out=${A}${D}${e.lm.reset}`);let F={prompt_tokens:y.prompt_tokens??y.input_tokens??0,completion_tokens:y.completion_tokens??y.output_tokens??0,cached_tokens:y.cached_tokens??y.cache_read_input_tokens??y.prompt_tokens_details?.cached_tokens??0,reasoning_tokens:y.reasoning_tokens??y.completion_tokens_details?.reasoning_tokens??0},G=function(a={}){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:{};return{thinkingEnabled:q(b.thinkingEnabled),thinkingAutoOff:!0===q(b.thinkingAutoOff),thinkingAutoOffReason:String(b.thinkingAutoOffReason||"").trim(),promptChars:r(b.promptChars,0),forceThinkingOffAboveChars:r(b.forceThinkingOffAboveChars,0)}}(w||v?.requestPolicyMeta||{});(0,d.Py)({provider:a||"unknown",model:b||"unknown",tokens:F,timestamp:new Date().toISOString(),connectionId:f||void 0,apiKey:g||void 0,endpoint:h||null,status:j,statusCode:k,errorCode:l,errorType:m,errorMessage:n,latencyMs:o,ttftMs:p,isStreaming:t,thinkingEnabled:G.thinkingEnabled,thinkingAutoOff:G.thinkingAutoOff,thinkingAutoOffReason:G.thinkingAutoOffReason,promptChars:G.promptChars,forceThinkingOffAboveChars:G.forceThinkingOffAboveChars,...u,meta:{...v,...x?{rtkStats:x}:{},requestContext:u,requestPolicyMeta:G}}).catch(()=>{})}function t({provider:a="unknown",model:b="unknown",connectionId:c,apiKey:d,endpoint:e,statusCode:f=500,errorCode:g="unknown_error",errorType:h="error",errorMessage:i="",latencyMs:j=0,ttftMs:k=0,requestContext:l={},requestPolicyMeta:m={},meta:n={},rtkStats:o=null}){s({provider:a,model:b,tokens:{prompt_tokens:0,completion_tokens:0},connectionId:c,apiKey:d,endpoint:e,status:"error",statusCode:f,errorCode:g,errorType:h,errorMessage:i,latencyMs:j,ttftMs:k,requestContext:l,requestPolicyMeta:m||l?.requestPolicyMeta||n?.requestPolicyMeta||{},meta:n,rtkStats:o,label:"ERROR USAGE"})}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>D});var e=c(57647),f=c(33110),g=c(14170),h=c(71857),i=c(59657),j=c(8590),k=c(71336),l=c(44404),m=c(43659),n=c(41004),o=c(27349),p=c(47370),q=c(35901),r=c(55330),s=c(86171),t=c(81626),u=c(5016),v=c(20623),w=c(324),x=c(14724),y=c(60125),z=c(72758),A=c(71750),B=a([r]);function C(a={}){(0,q.jk)(a).catch(()=>{}),(0,s.sx)({provider:a.provider,model:a.model,connectionId:a.connectionId,apiKey:a.apiKey,endpoint:a.endpoint,statusCode:a.gatewayStatusCode||a.statusCode||a.upstreamStatusCode||500,errorCode:a.errorCode,errorType:a.errorType,errorMessage:a.errorMessageShort||a.errorMessage,latencyMs:a.latencyMs,requestContext:a.requestContext||{},requestPolicyMeta:a.requestPolicyMeta||a.requestContext?.requestPolicyMeta||{},meta:{errorSource:a.errorSource,upstreamStatusCode:a.upstreamStatusCode,statusClass:a.statusClass},rtkStats:a.rtkStats||null})}async function D({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:q,onRequestSuccess:B,onDisconnect:E,clientRawRequest:F,connectionId:G,userAgent:H,apiKey:I,ccFilterNaming:J,rtkEnabled:K,cavemanEnabled:L,cavemanLevel:M,sourceFormatOverride:N,providerThinking:O,contentLoggingMode:P="inherit",requestPolicyMeta:Q=null,skipProviderRetry:R=!1}){let S,T,U,V,W,X,{provider:Y,model:Z}=b,$=Date.now();"claude"===Y&&(0,A.n)(G,F?.headers||{});let _=N||(0,e.Tz)(a),aa=(0,s.wS)({headers:F?.headers||{},requestId:F?.requestId,sessionId:F?.sessionId});if(F)for(let a of["accountName","connectionName","accountEmail","accountDisplayName","ownerUser","connectionScope","visibility"])F[a]&&!aa[a]&&(aa[a]=F[a]);Q&&"object"==typeof Q&&(aa.requestPolicyMeta=Q);let ab=(0,o.c)(a,Z,H,J);if(ab)return ab;let ac=l.Xg[Y]||Y,ad=(0,l.ux)(ac,Z)||(0,e.jJ)(Y),ae=(0,l.cY)(ac,Z),af=Q?.thinkingEnabled===!1||a?.enable_thinking===!1||a?.chat_template_kwargs?.enable_thinking===!1||a?.thinking?.type==="disabled";if(O?.mode&&"auto"!==O.mode&&!af){let b=O.mode;"on"!==b||a.thinking?"off"!==b||a.thinking?a.reasoning_effort||(a={...a,reasoning_effort:b}):a={...a,thinking:{type:"disabled"}}:(console.log("Injecting provider-level thinking config override: on"),a={...a,thinking:{type:"enabled",budget_tokens:1e4}})}let ag=!0===a.stream||_===g.h.ANTIGRAVITY||_===g.h.GEMINI||_===g.h.GEMINI_CLI,ah="openai"===Y||"codex"===Y||"commandcode"===Y,ai=!!ah||!0===a.stream,aj=(0,w.J)(F?.headers||{},a);"deepseek-tui"===aj&&!0!==a.stream&&(ai=!1);let ak=F?.headers?.accept||"",al=ak.includes("application/json"),am=ak.includes("text/event-stream");al&&!am&&!0!==a.stream&&(ai=!1);let an=c?._connection||{},ao={provider:Y,connectionId:G,connectionName:c?.connectionName||c?.name||c?.providerSpecificData?.connectionName||c?.providerSpecificData?.name||"",accountName:c?.email||c?.accountName||c?.providerSpecificData?.email||c?.providerSpecificData?.accountName||c?.providerSpecificData?.account_name||c?.providerSpecificData?.login||c?.providerSpecificData?.username||"",accountEmail:an.email||F?.accountEmail||"",accountDisplayName:an.displayName||an.name||F?.accountDisplayName||"",ownerUser:an.ownerUser||F?.ownerUser||"",connectionScope:an.scope||F?.connectionScope||"",visibility:an.visibility||F?.visibility||"",contentLoggingMode:P,routingMetadata:F?.routingMetadata||null},ap=await (0,k.q7)(_,ad,Z,ao);F&&ap.logClientRawRequest(F.endpoint,F.body,F.headers),ap.logRawRequest(a),d?.debug?.("FORMAT",`${_} → ${ad} | stream=${ai}`);let aq=(0,w.J)(F?.headers||{},a),ar=(0,w.Q)(aq,Y);if(aq&&!aa.sourceTool&&(aa.sourceTool=aq,aa.sourceToolLabel||(aa.sourceToolLabel=aq)),ar)d?.debug?.("PASSTHROUGH",`${aq} → ${Y} | native lossless`),S={...a,model:Z};else{if(!(S=(0,f.GH)(_,ad,Z,a,ai,c,Y,ap,ae,G,aq))){(0,p.uw)(Z,Y,G,!1,!0);let a=`Failed to translate request for ${_} → ${ad}`;return C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:n.gx.BAD_REQUEST,errorSource:"gateway_validation",errorType:"invalid_request",errorCode:"translate_request_failed",errorMessageShort:a,latencyMs:Date.now()-$}),(0,m.A1)(n.gx.BAD_REQUEST,a,void 0,_)}T=S._toolNameMap,delete S._toolNameMap,S.model=Z}if("claude"===aq&&Array.isArray(S.tools)){let{tools:a,stripped:b}=(0,x.F)(S.tools);b.length>0&&(S.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let as=ar?_:ad,at=(0,z.BI)(S,K),au=(0,z.Qi)(at,K),av=(0,z.fT)(at);av&&console.log(av),L&&M&&((0,y.p)(S,as,M),d?.debug?.("CAVEMAN",`${M} | ${as}`));let aw=(0,r.SB)(Y);(0,p.uw)(Z,Y,G,!0),(0,p.E5)({model:Z,provider:Y,connectionId:G,status:"PENDING"}).catch(()=>{});let ax=S.messages?.length||S.input?.length||S.contents?.length||S.request?.contents?.length||0;d?.debug?.("REQUEST",`${Y.toUpperCase()} | ${Z} | ${ax} msgs`);let ay=(0,i.jd)({onDisconnect:a=>{(0,p.uw)(Z,Y,G,!1),E&&E(a)},onError:()=>(0,p.uw)(Z,Y,G,!1),log:d,provider:Y,model:Z}),az={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(az.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${a} | pool=${b} | vercel-relay=${az.vercelRelayUrl}`)}else if(az.connectionProxyEnabled&&az.connectionProxyUrl){let a=az.connectionProxyUrl;try{let b=new URL(az.connectionProxyUrl),c=b.port?`:${b.port}`:"";a=`${b.protocol||"http:"}//${b.hostname||""}${c}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",e=c?.connectionName||c?.connectionId||"unknown";d?.info?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${e} | pool=${b} | url=${a}`)}if(az.connectionProxyEnabled&&az.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${a} | no_proxy=${az.connectionNoProxy}`)}let aA=!1,aB=(a,b,c,d)=>{aA=!0,ap.logTargetRequest(a,b,c,d)};try{let a=await aw.execute({model:Z,body:S,stream:ai,credentials:c,signal:ay.signal,log:d,proxyOptions:az,skipRetry:R,onBeforeFetch:aB});U=a.response,V=a.url,W=a.headers,X=a.transformedBody,aA||ap.logTargetRequest(V,W,X)}catch(f){let b=f?.code==="UPSTREAM_HEADERS_TIMEOUT",c="AbortError"===f.name?499:b?n.gx.GATEWAY_TIMEOUT:n.gx.BAD_GATEWAY,d=Date.now()-$;if((0,p.uw)(Z,Y,G,!1,!0),(0,p.E5)({model:Z,provider:Y,connectionId:G,status:`FAILED ${c}`}).catch(()=>{}),(0,p.ox)((0,s.$R)({provider:Y,model:Z,connectionId:G,latency:{ttft:0,total:d},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ai),providerRequest:S||null,response:{error:f.message||String(f),status:c,thinking:null},status:"error",rtkStats:au})).catch(()=>{}),C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,accountName:ao.accountName,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:c,errorSource:"AbortError"===f.name?"client_abort":b?"upstream_timeout":"network",errorType:"AbortError"===f.name?"client_abort":b?"upstream_headers_timeout":"network_error",errorCode:"AbortError"===f.name?"client_abort":b?"upstream_headers_timeout":"provider_execute_failed",errorMessageShort:f.message||String(f),latencyMs:d,rtkStats:au}),"AbortError"===f.name)return ay.handleError(f),(0,m.A1)(499,"Request aborted",void 0,_);if(b){let a=`${Y} did not return response headers within timeout (model: ${Z})`;return console.log(`${h.lm.red}[TIMEOUT] ${a}${h.lm.reset}`),(0,m.A1)(n.gx.GATEWAY_TIMEOUT,a,void 0,_)}let e=(0,m.lR)(f,Y,Z,n.gx.BAD_GATEWAY);return console.log(`${h.lm.red}[ERROR] ${e}${h.lm.reset}`),(0,m.A1)(n.gx.BAD_GATEWAY,e,void 0,_)}if(!aw.noAuth&&(U.status===n.gx.UNAUTHORIZED||U.status===n.gx.FORBIDDEN))try{let a=await (0,j.qZ)(()=>aw.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){if(d?.info?.("TOKEN",`${Y.toUpperCase()} | refreshed`),Object.assign(c,a),q)try{await q(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await aw.execute({model:Z,body:S,stream:ai,credentials:c,signal:ay.signal,log:d,proxyOptions:az,skipRetry:R,onBeforeFetch:aB});U=a.response,V=a.url,W=a.headers,X=a.transformedBody||X}catch(c){let a=c?.code==="UPSTREAM_HEADERS_TIMEOUT";if(c?.name==="AbortError")return ay.handleError(c),(0,m.A1)(499,"Request aborted",void 0,_);if(a){let a=`${Y} did not return response headers within timeout after token refresh (model: ${Z})`;return d?.warn?.("TOKEN",a),(0,m.A1)(n.gx.GATEWAY_TIMEOUT,a,void 0,_)}let b=(0,m.lR)(c,Y,Z,n.gx.BAD_GATEWAY);return d?.warn?.("TOKEN",`${Y.toUpperCase()} | retry after refresh failed: ${c?.message||c}`),(0,m.A1)(n.gx.BAD_GATEWAY,b,void 0,_)}}else d?.warn?.("TOKEN",`${Y.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${Y.toUpperCase()} | refresh threw: ${a.message}`)}if(!U.ok){(0,p.uw)(Z,Y,G,!1,!0);let{statusCode:b,message:c,resetsAtMs:d}=await (0,m.zL)(U,aw),e=Date.now()-$;(0,p.E5)({model:Z,provider:Y,connectionId:G,status:`FAILED ${b}`}).catch(()=>{}),(0,p.ox)((0,s.$R)({provider:Y,model:Z,connectionId:G,latency:{ttft:0,total:e},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ai),providerRequest:X||S||null,response:{error:c,status:b,thinking:null},status:"error",rtkStats:au})).catch(()=>{}),C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,accountName:ao.accountName,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:b,upstreamStatusCode:U.status,errorSource:"provider_http",errorMessageShort:c,upstreamErrorBodySnippet:c,latencyMs:e,rtkStats:au});let f=(0,m.lR)(Error(c),Y,Z,b);return console.log(`${h.lm.red}[ERROR] ${f}${h.lm.reset}`),ap.logError(Error(c),X||S),(0,m.A1)(b,f,d,_)}let aC={provider:Y,model:Z,body:a,stream:ai,translatedBody:S,finalBody:X,requestStartTime:$,connectionId:G,apiKey:I,clientRawRequest:F,onRequestSuccess:B,requestContext:aa,sourceFormat:_,targetFormat:ad,requestPolicyMeta:Q,rtkStats:au},aD=a=>(0,p.E5)({model:Z,provider:Y,connectionId:G,...a}).catch(()=>{}),aE=()=>(0,p.uw)(Z,Y,G,!1);if(!ag&&ah){let a=await (0,t.I)({...aC,providerResponse:U,sourceFormat:_,trackDone:aE,appendLog:aD});if(a)return ay.handleComplete(),a}if(!ai){let a=await (0,u.N)({...aC,providerResponse:U,sourceFormat:_,targetFormat:ad,reqLogger:ap,toolNameMap:T,trackDone:aE,appendLog:aD});return ay.handleComplete(),a}let{onStreamComplete:aF}=(0,v.$)({...aC,reqLogger:ap,providerResponseInfo:{status:U.status,statusText:U.statusText,headers:U.headers}});return(0,v.M)({...aC,providerResponse:U,sourceFormat:_,targetFormat:ad,userAgent:H,reqLogger:ap,toolNameMap:T,streamController:ay,onStreamComplete:aF})}r=(B.then?(await B)():B)[0],d()}catch(a){d(a)}})}};
184
+ `),h.replace(/\n+$/,"")}x.filterName="search-list";let y=/^Result of search in '[^']*' \(total (\d+) files?\):/;function z(a){return String(a||"").split(/\r?\n/).filter(a=>a.trim().length>0)}function A(a,b=120){return a.length<=b?a:[...a.slice(0,b),`... +${a.length-b} more lines`]}function B(a,b,c=[],d=120){let e=z(a),f=[];for(let a of e)(b.some(b=>b.test(a))||c.some(b=>b.test(a)))&&f.push(a.trimEnd());return f.length?A(f,d).join("\n")+"\n":a}function C(a){return B(a,[/^test\s+.+\s+\.\.\.\s+(FAILED|ignored)$/i,/^failures:/i,/^----\s+.+\s+stdout\s+----$/i,/^thread '.+' panicked/i,/^error:/i],[/^test result:/i,/^running \d+ tests?/i])}function D(a){return B(a,[/^_{2,}.*_{2,}$/i,/^E\s+/,/^FAILED\s+/,/^ERROR\s+/,/^\w.*::.*(?:FAILED|ERROR)$/i,/(?:AssertionError|Exception|Traceback)/],[/^=+ .* (?:passed|failed|error|skipped|warning).* =+$/i,/^collected \d+ items?/i])}function E(a){let b=z(a),c=[],d=0;for(let a of b)if(a.startsWith("{"))try{let b=JSON.parse(a);d++,(["fail","skip"].includes(b.Action)||"output"===b.Action&&/(?:FAIL|panic:|--- FAIL:|Error:)/.test(b.Output||""))&&c.push([b.Package,b.Test,b.Action,String(b.Output||"").trim()].filter(Boolean).join(" | "))}catch{}return d?c.length?A(c,120).join("\n")+"\n":`go test: ${d} events, no failures
185
+ `:a}function F(a){return B(a,[/\.(?:ts|tsx|js|jsx)\(\d+,\d+\):\s+error\s+TS\d+:/i,/^error\s+TS\d+:/i,/Found \d+ errors?/i])}function G(a){let b=String(a||"").trim();if(b.startsWith("{")&&/"(?:testResults|numTotalTests)"/.test(b))try{let a=JSON.parse(b),c=[];for(let b of a.testResults||[])for(let a of b.assertionResults||[])"failed"===a.status&&c.push(`${b.name||"suite"} | ${a.fullName||a.title||"test"}: ${(a.failureMessages||[]).join(" ")}`);return[`vitest: total=${a.numTotalTests??"?"} passed=${a.numPassedTests??"?"} failed=${a.numFailedTests??c.length}`,...A(c,80)].join("\n")+"\n"}catch{}return B(a,[/^(?:FAIL|FAILED)\s+/,/^\s*[×✕❯]\s+/,/AssertionError|Error:/,/^\s*at\s+.+:\d+:\d+/],[/Test Files\s+/,/Tests\s+/,/Duration\s+/])}function H(a){return B(a,[/\.py:\d+(?::\d+)?:\s+(?:error|note|warning):/i],[/^Found \d+ errors?/i,/^Success: no issues found/i])}C.filterName="cargo-test",D.filterName="pytest",E.filterName="go-test",F.filterName="tsc",G.filterName="vitest",H.filterName="mypy";let I=/^diff --git /m,J=/^@@ /m,K=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,L=/^commit\s+[0-9a-f]{7,40}(?:\s|$)/mi,M=/^[0-9a-f]{7,40}\s+.+$/mi,N=/^[ MADRCU?!][ MADRCU?!] \S/m,O=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,P=/[├└]──|│ /,Q=/^[-dlbcps][rwx-]{9}/m,R=/^total \d+$/m,S=/test result:.*(?:passed|failed|ignored)/i,T=/=== test session starts|collected \d+ items?|=+ .* (?:passed|failed|error).* =+/i,U=/^\s*\{.*"Action"\s*:/m,V=/\.py:\d+(?::\d+)?:\s+error:/i,W=/(?:\.(?:ts|tsx|js|jsx)\(\d+,\d+\)|error)\s*:?\s*error\s+TS\d+:/i,X=/"(?:testResults|numTotalTests)"/;function Y(a){let b=String(a||"").trim().match(/^(\d{1,7}):(.*)$/);if(!b)return!1;let c=b[2]||"";return!(!c.trim()||/^\d{2}:\d{2}(?::\d{2})?(?:\b|[.,])/.test(c.trim()))}function Z(a){let b=a.indexOf(":");if(-1===b)return!1;let c=a.indexOf(":",b+1);if(-1===c)return!1;let d=a.slice(b+1,c);return/^\d+$/.test(d)}function $(a){let b=a.trim();return!(0===b.length||b.includes(":"))&&(b.startsWith(".")||b.startsWith("/")||b.includes("/"))}function _(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content))for(let a of c.content)a&&"string"==typeof a.text&&(a.text=aa(a.text,b,"kiro-tool-result"))}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if("string"==typeof b.output)b.output=aa(b.output,e,"openai-responses-string");else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];c&&"input_text"===c.type&&"string"==typeof c.text&&(c.text=aa(c.text,e,"openai-responses-array"))}continue}if("tool"===b.role&&"string"==typeof b.content){b.content=aa(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){for(let a=0;a<b.content.length;a++){let c=b.content[a];c&&"text"===c.type&&"string"==typeof c.text&&(c.text=aa(c.text,e,"openai-tool-array"))}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content)c.content=aa(c.content,e,"claude-string");else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];b&&"text"===b.type&&"string"==typeof b.text&&(b.text=aa(b.text,e,"claude-array"))}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function aa(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let e=function(a){var b,c;let d,e,h=a.length>1024?a.slice(0,1024):a;if(S.test(h))return C;if(T.test(h))return D;if(U.test(h))return E;if(V.test(h))return H;if(W.test(h))return F;if(X.test(h))return G;if(I.test(h)||J.test(h))return f;if(K.test(h))return g;if(L.test(h)||function(a){let b=a.split("\n").filter(a=>a.trim());if(b.length<2)return!1;let c=b.filter(a=>M.test(a.trim())).length;return c>=2&&c/b.length>=.6}(h))return l;if(O.test(h))return n;if(!((d=h.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>N.test(a)).length/d.length>=.6)return g;let i=h.split("\n"),j=i.filter(a=>a.trim().length>0);return j.slice(0,5).some(Z)||function(a){if(!Array.isArray(a)||a.length<3)return!1;let b=a.filter(Y).length;return b>=3&&b/a.length>=.8}(j.slice(0,10))?o:j.length>=3&&j.every($)?p:P.test(h)?t:R.test(h)||(b=h,e=new RegExp((c=Q).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(e)||[]).length>=3)?s:y.test(h)?x:i.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,w.test(d)&&b++);return!(c<5)&&b/c>=.7}(i)?v:j.length>=5?q:a.split("\n").length>=250?u:null}(a);if(!e)return b.bytesAfter+=d,a;let h=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(e,a);return!h||0===h.length||h.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=h.length,b.hits.push({shape:c,filter:e.filterName||e.name,bytesIn:d,saved:d-h.length}),h)}function ab(a){return Array.from(new Set((a||[]).map(a=>String(a||"").trim()).filter(Boolean)))}function ac(a,b){if(!0!==b)return null;let c=Array.isArray(a?.hits)?a.hits:[],e=Number(a?.bytesBefore||0),f=Number(a?.bytesAfter||0),g=Math.max(0,e-f),h=e>0?Number((g/e*100).toFixed(2)):0,i=ab(c.map(a=>a?.filter)),j=ab(c.map(a=>a?.shape));return{enabled:!0,applied:c.length>0&&g>0,version:d,bytesBefore:e,bytesAfter:f,bytesSaved:g,savedPct:h,hitCount:c.length,filters:i,shapes:j,hits:c.slice(0,50).map(a=>({shape:String(a?.shape||""),filter:String(a?.filter||""),bytesIn:Number(a?.bytesIn||0),saved:Number(a?.saved||0)}))}}function ad(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",e=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK ${d}] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${e}] hits=${a.hits.length}`}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=4684,exports.ids=[4684],exports.modules={34050:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
1
+ "use strict";exports.id=9432,exports.ids=[9432],exports.modules={34050:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
2
2
  PRAGMA journal_mode = WAL;
3
3
  PRAGMA synchronous = NORMAL;
4
4
  PRAGMA temp_store = MEMORY;
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},34684:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>x});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(87123),i=c(34050);let j=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}},{version:2,name:"usage-history-analytics-indexes",up(){}},{version:3,name:"request-observability-rollups",up(a){var b="apiKeys";let c=function(a,b){try{return new Set((a.all(`PRAGMA table_info(${b})`)||[]).map(a=>a.name))}catch{return new Set}}(a,b);for(let[d,e]of Object.entries({ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",allowedModels:"TEXT DEFAULT '[]'"}))c.has(d)||a.exec(`ALTER TABLE ${b} ADD COLUMN ${d} ${e}`);a.exec("CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)"),a.exec("CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)")}},{version:4,name:"api-key-admin-disabled",up(a){(function(a,b){try{return new Set((a.all(`PRAGMA table_info(${b})`)||[]).map(a=>a.name))}catch{return new Set}})(a,"apiKeys").has("adminDisabled")||a.exec("ALTER TABLE apiKeys ADD COLUMN adminDisabled INTEGER DEFAULT 0"),a.exec("CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)")}}].sort((a,b)=>a.version-b.version);function k(a,b,c=null){let d=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return d?d.value:c}function l(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c(24081);let m=null;function n(){if(m)return m;try{let a=g().join(process.cwd(),"package.json");m=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{m="0.0.0"}return m}function o(a){(0,h.Jh)();let b=n(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function p(a,b,c=null){if(!e().existsSync(a))return null;let d=c||g().basename(a),f=g().join(b,d);return e().copyFileSync(a,f),f}function q(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(5))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var r=c(50743);let s=g().join(h.HG,".migrated-from-json"),t=new WeakSet;class u extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function v(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new u(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function w(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function x(a){if(t.has(a))return;t.add(a);let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a),c=function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt(k(a,"schemaVersion","0"),10)||0;if(b>=(j.length?j[j.length-1].version:0))return{applied:0,from:b,to:b};let c=j.filter(a=>a.version>b),d=b;for(let b of c)a.transaction(()=>{b.up(a),l(a,"schemaVersion",b.version)}),d=b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);return{applied:c.length,from:b,to:d}}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}let d=e().existsSync(s),f=w(h.Or.main),g=w(h.Or.usage),m=w(h.Or.disabled),x=w(h.Or.details);if(b&&(f||g||m||x)&&!d){let b=Date.now(),c=o("migrate-from-json");for(let a of Object.values(h.Or))p(a,c);try{a.transaction(()=>{if(f&&"object"==typeof f){for(let[b,c]of(f.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,r.s)(f.settings)]),v(a,"providerConnections",f.providerConnections||[],b=>{let{id:c,provider:d,authType:e,name:f,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=b;a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c,d,e||"oauth",f||null,g||null,h||null,+(!1!==i),(0,r.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),v(a,"providerNodes",f.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),v(a,"proxyPools",f.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),v(a,"apiKeys",f.apiKeys||[],b=>{a.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.key,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),v(a,"combos",f.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,r.s)(b.models||[]),b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(f.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,r.s)(c)]);for(let b of f.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,r.s)(b)])}for(let[b,c]of Object.entries(f.mitmAlias||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[b,(0,r.s)(c||{})]);for(let[b,c]of Object.entries(f.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,r.s)(c||{})])}if(m&&"object"==typeof m.disabled)for(let[b,c]of Object.entries(m.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,r.s)(c||[])]);l(a,"appVersion",n()),l(a,"migratedAt",new Date().toISOString())})}catch(a){if(a instanceof u)return void console.error(`[DB][migrate] aborted: ${a.message} | legacy JSON kept | backup: ${c}`);throw a}try{e().writeFileSync(s,new Date().toISOString())}catch{}q(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy JSON kept at DATA_DIR | backup: ${c}`);return}if(b)return void l(a,"appVersion",n());let y=k(a,"appVersion",null),z=n();if(y&&y!==z){let b=o(`upgrade-${y}-to-${z}`);try{p(h.AL,b)}catch{}l(a,"appVersion",z),q(),console.log(`[DB][migrate] App ${y} → ${z} | schema ${c.from} → ${c.to} | backup: ${b}`)}else if(c.applied>0){let a=o(`schema-${c.from}-to-${c.to}`);try{p(h.AL,a)}catch{}q()}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",cavemanMode:"TEXT DEFAULT 'inherit'",cavemanLevel:"TEXT DEFAULT 'lite'",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},59432:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>x});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(87123),i=c(34050);let j=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}},{version:2,name:"usage-history-analytics-indexes",up(){}},{version:3,name:"request-observability-rollups",up(a){var b="apiKeys";let c=function(a,b){try{return new Set((a.all(`PRAGMA table_info(${b})`)||[]).map(a=>a.name))}catch{return new Set}}(a,b);for(let[d,e]of Object.entries({ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",allowedModels:"TEXT DEFAULT '[]'"}))c.has(d)||a.exec(`ALTER TABLE ${b} ADD COLUMN ${d} ${e}`);a.exec("CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)"),a.exec("CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)")}},{version:4,name:"api-key-admin-disabled",up(a){(function(a,b){try{return new Set((a.all(`PRAGMA table_info(${b})`)||[]).map(a=>a.name))}catch{return new Set}})(a,"apiKeys").has("adminDisabled")||a.exec("ALTER TABLE apiKeys ADD COLUMN adminDisabled INTEGER DEFAULT 0"),a.exec("CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)")}},{version:5,name:"api-key-caveman-override",up(a){let b=new Set(a.all("PRAGMA table_info(apiKeys)").map(a=>a.name));b.has("cavemanMode")||a.exec("ALTER TABLE apiKeys ADD COLUMN cavemanMode TEXT DEFAULT 'inherit'"),b.has("cavemanLevel")||a.exec("ALTER TABLE apiKeys ADD COLUMN cavemanLevel TEXT DEFAULT 'lite'")}}].sort((a,b)=>a.version-b.version);function k(a,b,c=null){let d=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return d?d.value:c}function l(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c(24081);let m=null;function n(){if(m)return m;try{let a=g().join(process.cwd(),"package.json");m=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{m="0.0.0"}return m}function o(a){(0,h.Jh)();let b=n(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function p(a,b,c=null){if(!e().existsSync(a))return null;let d=c||g().basename(a),f=g().join(b,d);return e().copyFileSync(a,f),f}function q(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(5))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var r=c(50743);let s=g().join(h.HG,".migrated-from-json"),t=new WeakSet;class u extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function v(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new u(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function w(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function x(a){if(t.has(a))return;t.add(a);let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a),c=function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt(k(a,"schemaVersion","0"),10)||0;if(b>=(j.length?j[j.length-1].version:0))return{applied:0,from:b,to:b};let c=j.filter(a=>a.version>b),d=b;for(let b of c)a.transaction(()=>{b.up(a),l(a,"schemaVersion",b.version)}),d=b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);return{applied:c.length,from:b,to:d}}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}let d=e().existsSync(s),f=w(h.Or.main),g=w(h.Or.usage),m=w(h.Or.disabled),x=w(h.Or.details);if(b&&(f||g||m||x)&&!d){let b=Date.now(),c=o("migrate-from-json");for(let a of Object.values(h.Or))p(a,c);try{a.transaction(()=>{if(f&&"object"==typeof f){for(let[b,c]of(f.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,r.s)(f.settings)]),v(a,"providerConnections",f.providerConnections||[],b=>{let{id:c,provider:d,authType:e,name:f,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=b;a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c,d,e||"oauth",f||null,g||null,h||null,+(!1!==i),(0,r.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),v(a,"providerNodes",f.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),v(a,"proxyPools",f.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),v(a,"apiKeys",f.apiKeys||[],b=>{a.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.key,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),v(a,"combos",f.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,r.s)(b.models||[]),b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(f.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,r.s)(c)]);for(let b of f.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,r.s)(b)])}for(let[b,c]of Object.entries(f.mitmAlias||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[b,(0,r.s)(c||{})]);for(let[b,c]of Object.entries(f.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,r.s)(c||{})])}if(m&&"object"==typeof m.disabled)for(let[b,c]of Object.entries(m.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,r.s)(c||[])]);l(a,"appVersion",n()),l(a,"migratedAt",new Date().toISOString())})}catch(a){if(a instanceof u)return void console.error(`[DB][migrate] aborted: ${a.message} | legacy JSON kept | backup: ${c}`);throw a}try{e().writeFileSync(s,new Date().toISOString())}catch{}q(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy JSON kept at DATA_DIR | backup: ${c}`);return}if(b)return void l(a,"appVersion",n());let y=k(a,"appVersion",null),z=n();if(y&&y!==z){let b=o(`upgrade-${y}-to-${z}`);try{p(h.AL,b)}catch{}l(a,"appVersion",z),q(),console.log(`[DB][migrate] App ${y} → ${z} | schema ${c.from} → ${c.to} | backup: ${b}`)}else if(c.applied>0){let a=o(`schema-${c.from}-to-${c.to}`);try{p(h.AL,a)}catch{}q()}}}};