@jheavenknows/bluerouter 5.1.48 → 5.1.52

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 (1121) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +13 -4
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +24 -0
  5. package/app/.next-cli-build/routes-manifest.json +58 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js +3 -3
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js +2 -0
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js.nft.json +1 -0
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page_client-reference-manifest.js +1 -0
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js +2 -2
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +2 -2
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js +2 -2
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  94. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  96. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  97. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  99. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  100. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  102. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  103. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  104. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  105. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  106. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  107. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  108. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  109. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  110. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  111. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  113. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  114. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  115. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  116. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  117. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
  118. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  119. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  120. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  121. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/auth/login/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/branding/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/branding/upload/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  158. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  162. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  168. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  176. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  178. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  180. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js +2 -2
  184. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/cluster/config/route.js +1 -0
  186. package/app/.next-cli-build/server/app/api/cluster/config/route.js.nft.json +1 -0
  187. package/app/.next-cli-build/server/app/api/cluster/config/route_client-reference-manifest.js +1 -0
  188. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js +1 -0
  189. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js.nft.json +1 -0
  190. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route_client-reference-manifest.js +1 -0
  191. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js +1 -0
  192. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js.nft.json +1 -0
  193. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route_client-reference-manifest.js +1 -0
  194. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js +1 -0
  195. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js.nft.json +1 -0
  196. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route_client-reference-manifest.js +1 -0
  197. package/app/.next-cli-build/server/app/api/cluster/peers/route.js +1 -0
  198. package/app/.next-cli-build/server/app/api/cluster/peers/route.js.nft.json +1 -0
  199. package/app/.next-cli-build/server/app/api/cluster/peers/route_client-reference-manifest.js +1 -0
  200. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js +9 -0
  201. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js.nft.json +1 -0
  202. package/app/.next-cli-build/server/app/api/cluster/snapshot/route_client-reference-manifest.js +1 -0
  203. package/app/.next-cli-build/server/app/api/cluster/sync/route.js +1 -0
  204. package/app/.next-cli-build/server/app/api/cluster/sync/route.js.nft.json +1 -0
  205. package/app/.next-cli-build/server/app/api/cluster/sync/route_client-reference-manifest.js +1 -0
  206. package/app/.next-cli-build/server/app/api/cluster/test/route.js +1 -0
  207. package/app/.next-cli-build/server/app/api/cluster/test/route.js.nft.json +1 -0
  208. package/app/.next-cli-build/server/app/api/cluster/test/route_client-reference-manifest.js +1 -0
  209. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +2 -2
  210. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js +2 -2
  214. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js +2 -2
  226. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/keys/route.js +2 -2
  238. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  244. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +2 -2
  248. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +2 -2
  254. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  272. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  344. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  346. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  350. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js +3 -3
  352. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/resource-monitor/route.js +3 -3
  356. package/app/.next-cli-build/server/app/api/resource-monitor/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  372. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +2 -2
  398. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  400. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  406. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  412. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  414. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  418. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  420. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  422. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  424. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  430. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  442. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  443. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  444. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  446. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  449. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  450. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  452. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
  454. package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
  455. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  456. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  458. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  460. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  461. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  462. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  463. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  464. package/app/.next-cli-build/server/app/callback.html +1 -1
  465. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  466. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  467. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  468. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
  469. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  470. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  472. package/app/.next-cli-build/server/app/dashboard/analytics.html +1 -1
  473. package/app/.next-cli-build/server/app/dashboard/analytics.rsc +7 -7
  474. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  477. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  478. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_full.segment.rsc +7 -7
  479. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  480. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_index.segment.rsc +6 -6
  481. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_tree.segment.rsc +2 -2
  482. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  483. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +8 -8
  484. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +2 -2
  485. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  487. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  488. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +8 -8
  489. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_head.segment.rsc +1 -1
  490. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_index.segment.rsc +6 -6
  491. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +2 -2
  492. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  493. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
  494. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  495. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  497. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  498. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  499. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  500. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +6 -6
  501. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  502. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  503. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  504. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  505. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  506. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  507. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  508. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  509. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  510. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -6
  511. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  512. package/app/.next-cli-build/server/app/dashboard/cluster.html +1 -0
  513. package/app/.next-cli-build/server/app/dashboard/cluster.meta +17 -0
  514. package/app/.next-cli-build/server/app/dashboard/cluster.rsc +28 -0
  515. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster/__PAGE__.segment.rsc +9 -0
  516. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster.segment.rsc +5 -0
  517. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  518. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  519. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_full.segment.rsc +28 -0
  520. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_head.segment.rsc +6 -0
  521. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_index.segment.rsc +10 -0
  522. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_tree.segment.rsc +4 -0
  523. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  524. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  525. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  526. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  527. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  529. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  530. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  531. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +6 -6
  532. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  533. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  534. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  535. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  536. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  537. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  540. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  541. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -6
  542. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  543. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  544. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
  545. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  546. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  547. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  548. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  549. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  550. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  551. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  552. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +6 -6
  553. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  554. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  556. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  557. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  559. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  560. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  561. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  562. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +6 -6
  563. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  564. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
  566. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  567. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  568. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  569. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  570. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  571. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  572. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +6 -6
  573. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  574. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +7 -7
  576. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +1 -1
  577. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
  578. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  579. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  580. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +7 -7
  581. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
  582. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +6 -6
  583. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +2 -2
  584. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  585. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +7 -7
  586. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
  587. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
  588. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  589. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  590. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +7 -7
  591. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
  592. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +6 -6
  593. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +2 -2
  594. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  595. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
  596. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  597. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  598. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  599. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  600. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  601. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  602. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  603. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -6
  604. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  605. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  606. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  607. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  608. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  609. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  610. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  611. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  612. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  613. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +6 -6
  614. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  615. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  616. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  617. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  618. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  619. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  620. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  621. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  622. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  623. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +6 -6
  624. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  625. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  626. package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
  627. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  628. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  629. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  630. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  631. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  632. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  633. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +6 -6
  634. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  635. package/app/.next-cli-build/server/app/dashboard/resource-monitor.html +1 -1
  636. package/app/.next-cli-build/server/app/dashboard/resource-monitor.rsc +8 -8
  637. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor/__PAGE__.segment.rsc +2 -2
  638. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor.segment.rsc +1 -1
  639. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  640. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  641. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_full.segment.rsc +8 -8
  642. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_head.segment.rsc +1 -1
  643. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_index.segment.rsc +6 -6
  644. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_tree.segment.rsc +2 -2
  645. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  646. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  647. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  648. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  649. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  650. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  651. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  652. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  653. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  654. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  655. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  656. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  657. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  658. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  659. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  660. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  661. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  662. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  663. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  664. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  665. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  666. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +6 -6
  667. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  668. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  669. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  670. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +1 -1
  671. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  672. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  673. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  674. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  675. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  676. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +6 -6
  677. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  678. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  679. package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
  680. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  681. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  682. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  683. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  684. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  685. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  686. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +6 -6
  687. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  688. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  689. package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
  690. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  691. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  692. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  693. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  694. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  695. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  696. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +6 -6
  697. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  698. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  699. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  700. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  701. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  702. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  703. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  704. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  705. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +6 -6
  706. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  707. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  708. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  709. package/app/.next-cli-build/server/app/index.html +1 -1
  710. package/app/.next-cli-build/server/app/index.rsc +6 -6
  711. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  712. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  713. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  714. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
  715. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  716. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  717. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  718. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  719. package/app/.next-cli-build/server/app/landing.html +1 -1
  720. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  721. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  722. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  723. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
  724. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  725. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  726. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  727. package/app/.next-cli-build/server/app/login/page.js +2 -2
  728. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  729. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  730. package/app/.next-cli-build/server/app/login.html +1 -1
  731. package/app/.next-cli-build/server/app/login.rsc +7 -7
  732. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  733. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  734. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
  735. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  736. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  737. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  738. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  739. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  740. package/app/.next-cli-build/server/app/page.js +2 -2
  741. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  742. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  743. package/app/.next-cli-build/server/app-paths-manifest.json +13 -4
  744. package/app/.next-cli-build/server/chunks/1231.js +2 -2
  745. package/app/.next-cli-build/server/chunks/3110.js +1 -1
  746. package/app/.next-cli-build/server/chunks/3248.js +9 -0
  747. package/app/.next-cli-build/server/chunks/3824.js +9 -0
  748. package/app/.next-cli-build/server/chunks/4017.js +9 -0
  749. package/app/.next-cli-build/server/chunks/402.js +1 -1
  750. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  751. package/app/.next-cli-build/server/chunks/4790.js +2 -2
  752. package/app/.next-cli-build/server/chunks/5276.js +165 -0
  753. package/app/.next-cli-build/server/chunks/607.js +9 -0
  754. package/app/.next-cli-build/server/chunks/6328.js +1 -1
  755. package/app/.next-cli-build/server/chunks/7772.js +2 -2
  756. package/app/.next-cli-build/server/chunks/8352.js +2 -2
  757. package/app/.next-cli-build/server/chunks/8491.js +2 -2
  758. package/app/.next-cli-build/server/chunks/8762.js +120 -0
  759. package/app/.next-cli-build/server/chunks/8895.js +3 -3
  760. package/app/.next-cli-build/server/chunks/9434.js +1 -1
  761. package/app/.next-cli-build/server/chunks/9489.js +1 -1
  762. package/app/.next-cli-build/server/instrumentation.js +1 -1
  763. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  764. package/app/.next-cli-build/server/middleware.js +5 -5
  765. package/app/.next-cli-build/server/pages/404.html +1 -1
  766. package/app/.next-cli-build/server/pages/500.html +1 -1
  767. package/app/.next-cli-build/static/SlHH696023W51-OWOK9xu/_buildManifest.js +1 -0
  768. package/app/.next-cli-build/static/chunks/{5263-527be4f392550144.js → 5263-6527f247b04c6169.js} +1 -1
  769. package/app/.next-cli-build/static/chunks/{5497-f5e644ab1d0a30e8.js → 5497-0d55b9863c221557.js} +1 -1
  770. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cluster/page-56e62f1cc4807d82.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/resource-monitor/{page-20b2c7ebeb50a5bb.js → page-b735e81f9ef2d9a4.js} +1 -1
  772. package/app/.next-cli-build/static/chunks/app/_global-error/page-af53bdd5b0d35214.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-af53bdd5b0d35214.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-af53bdd5b0d35214.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-af53bdd5b0d35214.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-af53bdd5b0d35214.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-af53bdd5b0d35214.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-af53bdd5b0d35214.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-af53bdd5b0d35214.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-af53bdd5b0d35214.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-af53bdd5b0d35214.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/branding/route-af53bdd5b0d35214.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-af53bdd5b0d35214.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-af53bdd5b0d35214.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-af53bdd5b0d35214.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-af53bdd5b0d35214.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-af53bdd5b0d35214.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-af53bdd5b0d35214.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-af53bdd5b0d35214.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-af53bdd5b0d35214.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-af53bdd5b0d35214.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-af53bdd5b0d35214.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-af53bdd5b0d35214.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-af53bdd5b0d35214.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-af53bdd5b0d35214.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-af53bdd5b0d35214.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-af53bdd5b0d35214.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-af53bdd5b0d35214.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-af53bdd5b0d35214.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-af53bdd5b0d35214.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-af53bdd5b0d35214.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-af53bdd5b0d35214.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-af53bdd5b0d35214.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-af53bdd5b0d35214.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/cluster/config/route-af53bdd5b0d35214.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/cluster/heartbeat/route-af53bdd5b0d35214.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/command/route-af53bdd5b0d35214.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/route-af53bdd5b0d35214.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/cluster/peers/route-af53bdd5b0d35214.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/cluster/snapshot/route-af53bdd5b0d35214.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/cluster/sync/route-af53bdd5b0d35214.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/cluster/test/route-af53bdd5b0d35214.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-af53bdd5b0d35214.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/combos/route-af53bdd5b0d35214.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-af53bdd5b0d35214.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-af53bdd5b0d35214.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-af53bdd5b0d35214.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-af53bdd5b0d35214.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-af53bdd5b0d35214.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-af53bdd5b0d35214.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-af53bdd5b0d35214.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/health/route-af53bdd5b0d35214.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/init/route-af53bdd5b0d35214.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-af53bdd5b0d35214.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-af53bdd5b0d35214.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-af53bdd5b0d35214.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/keys/route-af53bdd5b0d35214.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/locale/route-af53bdd5b0d35214.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-af53bdd5b0d35214.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-af53bdd5b0d35214.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-af53bdd5b0d35214.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-af53bdd5b0d35214.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-af53bdd5b0d35214.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-af53bdd5b0d35214.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-af53bdd5b0d35214.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-af53bdd5b0d35214.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-af53bdd5b0d35214.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-af53bdd5b0d35214.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-af53bdd5b0d35214.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/models/route-af53bdd5b0d35214.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/models/test/route-af53bdd5b0d35214.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-af53bdd5b0d35214.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-af53bdd5b0d35214.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-af53bdd5b0d35214.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-af53bdd5b0d35214.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-af53bdd5b0d35214.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-af53bdd5b0d35214.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-af53bdd5b0d35214.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-af53bdd5b0d35214.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-af53bdd5b0d35214.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-af53bdd5b0d35214.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-af53bdd5b0d35214.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-af53bdd5b0d35214.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-af53bdd5b0d35214.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-af53bdd5b0d35214.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-af53bdd5b0d35214.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-af53bdd5b0d35214.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-af53bdd5b0d35214.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-af53bdd5b0d35214.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-af53bdd5b0d35214.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-af53bdd5b0d35214.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-af53bdd5b0d35214.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/pricing/route-af53bdd5b0d35214.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-af53bdd5b0d35214.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-af53bdd5b0d35214.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-af53bdd5b0d35214.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-af53bdd5b0d35214.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-af53bdd5b0d35214.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-af53bdd5b0d35214.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-af53bdd5b0d35214.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-af53bdd5b0d35214.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-af53bdd5b0d35214.js +1 -0
  873. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-af53bdd5b0d35214.js +1 -0
  874. package/app/.next-cli-build/static/chunks/app/api/providers/route-af53bdd5b0d35214.js +1 -0
  875. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-af53bdd5b0d35214.js +1 -0
  876. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-af53bdd5b0d35214.js +1 -0
  877. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-af53bdd5b0d35214.js +1 -0
  878. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-af53bdd5b0d35214.js +1 -0
  879. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-af53bdd5b0d35214.js +1 -0
  880. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-af53bdd5b0d35214.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-af53bdd5b0d35214.js +1 -0
  882. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-af53bdd5b0d35214.js +1 -0
  883. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-af53bdd5b0d35214.js +1 -0
  884. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-af53bdd5b0d35214.js +1 -0
  885. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-af53bdd5b0d35214.js +1 -0
  886. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-af53bdd5b0d35214.js +1 -0
  887. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-af53bdd5b0d35214.js +1 -0
  888. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-af53bdd5b0d35214.js +1 -0
  889. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-af53bdd5b0d35214.js +1 -0
  890. package/app/.next-cli-build/static/chunks/app/api/settings/route-af53bdd5b0d35214.js +1 -0
  891. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-af53bdd5b0d35214.js +1 -0
  892. package/app/.next-cli-build/static/chunks/app/api/tags/route-af53bdd5b0d35214.js +1 -0
  893. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-af53bdd5b0d35214.js +1 -0
  894. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-af53bdd5b0d35214.js +1 -0
  895. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-af53bdd5b0d35214.js +1 -0
  896. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-af53bdd5b0d35214.js +1 -0
  897. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-af53bdd5b0d35214.js +1 -0
  898. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-af53bdd5b0d35214.js +1 -0
  899. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-af53bdd5b0d35214.js +1 -0
  900. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-af53bdd5b0d35214.js +1 -0
  901. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-af53bdd5b0d35214.js +1 -0
  902. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-af53bdd5b0d35214.js +1 -0
  903. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-af53bdd5b0d35214.js +1 -0
  904. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-af53bdd5b0d35214.js +1 -0
  905. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-af53bdd5b0d35214.js +1 -0
  906. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-af53bdd5b0d35214.js +1 -0
  907. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-af53bdd5b0d35214.js +1 -0
  908. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-af53bdd5b0d35214.js +1 -0
  909. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-af53bdd5b0d35214.js +1 -0
  910. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-af53bdd5b0d35214.js +1 -0
  911. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-af53bdd5b0d35214.js +1 -0
  912. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-af53bdd5b0d35214.js +1 -0
  913. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-af53bdd5b0d35214.js +1 -0
  914. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-af53bdd5b0d35214.js +1 -0
  915. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-af53bdd5b0d35214.js +1 -0
  916. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-af53bdd5b0d35214.js +1 -0
  917. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-af53bdd5b0d35214.js +1 -0
  918. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-af53bdd5b0d35214.js +1 -0
  919. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-af53bdd5b0d35214.js +1 -0
  920. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-af53bdd5b0d35214.js +1 -0
  921. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-af53bdd5b0d35214.js +1 -0
  922. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-af53bdd5b0d35214.js +1 -0
  923. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-af53bdd5b0d35214.js +1 -0
  924. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-af53bdd5b0d35214.js +1 -0
  925. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-af53bdd5b0d35214.js +1 -0
  926. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-af53bdd5b0d35214.js +1 -0
  927. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-af53bdd5b0d35214.js +1 -0
  928. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-af53bdd5b0d35214.js +1 -0
  929. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-af53bdd5b0d35214.js +1 -0
  930. package/app/.next-cli-build/static/chunks/app/api/v1/route-af53bdd5b0d35214.js +1 -0
  931. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-af53bdd5b0d35214.js +1 -0
  932. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-af53bdd5b0d35214.js +1 -0
  933. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-af53bdd5b0d35214.js +1 -0
  934. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-af53bdd5b0d35214.js +1 -0
  935. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-af53bdd5b0d35214.js +1 -0
  936. package/app/.next-cli-build/static/chunks/app/api/version/route-af53bdd5b0d35214.js +1 -0
  937. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-af53bdd5b0d35214.js +1 -0
  938. package/app/.next-cli-build/static/chunks/app/api/version/update/route-af53bdd5b0d35214.js +1 -0
  939. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-af53bdd5b0d35214.js +1 -0
  940. package/app/.next-cli-build/static/chunks/app/page-af53bdd5b0d35214.js +1 -0
  941. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-af53bdd5b0d35214.js +1 -0
  942. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-af53bdd5b0d35214.js +1 -0
  943. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-af53bdd5b0d35214.js +1 -0
  944. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-af53bdd5b0d35214.js +1 -0
  945. package/app/.next-cli-build/static/css/{8754d721220c0f70.css → b2327928005c1ab4.css} +1 -1
  946. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.1.46-to-5.1.47-5.1.47-20260719-180414 → upgrade-5.1.49-to-5.1.50-5.1.50-20260719-191134}/data.sqlite +0 -0
  947. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.1.39-to-5.1.45-5.1.45-20260719-174006 → upgrade-5.1.50-to-5.1.51-5.1.51-20260719-191241}/data.sqlite +0 -0
  948. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.1.45-to-5.1.46-5.1.46-20260719-175754 → upgrade-5.1.50-to-5.1.51-5.1.51-20260719-191242}/data.sqlite +0 -0
  949. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite +0 -0
  950. package/app/package.json +1 -1
  951. package/package.json +1 -1
  952. package/app/.next-cli-build/server/chunks/2074.js +0 -9
  953. package/app/.next-cli-build/server/chunks/2338.js +0 -275
  954. package/app/.next-cli-build/server/chunks/9432.js +0 -9
  955. package/app/.next-cli-build/static/YLMowfTjGiEFJZGn3KFwU/_buildManifest.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/_global-error/page-e8849eb4fcf65c3d.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-e8849eb4fcf65c3d.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-e8849eb4fcf65c3d.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-e8849eb4fcf65c3d.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-e8849eb4fcf65c3d.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-e8849eb4fcf65c3d.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-e8849eb4fcf65c3d.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-e8849eb4fcf65c3d.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-e8849eb4fcf65c3d.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-e8849eb4fcf65c3d.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/branding/route-e8849eb4fcf65c3d.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-e8849eb4fcf65c3d.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-e8849eb4fcf65c3d.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-e8849eb4fcf65c3d.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-e8849eb4fcf65c3d.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-e8849eb4fcf65c3d.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-e8849eb4fcf65c3d.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-e8849eb4fcf65c3d.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-e8849eb4fcf65c3d.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-e8849eb4fcf65c3d.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-e8849eb4fcf65c3d.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-e8849eb4fcf65c3d.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-e8849eb4fcf65c3d.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-e8849eb4fcf65c3d.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-e8849eb4fcf65c3d.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-e8849eb4fcf65c3d.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-e8849eb4fcf65c3d.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-e8849eb4fcf65c3d.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-e8849eb4fcf65c3d.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-e8849eb4fcf65c3d.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-e8849eb4fcf65c3d.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-e8849eb4fcf65c3d.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-e8849eb4fcf65c3d.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-e8849eb4fcf65c3d.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/combos/route-e8849eb4fcf65c3d.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-e8849eb4fcf65c3d.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-e8849eb4fcf65c3d.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-e8849eb4fcf65c3d.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-e8849eb4fcf65c3d.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-e8849eb4fcf65c3d.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-e8849eb4fcf65c3d.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-e8849eb4fcf65c3d.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/health/route-e8849eb4fcf65c3d.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/init/route-e8849eb4fcf65c3d.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-e8849eb4fcf65c3d.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-e8849eb4fcf65c3d.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-e8849eb4fcf65c3d.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/keys/route-e8849eb4fcf65c3d.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/locale/route-e8849eb4fcf65c3d.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-e8849eb4fcf65c3d.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-e8849eb4fcf65c3d.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-e8849eb4fcf65c3d.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-e8849eb4fcf65c3d.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-e8849eb4fcf65c3d.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-e8849eb4fcf65c3d.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-e8849eb4fcf65c3d.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-e8849eb4fcf65c3d.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-e8849eb4fcf65c3d.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-e8849eb4fcf65c3d.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-e8849eb4fcf65c3d.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/models/route-e8849eb4fcf65c3d.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/models/test/route-e8849eb4fcf65c3d.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-e8849eb4fcf65c3d.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-e8849eb4fcf65c3d.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-e8849eb4fcf65c3d.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-e8849eb4fcf65c3d.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-e8849eb4fcf65c3d.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-e8849eb4fcf65c3d.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-e8849eb4fcf65c3d.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-e8849eb4fcf65c3d.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-e8849eb4fcf65c3d.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-e8849eb4fcf65c3d.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-e8849eb4fcf65c3d.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-e8849eb4fcf65c3d.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-e8849eb4fcf65c3d.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-e8849eb4fcf65c3d.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-e8849eb4fcf65c3d.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-e8849eb4fcf65c3d.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-e8849eb4fcf65c3d.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-e8849eb4fcf65c3d.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-e8849eb4fcf65c3d.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-e8849eb4fcf65c3d.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-e8849eb4fcf65c3d.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/pricing/route-e8849eb4fcf65c3d.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-e8849eb4fcf65c3d.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-e8849eb4fcf65c3d.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-e8849eb4fcf65c3d.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-e8849eb4fcf65c3d.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-e8849eb4fcf65c3d.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-e8849eb4fcf65c3d.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-e8849eb4fcf65c3d.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-e8849eb4fcf65c3d.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-e8849eb4fcf65c3d.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-e8849eb4fcf65c3d.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/providers/route-e8849eb4fcf65c3d.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-e8849eb4fcf65c3d.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-e8849eb4fcf65c3d.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-e8849eb4fcf65c3d.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-e8849eb4fcf65c3d.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-e8849eb4fcf65c3d.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-e8849eb4fcf65c3d.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-e8849eb4fcf65c3d.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-e8849eb4fcf65c3d.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-e8849eb4fcf65c3d.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-e8849eb4fcf65c3d.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-e8849eb4fcf65c3d.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-e8849eb4fcf65c3d.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-e8849eb4fcf65c3d.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-e8849eb4fcf65c3d.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-e8849eb4fcf65c3d.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/settings/route-e8849eb4fcf65c3d.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-e8849eb4fcf65c3d.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/tags/route-e8849eb4fcf65c3d.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-e8849eb4fcf65c3d.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-e8849eb4fcf65c3d.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-e8849eb4fcf65c3d.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-e8849eb4fcf65c3d.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-e8849eb4fcf65c3d.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-e8849eb4fcf65c3d.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-e8849eb4fcf65c3d.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-e8849eb4fcf65c3d.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-e8849eb4fcf65c3d.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-e8849eb4fcf65c3d.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-e8849eb4fcf65c3d.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-e8849eb4fcf65c3d.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-e8849eb4fcf65c3d.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-e8849eb4fcf65c3d.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-e8849eb4fcf65c3d.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-e8849eb4fcf65c3d.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-e8849eb4fcf65c3d.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-e8849eb4fcf65c3d.js +0 -1
  1087. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-e8849eb4fcf65c3d.js +0 -1
  1088. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-e8849eb4fcf65c3d.js +0 -1
  1089. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-e8849eb4fcf65c3d.js +0 -1
  1090. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-e8849eb4fcf65c3d.js +0 -1
  1091. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-e8849eb4fcf65c3d.js +0 -1
  1092. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-e8849eb4fcf65c3d.js +0 -1
  1093. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-e8849eb4fcf65c3d.js +0 -1
  1094. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-e8849eb4fcf65c3d.js +0 -1
  1095. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-e8849eb4fcf65c3d.js +0 -1
  1096. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-e8849eb4fcf65c3d.js +0 -1
  1097. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-e8849eb4fcf65c3d.js +0 -1
  1098. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-e8849eb4fcf65c3d.js +0 -1
  1099. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-e8849eb4fcf65c3d.js +0 -1
  1100. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-e8849eb4fcf65c3d.js +0 -1
  1101. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-e8849eb4fcf65c3d.js +0 -1
  1102. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-e8849eb4fcf65c3d.js +0 -1
  1103. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-e8849eb4fcf65c3d.js +0 -1
  1104. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-e8849eb4fcf65c3d.js +0 -1
  1105. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-e8849eb4fcf65c3d.js +0 -1
  1106. package/app/.next-cli-build/static/chunks/app/api/v1/route-e8849eb4fcf65c3d.js +0 -1
  1107. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-e8849eb4fcf65c3d.js +0 -1
  1108. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-e8849eb4fcf65c3d.js +0 -1
  1109. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-e8849eb4fcf65c3d.js +0 -1
  1110. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-e8849eb4fcf65c3d.js +0 -1
  1111. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-e8849eb4fcf65c3d.js +0 -1
  1112. package/app/.next-cli-build/static/chunks/app/api/version/route-e8849eb4fcf65c3d.js +0 -1
  1113. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-e8849eb4fcf65c3d.js +0 -1
  1114. package/app/.next-cli-build/static/chunks/app/api/version/update/route-e8849eb4fcf65c3d.js +0 -1
  1115. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-e8849eb4fcf65c3d.js +0 -1
  1116. package/app/.next-cli-build/static/chunks/app/page-e8849eb4fcf65c3d.js +0 -1
  1117. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-e8849eb4fcf65c3d.js +0 -1
  1118. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-e8849eb4fcf65c3d.js +0 -1
  1119. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-e8849eb4fcf65c3d.js +0 -1
  1120. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-e8849eb4fcf65c3d.js +0 -1
  1121. /package/app/.next-cli-build/static/{YLMowfTjGiEFJZGn3KFwU → SlHH696023W51-OWOK9xu}/_ssgManifest.js +0 -0
@@ -59,7 +59,7 @@ ${f(e.content)}`});continue}if("tool"===e.role){let a=f(e.content),d=e.tool_call
59
59
  \`\`\`json
60
60
  ${b}
61
61
  \`\`\`
62
- Respond ONLY with the JSON object, no other text.`)}else"json_object"===a.type&&j.push("You must respond with valid JSON. Respond ONLY with a JSON object, no other text.")}let k={type:"text",text:f.Co};if(j.length>0?h.system=[k,{type:"text",text:j.join("\n"),cache_control:{type:"ephemeral",ttl:"1h"}}]:h.system=[k],b.tools&&Array.isArray(b.tools)){for(let a of(h.tools=[],b.tools)){let b=a.type;if(b&&"function"!==b){h.tools.push(a);continue}let c="function"===b&&a.function?a.function:a,d=c.name,f=""+d;e.set(f,d),h.tools.push({name:f,description:c.description||"",input_schema:c.parameters||c.input_schema||{type:"object",properties:{},required:[]}})}h.tools.length>0&&(h.tools[h.tools.length-1].cache_control={type:"ephemeral",ttl:"1h"})}if(b.tool_choice&&(h.tool_choice=(d=b.tool_choice)?"object"==typeof d&&d.type?d:"auto"===d||"none"===d?{type:"auto"}:"required"===d?{type:"any"}:"object"==typeof d&&d.function?{type:"tool",name:d.function.name}:{type:"auto"}:{type:"auto"}),b.thinking&&(h.thinking={type:b.thinking.type||"enabled",...b.thinking.budget_tokens&&{budget_tokens:b.thinking.budget_tokens},...b.thinking.max_tokens&&{max_tokens:b.thinking.max_tokens}}),b.reasoning_effort&&!h.thinking){let a={none:0,low:4096,medium:8192,high:16384,xhigh:32768}[b.reasoning_effort.toLowerCase()];0===a||a&&(h.thinking={type:"enabled",budget_tokens:a})}return e.size>0&&(h._toolNameMap=e),h}function i(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):""}function j(a,b,c){let d=h(a,b,c);return d.system&&Array.isArray(d.system)&&(d.system=d.system.filter(a=>!a.text||!a.text.includes("You are Claude Code")),0===d.system.length&&delete d.system),d.tools&&Array.isArray(d.tools)&&(d.tools=d.tools.map(a=>a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a)),d.messages&&Array.isArray(d.messages)&&(d.messages=d.messages.map(a=>{if(!a.content||!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type&&a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a);return{...a,content:b}})),d}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,h,null)},29675:(a,b,c)=>{c.r(b),c.d(b,{claudeToOpenAIResponse:()=>g});var d=c(33110),e=c(14170);function f(a,b,c=null){return{id:`chatcmpl-${a.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function g(a,b){if(!a)return null;let c=[];switch(a.type){case"message_start":b.messageId=a.message?.id||`msg_${Date.now()}`,b.model=a.message?.model,b.toolCallIndex=0,c.push(f(b,{role:"assistant"}));break;case"content_block_start":{let d=a.content_block;if(d?.type==="server_tool_use"){b.serverToolBlockIndex=a.index;break}if(d?.type==="text")b.textBlockStarted=!0;else if(d?.type==="thinking")b.inThinkingBlock=!0,b.currentBlockIndex=a.index,c.push(f(b,{content:"<think>"}));else if(d?.type==="tool_use"){let e=b.toolCallIndex++,g=b.toolNameMap?.get(d.name)||d.name,h={index:e,id:d.id,type:"function",function:{name:g,arguments:""}};b.toolCalls.set(a.index,h),c.push(f(b,{tool_calls:[h]}))}break}case"content_block_delta":{if(a.index===b.serverToolBlockIndex)break;let d=a.delta;if(d?.type==="text_delta"&&d.text)c.push(f(b,{content:d.text}));else if(d?.type==="thinking_delta"&&d.thinking)c.push(f(b,{reasoning_content:d.thinking}));else if(d?.type==="input_json_delta"&&d.partial_json){let e=b.toolCalls.get(a.index);e&&(e.function.arguments+=d.partial_json,c.push(f(b,{tool_calls:[{index:e.index,id:e.id,function:{arguments:d.partial_json}}]})))}break}case"content_block_stop":if(a.index===b.serverToolBlockIndex){b.serverToolBlockIndex=-1;break}b.inThinkingBlock&&a.index===b.currentBlockIndex&&(c.push(f(b,{content:"</think>"})),b.inThinkingBlock=!1),b.textBlockStarted=!1,b.thinkingBlockStarted=!1;break;case"message_delta":if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.input_tokens?a.usage.input_tokens:0,d="number"==typeof a.usage.output_tokens?a.usage.output_tokens:0,e="number"==typeof a.usage.cache_read_input_tokens?a.usage.cache_read_input_tokens:0,f="number"==typeof a.usage.cache_creation_input_tokens?a.usage.cache_creation_input_tokens:0,g=c+e+f;b.usage={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,input_tokens:c,output_tokens:d},e>0&&(b.usage.cache_read_input_tokens=e),f>0&&(b.usage.cache_creation_input_tokens=f)}if(a.delta?.stop_reason){b.finishReason=function(a){switch(a){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(a.delta.stop_reason);let d={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:b.finishReason}]};if(b.usage){d.usage={prompt_tokens:b.usage.prompt_tokens,completion_tokens:b.usage.completion_tokens,total_tokens:b.usage.total_tokens};let a=b.usage.cache_read_input_tokens,c=b.usage.cache_creation_input_tokens;(a>0||c>0)&&(d.usage.prompt_tokens_details={},a>0&&(d.usage.prompt_tokens_details.cached_tokens=a),c>0&&(d.usage.prompt_tokens_details.cache_creation_tokens=c))}c.push(d),b.finishReasonSent=!0}break;case"message_stop":if(!b.finishReasonSent){let a=b.finishReason||(b.toolCalls?.size>0?"tool_calls":"stop"),d=b.usage&&"object"==typeof b.usage?{usage:{prompt_tokens:b.usage.input_tokens||0,completion_tokens:b.usage.output_tokens||0,total_tokens:(b.usage.input_tokens||0)+(b.usage.output_tokens||0)}}:{};c.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}],...d}),b.finishReasonSent=!0}}return c.length>0?c:null}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,null,g)},32546:(a,b,c)=>{c.r(b),c.d(b,{geminiToOpenAIResponse:()=>f});var d=c(33110),e=c(14170);function f(a,b){if(!a)return null;let c=a.response||a;if(!c||!c.candidates?.[0])return null;let d=[],e=c.candidates[0],f=e.content;if(b.messageId||(b.messageId=c.responseId||`msg_${Date.now()}`,b.model=c.modelVersion||"gemini",b.functionIndex=0,d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),f?.parts)for(let a of f.parts){let c=a.thoughtSignature||a.thought_signature,e=!0===a.thought;if(c){let c=void 0!==a.text&&""!==a.text,f=!!a.functionCall;if(c&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:e?{reasoning_content:a.text}:{content:a.text},finish_reason:null}]}),f){let c=a.functionCall.name,e=b.toolNameMap?.get(c)||c,f=a.functionCall.args||{},g=b.functionIndex++,h={id:`${e}-${Date.now()}-${g}`,index:g,type:"function",function:{name:e,arguments:JSON.stringify(f)}};b.toolCalls.set(g,h),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[h]},finish_reason:null}]})}continue}if(void 0!==a.text&&""!==a.text&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{content:a.text},finish_reason:null}]}),a.functionCall){let c=a.functionCall.name,e=b.toolNameMap?.get(c)||c,f=a.functionCall.args||{},g=b.functionIndex++,h={id:`${e}-${Date.now()}-${g}`,index:g,type:"function",function:{name:e,arguments:JSON.stringify(f)}};b.toolCalls.set(g,h),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[h]},finish_reason:null}]})}let f=a.inlineData||a.inline_data;if(f?.data){let a=f.mimeType||f.mime_type||"image/png";d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{images:[{type:"image_url",image_url:{url:`data:${a};base64,${f.data}`}}]},finish_reason:null}]})}}let g=c.usageMetadata||a.usageMetadata;if(g&&"object"==typeof g){let a="number"==typeof g.cachedContentTokenCount?g.cachedContentTokenCount:0,c="number"==typeof g.promptTokenCount?g.promptTokenCount:0,d="number"==typeof g.thoughtsTokenCount?g.thoughtsTokenCount:0,e="number"==typeof g.candidatesTokenCount?g.candidatesTokenCount:0,f="number"==typeof g.totalTokenCount?g.totalTokenCount:0;0===e&&f>0&&(e=f-c-d)<0&&(e=0),b.usage={prompt_tokens:c,completion_tokens:e+d,total_tokens:f},a>0&&(b.usage.prompt_tokens_details={cached_tokens:a}),d>0&&(b.usage.completion_tokens_details={reasoning_tokens:d})}if(e.finishReason){let a=e.finishReason.toLowerCase();"stop"===a&&b.toolCalls.size>0&&(a="tool_calls");let c={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}]};b.usage&&(c.usage=b.usage),d.push(c),b.finishReason=a}return d.length>0?d:null}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,null,f),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,null,f),(0,d.kz)(e.h.ANTIGRAVITY,e.h.OPENAI,null,f),(0,d.kz)(e.h.VERTEX,e.h.OPENAI,null,f)},33110:(a,b,c)=>{c.d(b,{Ws:()=>v,Ai:()=>w,nZ:()=>u,kz:()=>q,GH:()=>s,Y8:()=>t});var d=c(14170);let e=/^[a-zA-Z0-9_-]+$/;function f(a=0,b=0,c=""){let d=c?`_${c.replace(/[^a-zA-Z0-9_-]/g,"")}`:"";return`call_msg${a}_tc${b}${d}`}function g(a){if(!a||"string"!=typeof a)return null;let b=a.replace(/[^a-zA-Z0-9_-]/g,"");return b.length>0?b:null}var h=c(96281);c(3156);var i=c(55399),j=c(80662);let k=new Set(["minimax","minimax-cn"]),l=["text","image_url","image","input_audio","audio_url"];var m=c(57647);c(39536);let n=new Map,o=new Map,p=!1;function q(a,b,c,d){let e=`${a}:${b}`;c&&n.set(e,c),d&&o.set(e,d)}function r(){p||(p=!0,c(60983),c(19979),c(52638),c(97102),c(59611),c(54817),c(65377),c(10010),c(13595),c(74447),c(97821),c(29675),c(66159),c(32546),c(89475),c(4845),c(52830),c(65651),c(39551),c(47723))}function s(a,b,c,o,p=!0,q=null,t=null,u=null,v=[],w=null,x=null){r();let y=structuredClone(o);if(!function(a,b=[]){if(!b.length||!a.messages||!Array.isArray(a.messages))return;let c=new Set(["image_url","image"]),d=new Set(["audio_url","input_audio"]),e=a=>c.has(a)?b.includes("image"):!!d.has(a)&&b.includes("audio");for(let b of a.messages)Array.isArray(b.content)&&(b.content=b.content.filter(a=>!e(a.type)),0===b.content.length&&(b.content=""))}(y,v),(0,m.SZ)(y),!function(a){if(a.messages&&Array.isArray(a.messages))for(let b=0;b<a.messages.length;b++){let c=a.messages[b];if("assistant"===c.role&&c.tool_calls&&Array.isArray(c.tool_calls))for(let a=0;a<c.tool_calls.length;a++){let d=c.tool_calls[a];if(!d.id||!e.test(d.id)){let c=g(d.id);d.id=c||f(b,a,d.function?.name)}d.type||(d.type="function"),d.function?.arguments&&"string"!=typeof d.function.arguments&&(d.function.arguments=JSON.stringify(d.function.arguments))}if("tool"===c.role&&c.tool_call_id&&!e.test(c.tool_call_id)){let a=g(c.tool_call_id);c.tool_call_id=a||f(b,0)}if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let d=c.content[a];if("tool_use"===d.type&&d.id&&!e.test(d.id)){let c=g(d.id);d.id=c||f(b,a,d.name)}if("tool_result"===d.type&&d.tool_use_id&&!e.test(d.tool_use_id)){let c=g(d.tool_use_id);d.tool_use_id=c||f(b,a)}}}}(y),!function(a){if(!a.messages||!Array.isArray(a.messages))return;let b=[];for(let c=0;c<a.messages.length;c++){let d=a.messages[c],e=a.messages[c+1];b.push(d);let f=function(a){if("assistant"!==a.role)return[];let b=[];if(a.tool_calls&&Array.isArray(a.tool_calls))for(let c of a.tool_calls)c.id&&b.push(c.id);if(Array.isArray(a.content))for(let c of a.content)"tool_use"===c.type&&c.id&&b.push(c.id);return b}(d);if(0!==f.length&&e&&!function(a,b){if(!a||!b.length)return!1;if("tool"===a.role&&a.tool_call_id)return b.includes(a.tool_call_id);if("user"===a.role&&Array.isArray(a.content)){for(let c of a.content)if("tool_result"===c.type&&b.includes(c.tool_use_id))return!0}return!1}(e,f))for(let a of f)b.push({role:"tool",tool_call_id:a,content:""})}a.messages=b}(y),a!==b){if(a!==d.h.OPENAI){let b=n.get(`${a}:${d.h.OPENAI}`);b&&(y=b(c,y,p,q),u?.logOpenAIRequest?.(y))}if(b!==d.h.OPENAI){let a=n.get(`${d.h.OPENAI}:${b}`);a&&(y=a(c,y,p,q))}}if(b===d.h.OPENAI&&(y=function(a){if(!a.messages||!Array.isArray(a.messages))return a;if(a.messages=a.messages.map(a=>{if("developer"===a.role&&(a={...a,role:"system"}),"tool"===a.role||"assistant"===a.role&&a.tool_calls||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=[];for(let c of a.content)if("thinking"!==c.type&&"redacted_thinking"!==c.type){if(l.includes(c.type)){let{signature:a,cache_control:d,...e}=c;b.push(e)}else if("tool_use"===c.type)continue;else if("tool_result"===c.type){let{signature:a,cache_control:d,...e}=c;b.push(e)}}return 0===b.length&&b.push({type:"text",text:""}),{...a,content:b}}return a}),a.messages=a.messages.filter(a=>"tool"===a.role||"assistant"===a.role&&!!a.tool_calls||("string"==typeof a.content?""!==a.content.trim():!Array.isArray(a.content)||a.content.some(a=>"text"===a.type&&a.text?.trim()||"text"!==a.type))),a.tools&&Array.isArray(a.tools)&&0===a.tools.length&&delete a.tools,a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&(a.tools=a.tools.map(a=>"function"===a.type&&a.function?a:a.name&&(a.input_schema||a.description)?{type:"function",function:{name:a.name,description:String(a.description||""),parameters:a.input_schema||{type:"object",properties:{}}}}:a.functionDeclarations&&Array.isArray(a.functionDeclarations)?a.functionDeclarations.map(a=>({type:"function",function:{name:a.name,description:String(a.description||""),parameters:a.parameters||{type:"object",properties:{}}}})):a).flat()),a.tool_choice&&"object"==typeof a.tool_choice){let b=a.tool_choice;"auto"===b.type?a.tool_choice="auto":"any"===b.type?a.tool_choice="required":"tool"===b.type&&b.name&&(a.tool_choice={type:"function",function:{name:b.name}})}return a}(y)),b===d.h.CLAUDE&&(y=function(a,b=null,c=null,d=null){if(k.has(b)&&delete a.output_config,a.system&&Array.isArray(a.system)&&(a.system=a.system.map((b,c)=>{let{cache_control:d,...e}=b;return c===a.system.length-1?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e})),a.messages&&Array.isArray(a.messages)){let c=a.messages.length,d=[];for(let b=0;b<c;b++){let e=a.messages[b];if(Array.isArray(e.content))for(let a of e.content)delete a.cache_control;(b===c-1&&"assistant"===e.role||"string"==typeof e.content&&e.content.trim()||Array.isArray(e.content)&&e.content.some(a=>"text"===a.type&&a.text?.trim()||"tool_use"===a.type||"tool_result"===a.type))&&d.push(e)}d=function(a){if(a.length<=1)return a;for(let b of a)if("assistant"===b.role&&Array.isArray(b.content)&&b.content.some(a=>"tool_use"===a.type)){let a=[],c=!1;for(let d of b.content)"tool_use"===d.type?(c=!0,a.push(d)):"thinking"===d.type||"redacted_thinking"===d.type?a.push(d):c||a.push(d);b.content=a}let b=[];for(let c of a){let a=b[b.length-1];if(a&&a.role===c.role){let b=Array.isArray(a.content)?a.content:[{type:"text",text:a.content}],d=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];a.content=[...b.filter(a=>"tool_result"===a.type),...d.filter(a=>"tool_result"===a.type),...b.filter(a=>"tool_result"!==a.type),...d.filter(a=>"tool_result"!==a.type)]}else{let a=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];b.push({role:c.role,content:[...a]})}}return b}(d),a.messages=d;let e=d[d.length-1],f=e?.role==="user",g=a.thinking?.type==="enabled"&&f,i=!1;for(let a=d.length-1;a>=0;a--){let c=d[a];if("assistant"===c.role&&Array.isArray(c.content)){if(!i&&c.content.length>0){for(let a=c.content.length-1;a>=0;a--){let b=c.content[a];if("thinking"!==b.type&&"redacted_thinking"!==b.type){b.cache_control={type:"ephemeral"};break}}i=!0}if("claude"===b||b?.startsWith("anthropic-compatible")){let a=!1,b=!1;for(let d of c.content)("thinking"===d.type||"redacted_thinking"===d.type)&&(d.signature=h.xr,b=!0),"tool_use"===d.type&&(a=!0);g&&!b&&a&&c.content.unshift({type:"thinking",thinking:".",signature:h.xr})}}}}if(a.tools&&Array.isArray(a.tools)&&("claude"!==b&&(a.tools=a.tools.filter(a=>!a.type||"function"===a.type)),a.tools=a.tools.map((b,c)=>{let{cache_control:d,...e}=b;return c===a.tools.length-1?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e}),0===a.tools.length&&(delete a.tools,delete a.tool_choice)),("claude"===b||b?.startsWith("anthropic-compatible"))&&c){let b=d?(0,j.RF)(d):null;a=(0,i.fO)(a,c,b)}return a}(y,t,q?.accessToken||q?.apiKey||null,w)),"claude"===t){let a=q?.accessToken||q?.apiKey||null;if(a?.includes("sk-ant-oat")){let{body:a,toolNameMap:b}=(0,i.Az)(y);y=a,b?.size>0&&(y._toolNameMap=b)}}return y}function t(a,b,c,e){if(r(),b===a)return[c];let f=[c],g=null;if(a!==d.h.OPENAI){let b=o.get(`${a}:${d.h.OPENAI}`);if(b){f=[];let a=b(c,e);a&&(g=f=Array.isArray(a)?a:[a])}}if(b!==d.h.OPENAI){let a=o.get(`${d.h.OPENAI}:${b}`);if(a){let b=[];for(let c of f){let d=a(c,e);d&&b.push(...Array.isArray(d)?d:[d])}f=b}}return g&&b!==d.h.OPENAI&&a!==d.h.OPENAI&&(f._openaiIntermediate=g),f}function u(a,b){return a!==b}function v(a){let b={messageId:null,model:null,textBlockStarted:!1,thinkingBlockStarted:!1,inThinkingBlock:!1,currentBlockIndex:null,toolCalls:new Map,finishReason:null,finishReasonSent:!1,usage:null,contentBlockIndex:-1};return a===d.h.OPENAI_RESPONSES?{...b,seq:0,responseId:`resp_${Date.now()}`,created:Math.floor(Date.now()/1e3),started:!1,msgTextBuf:{},msgItemAdded:{},msgContentAdded:{},msgItemDone:{},reasoningId:"",reasoningIndex:-1,reasoningBuf:"",reasoningPartAdded:!1,reasoningDone:!1,inThinking:!1,funcArgsBuf:{},funcNames:{},funcCallIds:{},funcArgsDone:{},funcItemDone:{},completedSent:!1}:b}function w(){r()}},39006:a=>{a.exports={rE:"5.1.48"}},39536:(a,b,c)=>{c.d(b,{c:()=>m});var d=c(55511),e=c.n(d),f=c(5259),g=c(35024),h=c(75924),i=c(41004),j=c(80662),k=c(39609),l=c(47593);class m extends f.H{constructor(){super("antigravity",g.xq.antigravity)}buildUrl(a,b,c=0){let d=this.getBaseUrls(),e=d[c]||d[0];return`${e}/v1internal:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0,c=null){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||h.K["User-Agent"],[h.Ox.name]:h.Ox.value,...c&&{"X-Machine-Session-Id":c},Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b,c,d){let f=d?.projectId||this.generateProjectId(),g=b.request?.contents?.map(a=>{let b=a.role;a.parts?.some(a=>a.functionResponse)&&(b="user");let c=a.parts?.filter(a=>(!a.thought||!!a.functionCall)&&(!a.thoughtSignature||!!a.functionCall||!!a.text));return b!==a.role||c?.length!==a.parts?.length?{...a,role:b,parts:c}:a}),h=b.request?.tools;if(h&&h.length>0){let a=h.flatMap(a=>(a.functionDeclarations||[]).map(a=>({...a,name:function(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}(a.name),parameters:a.parameters?(0,l.Yr)(structuredClone(a.parameters)):{type:"object",properties:{reason:{type:"string",description:"Brief explanation"}},required:["reason"]}})));h=a.length>0?[{functionDeclarations:a}]:[]}let{tools:i,toolConfig:k,...m}=b.request||{},n={...m.generationConfig||{}};n.maxOutputTokens>16384&&(n.maxOutputTokens=16384);let o={...m,generationConfig:n,...g&&{contents:g},...h&&{tools:h},sessionId:b.request?.sessionId||(0,j.RF)(d?.email||d?.connectionId),safetySettings:void 0,...h?.length>0&&{toolConfig:{functionCallingConfig:{mode:"VALIDATED"}}}};return{...b,project:f,model:a,userAgent:"antigravity",requestType:"agent",requestId:`agent-${e().randomUUID()}`,request:o}}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;try{let d=await (0,k.proxyAwareFetch)(h.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})},c);if(!d.ok)return null;let e=await d.json();return b?.info?.("TOKEN","Antigravity refreshed"),{accessToken:e.access_token,refreshToken:e.refresh_token||a.refreshToken,expiresIn:e.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Antigravity refresh error: ${a.message}`),null}}generateProjectId(){let a=["useful","bright","swift","calm","bold"][Math.floor(5*Math.random())],b=["fuze","wave","spark","flow","core"][Math.floor(5*Math.random())];return`${a}-${b}-${e().randomUUID().slice(0,5)}`}generateSessionId(){return e().randomUUID()+Date.now().toString()}parseRetryHeaders(a){if(!a?.get)return null;let b=a.get("retry-after");if(b){let a=parseInt(b,10);if(!isNaN(a)&&a>0)return 1e3*a;let c=new Date(b);if(!isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}}let c=a.get("x-ratelimit-reset-after");if(c){let a=parseInt(c,10);if(!isNaN(a)&&a>0)return 1e3*a}let d=a.get("x-ratelimit-reset");if(d){let a=1e3*parseInt(d,10)-Date.now();return a>0?a:null}return null}parseRetryFromErrorMessage(a){if(!a||"string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=3600*parseInt(b[1])*1e3),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.getFallbackCount(),j=null,l=0,m={},n={};for(let o=0;o<h;o++){let p=this.buildUrl(a,c,o),q=this.transformRequest(a,b,c,d),r=q.request?.sessionId,s=this.buildHeaders(d,c,r);m[o]||(m[o]=0),n[o]||(n[o]=0);try{let a=await (0,k.proxyAwareFetch)(p,{method:"POST",headers:s,body:JSON.stringify(q),signal:e},g);if(a.status===i.gx.RATE_LIMITED||a.status===i.gx.SERVICE_UNAVAILABLE){let b=this.parseRetryHeaders(a.headers);if(!b)try{let c=await a.clone().text(),d=JSON.parse(c),e=d?.error?.message||d?.message||"";b=this.parseRetryFromErrorMessage(e)}catch(a){}if(b&&b<=1e4&&n[o]<3){n[o]++,f?.debug?.("RETRY",`${a.status} with Retry-After: ${Math.ceil(b/1e3)}s, waiting... (${n[o]}/3)`),await new Promise(a=>setTimeout(a,b)),o--;continue}if(a.status===i.gx.RATE_LIMITED&&(!b||0===b)&&m[o]<3){m[o]++;let a=Math.min(1e3*2**m[o],1e4);f?.debug?.("RETRY",`429 auto retry ${m[o]}/3 after ${a/1e3}s`),await new Promise(b=>setTimeout(b,a)),o--;continue}if(f?.debug?.("RETRY",`${a.status}, Retry-After ${b?`too long (${Math.ceil(b/1e3)}s)`:"missing"}, trying fallback`),l=a.status,o+1<h)continue}if(this.shouldRetry(a.status,o)){f?.debug?.("RETRY",`${a.status} on ${p}, trying fallback ${o+1}`),l=a.status;continue}return{response:a,url:p,headers:s,transformedBody:q}}catch(a){if(j=a,o+1<h){f?.debug?.("RETRY",`Error on ${p}, trying fallback ${o+1}`);continue}throw a}}throw j||Error(`All ${h} URLs failed with status ${l}`)}static cloakTools(a,b=null){let c=a.request?.tools;if(!c||0===c.length)return{cloakedBody:a,toolNameMap:null};let d="github-copilot"===b,e=new Map,f=[],g=new Set(n.map(a=>a.name));for(let a of c)if(a.functionDeclarations)for(let b of a.functionDeclarations){if(d&&h.J5.has(b.name)||d&&g.has(b.name))continue;if(h.J5.has(b.name)){f.push(b);continue}let a=`${b.name}${h.QH}`;e.set(a,b.name),f.push({...b,name:a})}let i=[],j=new Set;for(let a of[...f,...n])!a?.name||j.has(a.name)||(j.add(a.name),i.push(a));let k=a.request?.contents?.map(a=>{if(!a.parts)return a;let b=a.parts.map(a=>a.functionCall&&!h.J5.has(a.functionCall.name)?{...a,functionCall:{...a.functionCall,name:`${a.functionCall.name}${h.QH}`}}:a.functionResponse&&!h.J5.has(a.functionResponse.name)?{...a,functionResponse:{...a.functionResponse,name:`${a.functionResponse.name}${h.QH}`}}:a);return{...a,parts:b}});return{cloakedBody:{...a,request:{...a.request,tools:[{functionDeclarations:i}],contents:k||a.request.contents}},toolNameMap:e}}}let n=[{name:"browser_subagent",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"command_status",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"find_by_name",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"generate_image",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"grep_search",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_dir",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_resources",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"mcp_sequential-thinking_sequentialthinking",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"multi_replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"notify_user",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_resource",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_terminal",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_url_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"run_command",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"search_web",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"send_command_input",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"task_boundary",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_content_chunk",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"write_to_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}}]},39551:(a,b,c)=>{c.r(b),c.d(b,{ollamaBodyToOpenAI:()=>i,ollamaToOpenAI:()=>f});var d=c(33110),e=c(14170);function f(a,b){if(!a||"object"!=typeof a)return null;b.ollama||(b.ollama={id:`chatcmpl-${Date.now()}`,created:Math.floor(Date.now()/1e3),model:a.model||b.model});let{id:c,created:d,model:e}=b.ollama;if(a.done){let f=g(a),h="stop";return("tool_calls"===a.done_reason||b.hadToolCalls)&&(h="tool_calls"),{id:c,object:"chat.completion.chunk",created:d,model:e,choices:[{index:0,delta:{},finish_reason:h}],usage:f}}let f=a.message;if(!f)return null;let i="string"==typeof f.content?f.content:"",j="string"==typeof f.thinking?f.thinking:"",k=Array.isArray(f.tool_calls)?f.tool_calls:null;if(!i&&!j&&!k)return null;i&&(b.accumulatedContent=(b.accumulatedContent||"")+i),j&&(b.accumulatedThinking=(b.accumulatedThinking||"")+j);let l={};return i&&(l.content=i),j&&(l.reasoning_content=j),k&&(b.hadToolCalls=!0,l.tool_calls=h(k)),{id:c,object:"chat.completion.chunk",created:d,model:e,choices:[{index:0,delta:l,finish_reason:null}]}}function g(a){return{prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}}function h(a){return a.map((a,b)=>({index:a.function?.index??b,id:a.id||`call_${b}_${Date.now()}`,type:"function",function:{name:a.function?.name||"",arguments:"string"==typeof a.function?.arguments?a.function.arguments:JSON.stringify(a.function?.arguments||{})}}))}function i(a){let b=a.message||{},c=b.content||"",d=b.thinking||"",e=Array.isArray(b.tool_calls)?b.tool_calls:[],f={role:"assistant"};c&&(f.content=c),d&&(f.reasoning_content=d),e.length>0&&(f.tool_calls=h(e)),f.content||f.tool_calls||(f.content="");let i=a.done_reason||"stop";return e.length>0&&(i="tool_calls"),{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"ollama",choices:[{index:0,message:f,finish_reason:i}],usage:g(a)}}(0,d.kz)(e.h.OLLAMA,e.h.OPENAI,null,f)},42654:(a,b,c)=>{c.d(b,{m:()=>d});function d(a){return"string"==typeof a?[{type:"message",role:"user",content:[{type:"input_text",text:""===a.trim()?"...":a}]}]:Array.isArray(a)?0===a.length?[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]:a:null}},47593:(a,b,c)=>{c.d(b,{KZ:()=>i,S6:()=>f,Yr:()=>m,f6:()=>j,fc:()=>e,kU:()=>g,pT:()=>h,w_:()=>k});let d=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],e=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function f(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if("text"===c.type)b.push({text:c.text});else if("image_url"===c.type&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if("image_url"===c.type&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if("input_audio"===c.type&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if("audio_url"===c.type&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}}return b}function g(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(""):""}function h(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return null}}function i(){return`agent-${crypto.randomUUID()}`}function j(){return crypto.randomUUID()+Date.now().toString()}function k(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function l(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function m(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,d),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},47723:(a,b,c)=>{c.r(b),c.d(b,{convertCommandCodeToOpenAI:()=>h});var d=c(33110),e=c(14170);function f(a,b,c=null){return{id:a.responseId,object:"chat.completion.chunk",created:a.created,model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function g(a){switch(a){case"stop":case"error":return"stop";case"length":return"length";case"tool-calls":case"tool_use":return"tool_calls";case"content-filter":return"content_filter";default:return a||"stop"}}function h(a,b){var c;if(!a)return null;if(a&&"object"==typeof a&&"chat.completion.chunk"===a.object)return a;let d=a;if("string"==typeof a){let b=a.trim();if(!b)return null;let c=b.startsWith("data:")?b.slice(5).trim():b;if(!c||"[DONE]"===c)return null;try{d=JSON.parse(c)}catch{return null}}if(!d||"object"!=typeof d||!d.type)return null;c=d.model,b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.model=b.model||c||"commandcode",b.chunkIndex=0,b.toolIndex=0,b.toolIndexById=new Map,b.openTools=new Set,b.openText=!1,b.finishReason=null,b.usage=null);let e=[];switch(d.type){case"text-delta":{let a=d.text||d.delta||"";if(!a)break;let c=0===b.chunkIndex?{role:"assistant",content:a}:{content:a};b.chunkIndex++,b.openText=!0,e.push(f(b,c));break}case"reasoning-delta":{let a=d.text||"";if(!a)break;let c=0===b.chunkIndex?{role:"assistant",reasoning_content:a}:{reasoning_content:a};b.chunkIndex++,e.push(f(b,c));break}case"tool-input-start":{let a=d.id||d.toolCallId||`call_${Date.now()}_${b.toolIndex}`,c=b.toolIndexById.get(a);null==c&&(c=b.toolIndex++,b.toolIndexById.set(a,c)),b.openTools.add(a);let g={...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:c,id:a,type:"function",function:{name:d.toolName||"",arguments:""}}]};b.chunkIndex++,e.push(f(b,g));break}case"tool-input-delta":{let a=d.id||d.toolCallId,c=b.toolIndexById.get(a);if(null==c)break;let g={tool_calls:[{index:c,function:{arguments:d.delta||d.inputTextDelta||""}}]};e.push(f(b,g));break}case"tool-call":{let a=d.toolCallId;if(b.toolIndexById.has(a))break;let c=b.toolIndex++;b.toolIndexById.set(a,c);let g="string"==typeof d.input?d.input:JSON.stringify(d.input??{}),h={...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:c,id:a,type:"function",function:{name:d.toolName||"",arguments:g}}]};b.chunkIndex++,e.push(f(b,h));break}case"finish-step":b.finishReason=g(d.finishReason),d.usage&&(b.usage=d.usage);break;case"finish":{let a=b.finishReason||g(d.finishReason||"stop"),c=f(b,{},a),h=d.totalUsage||b.usage;h&&(c.usage={prompt_tokens:h.inputTokens??0,completion_tokens:h.outputTokens??0,total_tokens:h.totalTokens??(h.inputTokens??0)+(h.outputTokens??0)}),e.push(c);break}case"error":{b.finishReason="stop";let a=d.error??d.message??"unknown",c="string"==typeof a?a:JSON.stringify(a);e.push(f(b,{content:`
62
+ Respond ONLY with the JSON object, no other text.`)}else"json_object"===a.type&&j.push("You must respond with valid JSON. Respond ONLY with a JSON object, no other text.")}let k={type:"text",text:f.Co};if(j.length>0?h.system=[k,{type:"text",text:j.join("\n"),cache_control:{type:"ephemeral",ttl:"1h"}}]:h.system=[k],b.tools&&Array.isArray(b.tools)){for(let a of(h.tools=[],b.tools)){let b=a.type;if(b&&"function"!==b){h.tools.push(a);continue}let c="function"===b&&a.function?a.function:a,d=c.name,f=""+d;e.set(f,d),h.tools.push({name:f,description:c.description||"",input_schema:c.parameters||c.input_schema||{type:"object",properties:{},required:[]}})}h.tools.length>0&&(h.tools[h.tools.length-1].cache_control={type:"ephemeral",ttl:"1h"})}if(b.tool_choice&&(h.tool_choice=(d=b.tool_choice)?"object"==typeof d&&d.type?d:"auto"===d||"none"===d?{type:"auto"}:"required"===d?{type:"any"}:"object"==typeof d&&d.function?{type:"tool",name:d.function.name}:{type:"auto"}:{type:"auto"}),b.thinking&&(h.thinking={type:b.thinking.type||"enabled",...b.thinking.budget_tokens&&{budget_tokens:b.thinking.budget_tokens},...b.thinking.max_tokens&&{max_tokens:b.thinking.max_tokens}}),b.reasoning_effort&&!h.thinking){let a={none:0,low:4096,medium:8192,high:16384,xhigh:32768}[b.reasoning_effort.toLowerCase()];0===a||a&&(h.thinking={type:"enabled",budget_tokens:a})}return e.size>0&&(h._toolNameMap=e),h}function i(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):""}function j(a,b,c){let d=h(a,b,c);return d.system&&Array.isArray(d.system)&&(d.system=d.system.filter(a=>!a.text||!a.text.includes("You are Claude Code")),0===d.system.length&&delete d.system),d.tools&&Array.isArray(d.tools)&&(d.tools=d.tools.map(a=>a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a)),d.messages&&Array.isArray(d.messages)&&(d.messages=d.messages.map(a=>{if(!a.content||!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type&&a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a);return{...a,content:b}})),d}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,h,null)},29675:(a,b,c)=>{c.r(b),c.d(b,{claudeToOpenAIResponse:()=>g});var d=c(33110),e=c(14170);function f(a,b,c=null){return{id:`chatcmpl-${a.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function g(a,b){if(!a)return null;let c=[];switch(a.type){case"message_start":b.messageId=a.message?.id||`msg_${Date.now()}`,b.model=a.message?.model,b.toolCallIndex=0,c.push(f(b,{role:"assistant"}));break;case"content_block_start":{let d=a.content_block;if(d?.type==="server_tool_use"){b.serverToolBlockIndex=a.index;break}if(d?.type==="text")b.textBlockStarted=!0;else if(d?.type==="thinking")b.inThinkingBlock=!0,b.currentBlockIndex=a.index,c.push(f(b,{content:"<think>"}));else if(d?.type==="tool_use"){let e=b.toolCallIndex++,g=b.toolNameMap?.get(d.name)||d.name,h={index:e,id:d.id,type:"function",function:{name:g,arguments:""}};b.toolCalls.set(a.index,h),c.push(f(b,{tool_calls:[h]}))}break}case"content_block_delta":{if(a.index===b.serverToolBlockIndex)break;let d=a.delta;if(d?.type==="text_delta"&&d.text)c.push(f(b,{content:d.text}));else if(d?.type==="thinking_delta"&&d.thinking)c.push(f(b,{reasoning_content:d.thinking}));else if(d?.type==="input_json_delta"&&d.partial_json){let e=b.toolCalls.get(a.index);e&&(e.function.arguments+=d.partial_json,c.push(f(b,{tool_calls:[{index:e.index,id:e.id,function:{arguments:d.partial_json}}]})))}break}case"content_block_stop":if(a.index===b.serverToolBlockIndex){b.serverToolBlockIndex=-1;break}b.inThinkingBlock&&a.index===b.currentBlockIndex&&(c.push(f(b,{content:"</think>"})),b.inThinkingBlock=!1),b.textBlockStarted=!1,b.thinkingBlockStarted=!1;break;case"message_delta":if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.input_tokens?a.usage.input_tokens:0,d="number"==typeof a.usage.output_tokens?a.usage.output_tokens:0,e="number"==typeof a.usage.cache_read_input_tokens?a.usage.cache_read_input_tokens:0,f="number"==typeof a.usage.cache_creation_input_tokens?a.usage.cache_creation_input_tokens:0,g=c+e+f;b.usage={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,input_tokens:c,output_tokens:d},e>0&&(b.usage.cache_read_input_tokens=e),f>0&&(b.usage.cache_creation_input_tokens=f)}if(a.delta?.stop_reason){b.finishReason=function(a){switch(a){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(a.delta.stop_reason);let d={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:b.finishReason}]};if(b.usage){d.usage={prompt_tokens:b.usage.prompt_tokens,completion_tokens:b.usage.completion_tokens,total_tokens:b.usage.total_tokens};let a=b.usage.cache_read_input_tokens,c=b.usage.cache_creation_input_tokens;(a>0||c>0)&&(d.usage.prompt_tokens_details={},a>0&&(d.usage.prompt_tokens_details.cached_tokens=a),c>0&&(d.usage.prompt_tokens_details.cache_creation_tokens=c))}c.push(d),b.finishReasonSent=!0}break;case"message_stop":if(!b.finishReasonSent){let a=b.finishReason||(b.toolCalls?.size>0?"tool_calls":"stop"),d=b.usage&&"object"==typeof b.usage?{usage:{prompt_tokens:b.usage.input_tokens||0,completion_tokens:b.usage.output_tokens||0,total_tokens:(b.usage.input_tokens||0)+(b.usage.output_tokens||0)}}:{};c.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}],...d}),b.finishReasonSent=!0}}return c.length>0?c:null}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,null,g)},32546:(a,b,c)=>{c.r(b),c.d(b,{geminiToOpenAIResponse:()=>f});var d=c(33110),e=c(14170);function f(a,b){if(!a)return null;let c=a.response||a;if(!c||!c.candidates?.[0])return null;let d=[],e=c.candidates[0],f=e.content;if(b.messageId||(b.messageId=c.responseId||`msg_${Date.now()}`,b.model=c.modelVersion||"gemini",b.functionIndex=0,d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),f?.parts)for(let a of f.parts){let c=a.thoughtSignature||a.thought_signature,e=!0===a.thought;if(c){let c=void 0!==a.text&&""!==a.text,f=!!a.functionCall;if(c&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:e?{reasoning_content:a.text}:{content:a.text},finish_reason:null}]}),f){let c=a.functionCall.name,e=b.toolNameMap?.get(c)||c,f=a.functionCall.args||{},g=b.functionIndex++,h={id:`${e}-${Date.now()}-${g}`,index:g,type:"function",function:{name:e,arguments:JSON.stringify(f)}};b.toolCalls.set(g,h),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[h]},finish_reason:null}]})}continue}if(void 0!==a.text&&""!==a.text&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{content:a.text},finish_reason:null}]}),a.functionCall){let c=a.functionCall.name,e=b.toolNameMap?.get(c)||c,f=a.functionCall.args||{},g=b.functionIndex++,h={id:`${e}-${Date.now()}-${g}`,index:g,type:"function",function:{name:e,arguments:JSON.stringify(f)}};b.toolCalls.set(g,h),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[h]},finish_reason:null}]})}let f=a.inlineData||a.inline_data;if(f?.data){let a=f.mimeType||f.mime_type||"image/png";d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{images:[{type:"image_url",image_url:{url:`data:${a};base64,${f.data}`}}]},finish_reason:null}]})}}let g=c.usageMetadata||a.usageMetadata;if(g&&"object"==typeof g){let a="number"==typeof g.cachedContentTokenCount?g.cachedContentTokenCount:0,c="number"==typeof g.promptTokenCount?g.promptTokenCount:0,d="number"==typeof g.thoughtsTokenCount?g.thoughtsTokenCount:0,e="number"==typeof g.candidatesTokenCount?g.candidatesTokenCount:0,f="number"==typeof g.totalTokenCount?g.totalTokenCount:0;0===e&&f>0&&(e=f-c-d)<0&&(e=0),b.usage={prompt_tokens:c,completion_tokens:e+d,total_tokens:f},a>0&&(b.usage.prompt_tokens_details={cached_tokens:a}),d>0&&(b.usage.completion_tokens_details={reasoning_tokens:d})}if(e.finishReason){let a=e.finishReason.toLowerCase();"stop"===a&&b.toolCalls.size>0&&(a="tool_calls");let c={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}]};b.usage&&(c.usage=b.usage),d.push(c),b.finishReason=a}return d.length>0?d:null}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,null,f),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,null,f),(0,d.kz)(e.h.ANTIGRAVITY,e.h.OPENAI,null,f),(0,d.kz)(e.h.VERTEX,e.h.OPENAI,null,f)},33110:(a,b,c)=>{c.d(b,{Ws:()=>v,Ai:()=>w,nZ:()=>u,kz:()=>q,GH:()=>s,Y8:()=>t});var d=c(14170);let e=/^[a-zA-Z0-9_-]+$/;function f(a=0,b=0,c=""){let d=c?`_${c.replace(/[^a-zA-Z0-9_-]/g,"")}`:"";return`call_msg${a}_tc${b}${d}`}function g(a){if(!a||"string"!=typeof a)return null;let b=a.replace(/[^a-zA-Z0-9_-]/g,"");return b.length>0?b:null}var h=c(96281);c(3156);var i=c(55399),j=c(80662);let k=new Set(["minimax","minimax-cn"]),l=["text","image_url","image","input_audio","audio_url"];var m=c(57647);c(39536);let n=new Map,o=new Map,p=!1;function q(a,b,c,d){let e=`${a}:${b}`;c&&n.set(e,c),d&&o.set(e,d)}function r(){p||(p=!0,c(60983),c(19979),c(52638),c(97102),c(59611),c(54817),c(65377),c(10010),c(13595),c(74447),c(97821),c(29675),c(66159),c(32546),c(89475),c(4845),c(52830),c(65651),c(39551),c(47723))}function s(a,b,c,o,p=!0,q=null,t=null,u=null,v=[],w=null,x=null){r();let y=structuredClone(o);if(!function(a,b=[]){if(!b.length||!a.messages||!Array.isArray(a.messages))return;let c=new Set(["image_url","image"]),d=new Set(["audio_url","input_audio"]),e=a=>c.has(a)?b.includes("image"):!!d.has(a)&&b.includes("audio");for(let b of a.messages)Array.isArray(b.content)&&(b.content=b.content.filter(a=>!e(a.type)),0===b.content.length&&(b.content=""))}(y,v),(0,m.SZ)(y),!function(a){if(a.messages&&Array.isArray(a.messages))for(let b=0;b<a.messages.length;b++){let c=a.messages[b];if("assistant"===c.role&&c.tool_calls&&Array.isArray(c.tool_calls))for(let a=0;a<c.tool_calls.length;a++){let d=c.tool_calls[a];if(!d.id||!e.test(d.id)){let c=g(d.id);d.id=c||f(b,a,d.function?.name)}d.type||(d.type="function"),d.function?.arguments&&"string"!=typeof d.function.arguments&&(d.function.arguments=JSON.stringify(d.function.arguments))}if("tool"===c.role&&c.tool_call_id&&!e.test(c.tool_call_id)){let a=g(c.tool_call_id);c.tool_call_id=a||f(b,0)}if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let d=c.content[a];if("tool_use"===d.type&&d.id&&!e.test(d.id)){let c=g(d.id);d.id=c||f(b,a,d.name)}if("tool_result"===d.type&&d.tool_use_id&&!e.test(d.tool_use_id)){let c=g(d.tool_use_id);d.tool_use_id=c||f(b,a)}}}}(y),!function(a){if(!a.messages||!Array.isArray(a.messages))return;let b=[];for(let c=0;c<a.messages.length;c++){let d=a.messages[c],e=a.messages[c+1];b.push(d);let f=function(a){if("assistant"!==a.role)return[];let b=[];if(a.tool_calls&&Array.isArray(a.tool_calls))for(let c of a.tool_calls)c.id&&b.push(c.id);if(Array.isArray(a.content))for(let c of a.content)"tool_use"===c.type&&c.id&&b.push(c.id);return b}(d);if(0!==f.length&&e&&!function(a,b){if(!a||!b.length)return!1;if("tool"===a.role&&a.tool_call_id)return b.includes(a.tool_call_id);if("user"===a.role&&Array.isArray(a.content)){for(let c of a.content)if("tool_result"===c.type&&b.includes(c.tool_use_id))return!0}return!1}(e,f))for(let a of f)b.push({role:"tool",tool_call_id:a,content:""})}a.messages=b}(y),a!==b){if(a!==d.h.OPENAI){let b=n.get(`${a}:${d.h.OPENAI}`);b&&(y=b(c,y,p,q),u?.logOpenAIRequest?.(y))}if(b!==d.h.OPENAI){let a=n.get(`${d.h.OPENAI}:${b}`);a&&(y=a(c,y,p,q))}}if(b===d.h.OPENAI&&(y=function(a){if(!a.messages||!Array.isArray(a.messages))return a;if(a.messages=a.messages.map(a=>{if("developer"===a.role&&(a={...a,role:"system"}),"tool"===a.role||"assistant"===a.role&&a.tool_calls||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=[];for(let c of a.content)if("thinking"!==c.type&&"redacted_thinking"!==c.type){if(l.includes(c.type)){let{signature:a,cache_control:d,...e}=c;b.push(e)}else if("tool_use"===c.type)continue;else if("tool_result"===c.type){let{signature:a,cache_control:d,...e}=c;b.push(e)}}return 0===b.length&&b.push({type:"text",text:""}),{...a,content:b}}return a}),a.messages=a.messages.filter(a=>"tool"===a.role||"assistant"===a.role&&!!a.tool_calls||("string"==typeof a.content?""!==a.content.trim():!Array.isArray(a.content)||a.content.some(a=>"text"===a.type&&a.text?.trim()||"text"!==a.type))),a.tools&&Array.isArray(a.tools)&&0===a.tools.length&&delete a.tools,a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&(a.tools=a.tools.map(a=>"function"===a.type&&a.function?a:a.name&&(a.input_schema||a.description)?{type:"function",function:{name:a.name,description:String(a.description||""),parameters:a.input_schema||{type:"object",properties:{}}}}:a.functionDeclarations&&Array.isArray(a.functionDeclarations)?a.functionDeclarations.map(a=>({type:"function",function:{name:a.name,description:String(a.description||""),parameters:a.parameters||{type:"object",properties:{}}}})):a).flat()),a.tool_choice&&"object"==typeof a.tool_choice){let b=a.tool_choice;"auto"===b.type?a.tool_choice="auto":"any"===b.type?a.tool_choice="required":"tool"===b.type&&b.name&&(a.tool_choice={type:"function",function:{name:b.name}})}return a}(y)),b===d.h.CLAUDE&&(y=function(a,b=null,c=null,d=null){if(k.has(b)&&delete a.output_config,a.system&&Array.isArray(a.system)&&(a.system=a.system.map((b,c)=>{let{cache_control:d,...e}=b;return c===a.system.length-1?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e})),a.messages&&Array.isArray(a.messages)){let c=a.messages.length,d=[];for(let b=0;b<c;b++){let e=a.messages[b];if(Array.isArray(e.content))for(let a of e.content)delete a.cache_control;(b===c-1&&"assistant"===e.role||"string"==typeof e.content&&e.content.trim()||Array.isArray(e.content)&&e.content.some(a=>"text"===a.type&&a.text?.trim()||"tool_use"===a.type||"tool_result"===a.type))&&d.push(e)}d=function(a){if(a.length<=1)return a;for(let b of a)if("assistant"===b.role&&Array.isArray(b.content)&&b.content.some(a=>"tool_use"===a.type)){let a=[],c=!1;for(let d of b.content)"tool_use"===d.type?(c=!0,a.push(d)):"thinking"===d.type||"redacted_thinking"===d.type?a.push(d):c||a.push(d);b.content=a}let b=[];for(let c of a){let a=b[b.length-1];if(a&&a.role===c.role){let b=Array.isArray(a.content)?a.content:[{type:"text",text:a.content}],d=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];a.content=[...b.filter(a=>"tool_result"===a.type),...d.filter(a=>"tool_result"===a.type),...b.filter(a=>"tool_result"!==a.type),...d.filter(a=>"tool_result"!==a.type)]}else{let a=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];b.push({role:c.role,content:[...a]})}}return b}(d),a.messages=d;let e=d[d.length-1],f=e?.role==="user",g=a.thinking?.type==="enabled"&&f,i=!1;for(let a=d.length-1;a>=0;a--){let c=d[a];if("assistant"===c.role&&Array.isArray(c.content)){if(!i&&c.content.length>0){for(let a=c.content.length-1;a>=0;a--){let b=c.content[a];if("thinking"!==b.type&&"redacted_thinking"!==b.type){b.cache_control={type:"ephemeral"};break}}i=!0}if("claude"===b||b?.startsWith("anthropic-compatible")){let a=!1,b=!1;for(let d of c.content)("thinking"===d.type||"redacted_thinking"===d.type)&&(d.signature=h.xr,b=!0),"tool_use"===d.type&&(a=!0);g&&!b&&a&&c.content.unshift({type:"thinking",thinking:".",signature:h.xr})}}}}if(a.tools&&Array.isArray(a.tools)&&("claude"!==b&&(a.tools=a.tools.filter(a=>!a.type||"function"===a.type)),a.tools=a.tools.map((b,c)=>{let{cache_control:d,...e}=b;return c===a.tools.length-1?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e}),0===a.tools.length&&(delete a.tools,delete a.tool_choice)),("claude"===b||b?.startsWith("anthropic-compatible"))&&c){let b=d?(0,j.RF)(d):null;a=(0,i.fO)(a,c,b)}return a}(y,t,q?.accessToken||q?.apiKey||null,w)),"claude"===t){let a=q?.accessToken||q?.apiKey||null;if(a?.includes("sk-ant-oat")){let{body:a,toolNameMap:b}=(0,i.Az)(y);y=a,b?.size>0&&(y._toolNameMap=b)}}return y}function t(a,b,c,e){if(r(),b===a)return[c];let f=[c],g=null;if(a!==d.h.OPENAI){let b=o.get(`${a}:${d.h.OPENAI}`);if(b){f=[];let a=b(c,e);a&&(g=f=Array.isArray(a)?a:[a])}}if(b!==d.h.OPENAI){let a=o.get(`${d.h.OPENAI}:${b}`);if(a){let b=[];for(let c of f){let d=a(c,e);d&&b.push(...Array.isArray(d)?d:[d])}f=b}}return g&&b!==d.h.OPENAI&&a!==d.h.OPENAI&&(f._openaiIntermediate=g),f}function u(a,b){return a!==b}function v(a){let b={messageId:null,model:null,textBlockStarted:!1,thinkingBlockStarted:!1,inThinkingBlock:!1,currentBlockIndex:null,toolCalls:new Map,finishReason:null,finishReasonSent:!1,usage:null,contentBlockIndex:-1};return a===d.h.OPENAI_RESPONSES?{...b,seq:0,responseId:`resp_${Date.now()}`,created:Math.floor(Date.now()/1e3),started:!1,msgTextBuf:{},msgItemAdded:{},msgContentAdded:{},msgItemDone:{},reasoningId:"",reasoningIndex:-1,reasoningBuf:"",reasoningPartAdded:!1,reasoningDone:!1,inThinking:!1,funcArgsBuf:{},funcNames:{},funcCallIds:{},funcArgsDone:{},funcItemDone:{},completedSent:!1}:b}function w(){r()}},39006:a=>{a.exports={rE:"5.1.52"}},39536:(a,b,c)=>{c.d(b,{c:()=>m});var d=c(55511),e=c.n(d),f=c(5259),g=c(35024),h=c(75924),i=c(41004),j=c(80662),k=c(39609),l=c(47593);class m extends f.H{constructor(){super("antigravity",g.xq.antigravity)}buildUrl(a,b,c=0){let d=this.getBaseUrls(),e=d[c]||d[0];return`${e}/v1internal:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0,c=null){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||h.K["User-Agent"],[h.Ox.name]:h.Ox.value,...c&&{"X-Machine-Session-Id":c},Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b,c,d){let f=d?.projectId||this.generateProjectId(),g=b.request?.contents?.map(a=>{let b=a.role;a.parts?.some(a=>a.functionResponse)&&(b="user");let c=a.parts?.filter(a=>(!a.thought||!!a.functionCall)&&(!a.thoughtSignature||!!a.functionCall||!!a.text));return b!==a.role||c?.length!==a.parts?.length?{...a,role:b,parts:c}:a}),h=b.request?.tools;if(h&&h.length>0){let a=h.flatMap(a=>(a.functionDeclarations||[]).map(a=>({...a,name:function(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}(a.name),parameters:a.parameters?(0,l.Yr)(structuredClone(a.parameters)):{type:"object",properties:{reason:{type:"string",description:"Brief explanation"}},required:["reason"]}})));h=a.length>0?[{functionDeclarations:a}]:[]}let{tools:i,toolConfig:k,...m}=b.request||{},n={...m.generationConfig||{}};n.maxOutputTokens>16384&&(n.maxOutputTokens=16384);let o={...m,generationConfig:n,...g&&{contents:g},...h&&{tools:h},sessionId:b.request?.sessionId||(0,j.RF)(d?.email||d?.connectionId),safetySettings:void 0,...h?.length>0&&{toolConfig:{functionCallingConfig:{mode:"VALIDATED"}}}};return{...b,project:f,model:a,userAgent:"antigravity",requestType:"agent",requestId:`agent-${e().randomUUID()}`,request:o}}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;try{let d=await (0,k.proxyAwareFetch)(h.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})},c);if(!d.ok)return null;let e=await d.json();return b?.info?.("TOKEN","Antigravity refreshed"),{accessToken:e.access_token,refreshToken:e.refresh_token||a.refreshToken,expiresIn:e.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Antigravity refresh error: ${a.message}`),null}}generateProjectId(){let a=["useful","bright","swift","calm","bold"][Math.floor(5*Math.random())],b=["fuze","wave","spark","flow","core"][Math.floor(5*Math.random())];return`${a}-${b}-${e().randomUUID().slice(0,5)}`}generateSessionId(){return e().randomUUID()+Date.now().toString()}parseRetryHeaders(a){if(!a?.get)return null;let b=a.get("retry-after");if(b){let a=parseInt(b,10);if(!isNaN(a)&&a>0)return 1e3*a;let c=new Date(b);if(!isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}}let c=a.get("x-ratelimit-reset-after");if(c){let a=parseInt(c,10);if(!isNaN(a)&&a>0)return 1e3*a}let d=a.get("x-ratelimit-reset");if(d){let a=1e3*parseInt(d,10)-Date.now();return a>0?a:null}return null}parseRetryFromErrorMessage(a){if(!a||"string"!=typeof a)return null;let b=a.match(/reset after (\d+h)?(\d+m)?(\d+s)?/i);if(!b)return null;let c=0;return b[1]&&(c+=3600*parseInt(b[1])*1e3),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=1e3*parseInt(b[3])),c>0?c:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.getFallbackCount(),j=null,l=0,m={},n={};for(let o=0;o<h;o++){let p=this.buildUrl(a,c,o),q=this.transformRequest(a,b,c,d),r=q.request?.sessionId,s=this.buildHeaders(d,c,r);m[o]||(m[o]=0),n[o]||(n[o]=0);try{let a=await (0,k.proxyAwareFetch)(p,{method:"POST",headers:s,body:JSON.stringify(q),signal:e},g);if(a.status===i.gx.RATE_LIMITED||a.status===i.gx.SERVICE_UNAVAILABLE){let b=this.parseRetryHeaders(a.headers);if(!b)try{let c=await a.clone().text(),d=JSON.parse(c),e=d?.error?.message||d?.message||"";b=this.parseRetryFromErrorMessage(e)}catch(a){}if(b&&b<=1e4&&n[o]<3){n[o]++,f?.debug?.("RETRY",`${a.status} with Retry-After: ${Math.ceil(b/1e3)}s, waiting... (${n[o]}/3)`),await new Promise(a=>setTimeout(a,b)),o--;continue}if(a.status===i.gx.RATE_LIMITED&&(!b||0===b)&&m[o]<3){m[o]++;let a=Math.min(1e3*2**m[o],1e4);f?.debug?.("RETRY",`429 auto retry ${m[o]}/3 after ${a/1e3}s`),await new Promise(b=>setTimeout(b,a)),o--;continue}if(f?.debug?.("RETRY",`${a.status}, Retry-After ${b?`too long (${Math.ceil(b/1e3)}s)`:"missing"}, trying fallback`),l=a.status,o+1<h)continue}if(this.shouldRetry(a.status,o)){f?.debug?.("RETRY",`${a.status} on ${p}, trying fallback ${o+1}`),l=a.status;continue}return{response:a,url:p,headers:s,transformedBody:q}}catch(a){if(j=a,o+1<h){f?.debug?.("RETRY",`Error on ${p}, trying fallback ${o+1}`);continue}throw a}}throw j||Error(`All ${h} URLs failed with status ${l}`)}static cloakTools(a,b=null){let c=a.request?.tools;if(!c||0===c.length)return{cloakedBody:a,toolNameMap:null};let d="github-copilot"===b,e=new Map,f=[],g=new Set(n.map(a=>a.name));for(let a of c)if(a.functionDeclarations)for(let b of a.functionDeclarations){if(d&&h.J5.has(b.name)||d&&g.has(b.name))continue;if(h.J5.has(b.name)){f.push(b);continue}let a=`${b.name}${h.QH}`;e.set(a,b.name),f.push({...b,name:a})}let i=[],j=new Set;for(let a of[...f,...n])!a?.name||j.has(a.name)||(j.add(a.name),i.push(a));let k=a.request?.contents?.map(a=>{if(!a.parts)return a;let b=a.parts.map(a=>a.functionCall&&!h.J5.has(a.functionCall.name)?{...a,functionCall:{...a.functionCall,name:`${a.functionCall.name}${h.QH}`}}:a.functionResponse&&!h.J5.has(a.functionResponse.name)?{...a,functionResponse:{...a.functionResponse,name:`${a.functionResponse.name}${h.QH}`}}:a);return{...a,parts:b}});return{cloakedBody:{...a,request:{...a.request,tools:[{functionDeclarations:i}],contents:k||a.request.contents}},toolNameMap:e}}}let n=[{name:"browser_subagent",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"command_status",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"find_by_name",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"generate_image",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"grep_search",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_dir",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_resources",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"mcp_sequential-thinking_sequentialthinking",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"multi_replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"notify_user",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_resource",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_terminal",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_url_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"run_command",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"search_web",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"send_command_input",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"task_boundary",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_content_chunk",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"write_to_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}}]},39551:(a,b,c)=>{c.r(b),c.d(b,{ollamaBodyToOpenAI:()=>i,ollamaToOpenAI:()=>f});var d=c(33110),e=c(14170);function f(a,b){if(!a||"object"!=typeof a)return null;b.ollama||(b.ollama={id:`chatcmpl-${Date.now()}`,created:Math.floor(Date.now()/1e3),model:a.model||b.model});let{id:c,created:d,model:e}=b.ollama;if(a.done){let f=g(a),h="stop";return("tool_calls"===a.done_reason||b.hadToolCalls)&&(h="tool_calls"),{id:c,object:"chat.completion.chunk",created:d,model:e,choices:[{index:0,delta:{},finish_reason:h}],usage:f}}let f=a.message;if(!f)return null;let i="string"==typeof f.content?f.content:"",j="string"==typeof f.thinking?f.thinking:"",k=Array.isArray(f.tool_calls)?f.tool_calls:null;if(!i&&!j&&!k)return null;i&&(b.accumulatedContent=(b.accumulatedContent||"")+i),j&&(b.accumulatedThinking=(b.accumulatedThinking||"")+j);let l={};return i&&(l.content=i),j&&(l.reasoning_content=j),k&&(b.hadToolCalls=!0,l.tool_calls=h(k)),{id:c,object:"chat.completion.chunk",created:d,model:e,choices:[{index:0,delta:l,finish_reason:null}]}}function g(a){return{prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}}function h(a){return a.map((a,b)=>({index:a.function?.index??b,id:a.id||`call_${b}_${Date.now()}`,type:"function",function:{name:a.function?.name||"",arguments:"string"==typeof a.function?.arguments?a.function.arguments:JSON.stringify(a.function?.arguments||{})}}))}function i(a){let b=a.message||{},c=b.content||"",d=b.thinking||"",e=Array.isArray(b.tool_calls)?b.tool_calls:[],f={role:"assistant"};c&&(f.content=c),d&&(f.reasoning_content=d),e.length>0&&(f.tool_calls=h(e)),f.content||f.tool_calls||(f.content="");let i=a.done_reason||"stop";return e.length>0&&(i="tool_calls"),{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"ollama",choices:[{index:0,message:f,finish_reason:i}],usage:g(a)}}(0,d.kz)(e.h.OLLAMA,e.h.OPENAI,null,f)},42654:(a,b,c)=>{c.d(b,{m:()=>d});function d(a){return"string"==typeof a?[{type:"message",role:"user",content:[{type:"input_text",text:""===a.trim()?"...":a}]}]:Array.isArray(a)?0===a.length?[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]:a:null}},47593:(a,b,c)=>{c.d(b,{KZ:()=>i,S6:()=>f,Yr:()=>m,f6:()=>j,fc:()=>e,kU:()=>g,pT:()=>h,w_:()=>k});let d=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],e=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function f(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if("text"===c.type)b.push({text:c.text});else if("image_url"===c.type&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if("image_url"===c.type&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if("input_audio"===c.type&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if("audio_url"===c.type&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}}return b}function g(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(""):""}function h(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return null}}function i(){return`agent-${crypto.randomUUID()}`}function j(){return crypto.randomUUID()+Date.now().toString()}function k(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function l(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function m(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,d),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},47723:(a,b,c)=>{c.r(b),c.d(b,{convertCommandCodeToOpenAI:()=>h});var d=c(33110),e=c(14170);function f(a,b,c=null){return{id:a.responseId,object:"chat.completion.chunk",created:a.created,model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function g(a){switch(a){case"stop":case"error":return"stop";case"length":return"length";case"tool-calls":case"tool_use":return"tool_calls";case"content-filter":return"content_filter";default:return a||"stop"}}function h(a,b){var c;if(!a)return null;if(a&&"object"==typeof a&&"chat.completion.chunk"===a.object)return a;let d=a;if("string"==typeof a){let b=a.trim();if(!b)return null;let c=b.startsWith("data:")?b.slice(5).trim():b;if(!c||"[DONE]"===c)return null;try{d=JSON.parse(c)}catch{return null}}if(!d||"object"!=typeof d||!d.type)return null;c=d.model,b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.model=b.model||c||"commandcode",b.chunkIndex=0,b.toolIndex=0,b.toolIndexById=new Map,b.openTools=new Set,b.openText=!1,b.finishReason=null,b.usage=null);let e=[];switch(d.type){case"text-delta":{let a=d.text||d.delta||"";if(!a)break;let c=0===b.chunkIndex?{role:"assistant",content:a}:{content:a};b.chunkIndex++,b.openText=!0,e.push(f(b,c));break}case"reasoning-delta":{let a=d.text||"";if(!a)break;let c=0===b.chunkIndex?{role:"assistant",reasoning_content:a}:{reasoning_content:a};b.chunkIndex++,e.push(f(b,c));break}case"tool-input-start":{let a=d.id||d.toolCallId||`call_${Date.now()}_${b.toolIndex}`,c=b.toolIndexById.get(a);null==c&&(c=b.toolIndex++,b.toolIndexById.set(a,c)),b.openTools.add(a);let g={...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:c,id:a,type:"function",function:{name:d.toolName||"",arguments:""}}]};b.chunkIndex++,e.push(f(b,g));break}case"tool-input-delta":{let a=d.id||d.toolCallId,c=b.toolIndexById.get(a);if(null==c)break;let g={tool_calls:[{index:c,function:{arguments:d.delta||d.inputTextDelta||""}}]};e.push(f(b,g));break}case"tool-call":{let a=d.toolCallId;if(b.toolIndexById.has(a))break;let c=b.toolIndex++;b.toolIndexById.set(a,c);let g="string"==typeof d.input?d.input:JSON.stringify(d.input??{}),h={...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:c,id:a,type:"function",function:{name:d.toolName||"",arguments:g}}]};b.chunkIndex++,e.push(f(b,h));break}case"finish-step":b.finishReason=g(d.finishReason),d.usage&&(b.usage=d.usage);break;case"finish":{let a=b.finishReason||g(d.finishReason||"stop"),c=f(b,{},a),h=d.totalUsage||b.usage;h&&(c.usage={prompt_tokens:h.inputTokens??0,completion_tokens:h.outputTokens??0,total_tokens:h.totalTokens??(h.inputTokens??0)+(h.outputTokens??0)}),e.push(c);break}case"error":{b.finishReason="stop";let a=d.error??d.message??"unknown",c="string"==typeof a?a:JSON.stringify(a);e.push(f(b,{content:`
63
63
 
64
64
  [CommandCode error: ${c}]`})),e.push(f(b,{},"stop"))}}return e.length?e:null}(0,d.kz)(e.h.COMMANDCODE,e.h.OPENAI,null,h)},52638:(a,b,c)=>{c.r(b),c.d(b,{geminiToOpenAIRequest:()=>g});var d=c(33110),e=c(14170),f=c(3156);function g(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,f.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,g,null),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,g,null)},52830:(a,b,c)=>{c.r(b),c.d(b,{convertKiroToOpenAI:()=>f});var d=c(33110),e=c(14170);function f(a,b){if(!a)return null;if("chat.completion.chunk"===a.object&&a.choices)return a;let c=a;if("string"==typeof a){let b=a.split("\n"),d="",e="";for(let a of b)a.startsWith("event:")?d=a.slice(6).trim():a.startsWith(":event-type:")?d=a.slice(12).trim():a.startsWith("data:")?e=a.slice(5).trim():a.startsWith(":content-type:")||a.trim()&&!a.startsWith(":")&&(e=a.trim());if(!e)return null;try{(c=JSON.parse(e))._eventType=d}catch{c={text:e,_eventType:d}}}b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.chunkIndex=0);let d=c._eventType||c.event||"";if("assistantResponseEvent"===d||c.assistantResponseEvent){let a=c.assistantResponseEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:a},finish_reason:null}]};return b.chunkIndex++,d}if("reasoningContentEvent"===d||c.reasoningContentEvent){let a=c.reasoningContentEvent||c,d="string"==typeof a?a:a.text||a.content||c.content||"";if(!d)return null;let e={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},reasoning_content:d},finish_reason:null}]};return b.chunkIndex++,e}if("toolUseEvent"===d||c.toolUseEvent){let a=c.toolUseEvent||c,d=a.toolUseId||`call_${Date.now()}`,e=a.name||"",f=a.input||{},g={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:d,type:"function",function:{name:e,arguments:JSON.stringify(f)}}]},finish_reason:null}]};return b.chunkIndex++,g}if("messageStopEvent"===d||"done"===d||c.messageStopEvent){b.finishReason="stop";let a={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return b.usage&&"object"==typeof b.usage&&(a.usage=b.usage),a}if("usageEvent"===d||c.usageEvent){let a=c.usageEvent||c;a&&"object"==typeof a&&(b.usage={prompt_tokens:a.inputTokens||0,completion_tokens:a.outputTokens||0,total_tokens:(a.inputTokens||0)+(a.outputTokens||0)})}return null}(0,d.kz)(e.h.KIRO,e.h.OPENAI,null,f)},54817:(a,b,c)=>{c.r(b),c.d(b,{antigravityToOpenAIRequest:()=>g});var d=c(33110),e=c(14170),f=c(3156);function g(a,b,c){let d=b.request||b,e={model:a,messages:[],stream:c};if(d.generationConfig){let a=d.generationConfig;if(a.maxOutputTokens){let b={max_tokens:a.maxOutputTokens,tools:d.tools};e.max_tokens=(0,f.M)(b)}if(void 0!==a.temperature&&(e.temperature=a.temperature),void 0!==a.topP&&(e.top_p=a.topP),void 0!==a.topK&&(e.top_k=a.topK),a.thinkingConfig){let b=a.thinkingConfig.thinkingBudget||0;b>0&&(b<=2048?e.reasoning_effort="low":b<=16384?e.reasoning_effort="medium":e.reasoning_effort="high")}}if(d.systemInstruction){var g;let a="string"==typeof(g=d.systemInstruction)?g:g.parts&&Array.isArray(g.parts)?g.parts.map(a=>a.text||"").join(""):"";a&&e.messages.push({role:"system",content:a})}if(d.contents&&Array.isArray(d.contents))for(let a of d.contents){let b=function(a){let b="model"===a.role?"assistant":"user"===a.role?"user":a.role;if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[],e=[],f="";for(let b of a.parts){if(!0===b.thought&&b.text){f+=b.text;continue}if(b.thoughtSignature&&void 0!==b.text){c.push({type:"text",text:b.text});continue}void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:b.functionCall.id||`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse&&e.push({role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})})}if(e.length>0)return e;if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a.tool_calls=d,a}if(c.length>0||f){let a={role:b};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a}return null}(a);b&&(Array.isArray(b)?e.messages.push(...b):e.messages.push(b))}if(d.tools&&Array.isArray(d.tools)){for(let a of(e.tools=[],d.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)e.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:function a(b){if(!b||"object"!=typeof b)return b;let c=Array.isArray(b)?[...b]:{...b};if("string"==typeof c.type&&(c.type=c.type.toLowerCase()),delete c.enumDescriptions,c.properties){let b={};for(let[d,e]of Object.entries(c.properties))b[d]=a(e);c.properties=b}return c.items&&(c.items=a(c.items)),c}(b.parameters)||{type:"object",properties:{}}}})}return e}(0,d.kz)(e.h.ANTIGRAVITY,e.h.OPENAI,g,null)},55399:(a,b,c)=>{c.d(b,{Az:()=>h,fO:()=>k,kR:()=>i});var d=c(55511),e=c(75924);function f(a,b,c){return(0,d.createHash)("sha256").update(`${b}:${a}`).digest("hex").slice(0,c)}function g(a,b){let c=(0,d.createHash)("sha256").update(`${b}:${a}`).digest("hex");return`${c.slice(0,8)}-${c.slice(8,12)}-${c.slice(12,16)}-${c.slice(16,20)}-${c.slice(20,32)}`}function h(a){let b=a.tools;if(!b||0===b.length)return{body:a,toolNameMap:null};let c=new Map,d=[];for(let a of b){let b=`${a.name}${e.uR}`;c.set(b,a.name),d.push({...a,name:b})}let f=[...d,...j],g=a.messages?.map(a=>{if(!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type?{...a,name:`${a.name}${e.uR}`}:a);return{...a,content:b}});return{body:{...a,tools:f,messages:g||a.messages},toolNameMap:c.size>0?c:null}}function i(a,b){if(!b?.size||!Array.isArray(a?.content))return a;let c=a.content.map(a=>a?.type==="tool_use"&&b.has(a.name)?{...a,name:b.get(a.name)}:a);return{...a,content:c}}let j=[{name:"Task",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskOutput",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskStop",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskCreate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskGet",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskUpdate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskList",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Bash",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Glob",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Grep",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Read",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Edit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Write",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"NotebookEdit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebFetch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebSearch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"AskUserQuestion",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Skill",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"EnterPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"ExitPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}}];function k(a,b,c){let e,h,i,j,k;if(!b||!b.includes("sk-ant-oat"))return a;let l={...a},m=c||"claude-cloak-default",n={type:"text",text:(e=f(m,"cch",5),h=f(m,"build",3),`x-anthropic-billing-header: cc_version=2.1.92.${h}; cc_entrypoint=sdk-cli; cch=${e};`)};return Array.isArray(l.system)?l.system[0]?.text?.startsWith("x-anthropic-billing-header:")||(l.system=[n,...l.system]):"string"==typeof l.system?l.system=[n,{type:"text",text:l.system}]:l.system=[n],l.metadata?.user_id||(l.metadata={...l.metadata,user_id:(i=(0,d.createHash)("sha256").update(`device:${m}`).digest("hex"),j=g(m,"account"),k=c||g(m,"session"),`{"device_id":"${i}","account_uuid":"${j}","session_id":"${k}"}`)}),l}},57647:(a,b,c)=>{c.d(b,{SZ:()=>j,Tz:()=>h,jJ:()=>i});var d=c(35024);c(15626);function e(a){return"string"==typeof a&&a.startsWith("openai-compatible-")}function f(a){return"string"==typeof a&&a.startsWith("anthropic-compatible-")}function g(a){return e(a)&&a.includes("responses")?"responses":"chat"}function h(a){if(a.input&&(Array.isArray(a.input)||"string"==typeof a.input)&&!a.messages)return"openai-responses";if(a.request?.contents&&"antigravity"===a.userAgent)return"antigravity";if(a.contents&&Array.isArray(a.contents))return"gemini";if(a.stream_options||a.response_format||void 0!==a.logprobs||void 0!==a.top_logprobs||void 0!==a.n||void 0!==a.presence_penalty||void 0!==a.frequency_penalty||a.logit_bias||a.user)return"openai";if(a.messages&&Array.isArray(a.messages)){let b=a.messages[0];if(b?.content&&Array.isArray(b.content)){let c=b.content[0];if(c?.type==="text"&&!a.model?.includes("/")){if(a.system||a.anthropic_version)return"claude";let c=b.content.some(a=>"image"===a.type&&a.source?.type==="base64"),d=b.content.some(a=>"image_url"===a.type&&a.image_url?.url);if(c)return"claude";if(d)return"openai";if(b.content.some(a=>"tool_use"===a.type||"tool_result"===a.type))return"claude"}}if(void 0!==a.system||a.anthropic_version)return"claude"}return"openai"}function i(a){return e(a)?"responses"===g(a)?"openai-responses":"openai":f(a)?"claude":function(a){if(e(a)){let b=g(a);return{...d.xq.openai,format:"responses"===b?"openai-responses":"openai",baseUrl:"https://api.openai.com/v1"}}return f(a)?{...d.xq.anthropic,format:"claude",baseUrl:"https://api.anthropic.com/v1"}:d.xq[a]||d.xq.openai}(a).format||"openai"}function j(a){return!function(a){let b=a.messages||a.contents;if(!b?.length)return!0;let c=b[b.length-1];return c?.role==="user"}(a)&&(delete a.reasoning_effort,delete a.thinking),a}},59611:(a,b,c)=>{c.r(b),c.d(b,{openaiToVertexRequest:()=>h});var d=c(33110),e=c(14170),f=c(97102),g=c(96281);function h(a,b,c,d){var e=(0,f.openaiToGeminiRequest)(a,b,c,d);if(!e?.contents)return e;for(let a of e.contents)if(Array.isArray(a.parts))for(let b of a.parts)void 0!==b.thoughtSignature&&(b.thoughtSignature=g.n6),b.functionCall&&"id"in b.functionCall&&delete b.functionCall.id,b.functionResponse&&"id"in b.functionResponse&&delete b.functionResponse.id;return e}(0,d.kz)(e.h.OPENAI,e.h.VERTEX,h,null)},60983:(a,b,c)=>{c.r(b),c.d(b,{claudeToOpenAIRequest:()=>k});var d=c(33110),e=c(14170),f=c(3156);function g(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function h(a,b){g(b)&&(a.chat_template_kwargs={...g(a.chat_template_kwargs)?a.chat_template_kwargs:{},...b})}function i(a,b){h(a,{enable_thinking:b})}function j(a,b,c,d=c){Object.prototype.hasOwnProperty.call(b||{},c)&&void 0!==b[c]&&(a[d]=b[c])}function k(a,b,c){let d={model:a,messages:[],stream:c};if(b.max_tokens&&(d.max_tokens=(0,f.M)(b)),void 0!==b.temperature&&(d.temperature=b.temperature),b.system){let a=Array.isArray(b.system)?b.system.map(a=>a.text||"").join("\n"):b.system;a&&d.messages.push({role:"system",content:a})}if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=function(a){let b="user"===a.role||"tool"===a.role?"user":"assistant";if("string"==typeof a.content)return{role:b,content:a.content};if(Array.isArray(a.content)){let c=[],d=[],e=[];for(let b of a.content)switch(b.type){case"text":c.push({type:"text",text:b.text});break;case"image":b.source?.type==="base64"&&c.push({type:"image_url",image_url:{url:`data:${b.source.media_type};base64,${b.source.data}`}});break;case"tool_use":d.push({id:b.id,type:"function",function:{name:b.name,arguments:JSON.stringify(b.input||{})}});break;case"tool_result":let a="";"string"==typeof b.content?a=b.content:Array.isArray(b.content)?a=b.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n")||JSON.stringify(b.content):b.content&&(a=JSON.stringify(b.content)),e.push({role:"tool",tool_call_id:b.tool_use_id,content:a})}if(e.length>0)return c.length>0?[...e,{role:"user",content:1===c.length&&"text"===c[0].type?c[0].text:c}]:e;if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),a.tool_calls=d,a}if(c.length>0)return{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c};if(0===a.content.length)return{role:b,content:""}}return null}(b.messages[a]);c&&(Array.isArray(c)?d.messages.push(...c):d.messages.push(c))}return!function(a){var b;if(!a||!Array.isArray(a.messages)||0===a.messages.length)return;let c=a.messages[a.messages.length-1];if(!c||"assistant"!==c.role||c.tool_calls)return;let d="string"==typeof(b=c.content)?b:Array.isArray(b)?b.map(a=>"string"==typeof a?a:a?.type==="text"&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):"";a.messages.pop(),function(a,b){let c="string"==typeof b?b.trim():"";if(!c)return;let d=["Claude trailing assistant prefill moved from the final message:",c,"\nInstruction: Treat the moved content as context for the next assistant response. Do not repeat it unless the user explicitly asks."].join("\n"),e=a.find(a=>"system"===a.role&&"string"==typeof a.content);if(e){e.content=`${e.content}
65
65
 
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=3248,exports.ids=[3248],exports.modules={23248:(a,b,c)=>{c.d(b,{ensureClusterSyncService:()=>t});var d=c(77598),e=c.n(d),f=c(48161),g=c.n(f),h=c(95276);function i(a){return null==a?"":String(a).trim()}var j=c(43913),k=c(79709),l=c(75870);let m="__blueRouterClusterSync";function n(){return globalThis[m]||(globalThis[m]={timer:null,running:null,started:!1,heartbeatSucceeded:!1}),globalThis[m]}async function o(a=null){var b,c;let d=a||await (0,l.Jc)({includeSecrets:!0});if("slave"!==d.role)throw Error("Node is not in Standby mode");if(!d.masterUrl)throw Error("Master URL is not configured");if(!d.syncToken)throw Error("Sync token is not configured");let f=await fetch((b=d.masterUrl,`${String(b||"").replace(/\/+$/,"")}/api/cluster/snapshot`),{headers:{Authorization:`Bearer ${d.syncToken}`,"X-BlueRouter-Node-Id":d.nodeId},cache:"no-store",signal:AbortSignal.timeout(12e4)});if(!f.ok)throw Error((await f.json().catch(()=>({}))).error||`Master returned HTTP ${f.status}`);if((Number(f.headers.get("content-length"))||0)>0x10000000)throw Error("Cluster snapshot exceeds the 256 MB limit");let g=await f.text();if(Buffer.byteLength(g,"utf8")>0x10000000)throw Error("Cluster snapshot exceeds the 256 MB limit");let h=JSON.parse(g);if(!h||"object"!=typeof h||!h.manifest||!h.payload)throw Error("Invalid cluster snapshot response");if(c=h.payload,e().createHash("sha256").update(JSON.stringify(c)).digest("hex")!==h.manifest.sha256)throw Error("Cluster snapshot checksum mismatch");if(2!==Number(h.payload?.backup?.formatVersion))throw Error("Unsupported cluster backup format");if(Number(h.manifest.schemaVersion)!==(0,j.q)())throw Error(`Schema version mismatch: Master=${h.manifest.schemaVersion}, Standby=${(0,j.q)()}`);return h}async function p({force:a=!1,allowDisabled:b=!1}={}){let c=n();return c.running||(c.running=(async()=>{let c=await (0,l.Jc)({includeSecrets:!0});if("slave"!==c.role||!c.enabled&&!b)throw Error("Standby sync is not enabled");let d=new Date().toISOString();await (0,l.X_)({lastAttemptAt:d});try{let b=await o(c);if(!a&&b.manifest.sha256===c.lastSnapshotHash){let a={status:"unchanged",snapshotHash:b.manifest.sha256,masterCreatedAt:b.manifest.createdAt};return await (0,l.X_)({lastSyncAt:new Date().toISOString(),lastError:"",lastResult:a}),a}let d=await (0,h.K1)(b.payload,{returnExport:!1});try{!function({outboundProxyEnabled:a,outboundProxyUrl:b,outboundNoProxy:c}={}){if("u"<typeof process||!process.env)return;let d=i(b),e=i(c);if(!a){"1"===process.env.NINE_ROUTER_PROXY_MANAGED&&(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_PROXY_MANAGED,delete process.env.NINE_ROUTER_PROXY_URL,delete process.env.NINE_ROUTER_NO_PROXY);return}let f="1"===process.env.NINE_ROUTER_PROXY_MANAGED,g=!1;f&&(d||(delete process.env.HTTP_PROXY,delete process.env.HTTPS_PROXY,delete process.env.ALL_PROXY,delete process.env.NINE_ROUTER_PROXY_URL),e||(delete process.env.NO_PROXY,delete process.env.NINE_ROUTER_NO_PROXY)),d&&(process.env.HTTP_PROXY=d,process.env.HTTPS_PROXY=d,process.env.ALL_PROXY=d,process.env.NINE_ROUTER_PROXY_URL=d,g=!0),e&&(process.env.NO_PROXY=e,process.env.NINE_ROUTER_NO_PROXY=e,g=!0),g?process.env.NINE_ROUTER_PROXY_MANAGED="1":f&&delete process.env.NINE_ROUTER_PROXY_MANAGED}(await (0,h.mt)())}catch(a){console.warn("[cluster] failed to apply restored outbound proxy settings:",a?.message||a)}let e={status:"synced",snapshotHash:b.manifest.sha256,masterCreatedAt:b.manifest.createdAt,serverCount:d.resourceMonitorServerCount||0,historyCount:d.resourceMonitorHistoryCount||0};return await (0,l.X_)({lastSyncAt:new Date().toISOString(),lastSnapshotHash:b.manifest.sha256,lastError:"",lastResult:e}),e}catch(a){throw await (0,l.X_)({lastError:a?.message||"Cluster sync failed",lastResult:{status:"error"}}),a}})().finally(()=>{c.running=null})),c.running}async function q(a){if(!a?.id||!a?.type)return;let b="ok",c="Command completed";try{if("sync_now"===a.type){let a=await p({force:!0,allowDisabled:!0});c=`Sync completed: ${a.status}`}else if("pause_sync"===a.type)await (0,l.Q1)({enabled:!1}),c="Scheduled sync paused";else if("resume_sync"===a.type)await (0,l.Q1)({enabled:!0}),c="Scheduled sync resumed";else throw Error(`Unsupported Master command: ${a.type}`)}catch(a){b="error",c=a?.message||"Command failed"}await (0,l.X_)({commandAck:{id:a.id,status:b,message:c,completedAt:new Date().toISOString()}})}async function r(a=null){var b;let c=a||await (0,l.Jc)({includeSecrets:!0});if("slave"!==c.role)return{skipped:!0};if(!c.masterUrl||!c.syncToken)throw Error("Master URL and sync token are required for heartbeat");let d=await fetch((b=c.masterUrl,`${String(b||"").replace(/\/+$/,"")}/api/cluster/heartbeat`),{method:"POST",headers:{Authorization:`Bearer ${c.syncToken}`,"Content-Type":"application/json"},body:JSON.stringify({nodeId:c.nodeId,hostname:g().hostname(),appVersion:(0,k.s)(),schemaVersion:(0,j.q)(),syncEnabled:c.enabled,intervalMinutes:c.intervalMinutes,lastAttemptAt:c.lastAttemptAt,lastSyncAt:c.lastSyncAt,lastSnapshotHash:c.lastSnapshotHash,lastError:c.lastError,commandAck:c.commandAck}),cache:"no-store",signal:AbortSignal.timeout(15e3)}),e=await d.json().catch(()=>({}));if(!d.ok)throw Error(e.error||`Master heartbeat returned HTTP ${d.status}`);return c.commandAck&&e.ackAccepted&&await (0,l.X_)({commandAck:null}),e.command&&await q(e.command),e}async function s(){let a=n();try{let b=await (0,l.Jc)({includeSecrets:!0});if("slave"===b.role){let c=!a.heartbeatSucceeded,d=await r(b).then(b=>(a.heartbeatSucceeded=!0,b),b=>(a.heartbeatSucceeded=!1,console.warn("[cluster] heartbeat failed:",b?.message||b),null)),e=await (0,l.Jc)({includeSecrets:!0});if(!e.enabled)return;let f=Date.parse(e.lastAttemptAt||"")||0,g=60*e.intervalMinutes*1e3,h=d&&c&&d.command?.type!=="sync_now";(h||Date.now()-f>=g)&&await p({force:!!h}).catch(a=>{console.warn("[cluster] scheduled sync failed:",a?.message||a)})}else a.heartbeatSucceeded=!1}finally{a.timer=setTimeout(s,3e4),a.timer.unref?.()}}function t(){let a=n();a.started||(a.started=!0,a.timer=setTimeout(s,5e3),a.timer.unref?.())}},34050:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
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 ''",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)"]},resourceMonitorHistory:{columns:{serverId:"TEXT NOT NULL",sampledAt:"INTEGER NOT NULL",cpuUsage:"REAL DEFAULT 0",memoryUsage:"REAL DEFAULT 0",diskUsage:"REAL DEFAULT 0",diskUsedBytes:"INTEGER DEFAULT 0",networkRxBps:"REAL DEFAULT 0",networkTxBps:"REAL DEFAULT 0",gpus:"TEXT NOT NULL DEFAULT '[]'"},primaryKey:"PRIMARY KEY (serverId, sampledAt)",indexes:["CREATE INDEX IF NOT EXISTS idx_rmh_server_time ON resourceMonitorHistory(serverId, sampledAt)","CREATE INDEX IF NOT EXISTS idx_rmh_sampled_at ON resourceMonitorHistory(sampledAt)"]}};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(", ")})`}},43913:(a,b,c)=>{c.d(b,{o:()=>e,q:()=>f});var d=c(34050);let e=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(d.CG))for(let e of(a.exec((0,d.zE)(b,c)),c.indexes||[]))a.exec(e)}},{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 f(){return e.length?e[e.length-1].version:0}},75870:(a,b,c)=>{c.d(b,{Jc:()=>r,Q1:()=>s,WR:()=>u,X_:()=>t});var d=c(77598),e=c.n(d),f=c(51455),g=c.n(f),h=c(76760),i=c.n(h),j=c(53859);let k=i().join(j.n,"cluster-config.json"),l=new Set(["standalone","master","slave"]),m="__blueRouterClusterConfigMutation",n={version:1,nodeId:"",role:"standalone",enabled:!1,masterUrl:"",syncToken:"",intervalMinutes:5,lastAttemptAt:null,lastSyncAt:null,lastSnapshotHash:"",lastError:"",lastResult:null,commandAck:null};function o(a={}){let b=l.has(a.role)?a.role:"standalone";return{...n,...a,version:1,nodeId:String(a.nodeId||"").trim()||e().randomUUID(),role:b,enabled:!0===a.enabled,masterUrl:function(a){let b=String(a||"").trim().replace(/\/+$/,"");if(!b)return"";let c=new URL(b);if(!["http:","https:"].includes(c.protocol))throw Error("Master URL must use http:// or https://");if(c.username||c.password)throw Error("Master URL must not contain credentials");return c.toString().replace(/\/+$/,"")}(a.masterUrl),syncToken:String(a.syncToken||"").trim(),intervalMinutes:Math.min(1440,Math.max(1,Number(a.intervalMinutes)||5))}}async function p(a){await g().mkdir(j.n,{recursive:!0});let b=`${k}.${process.pid}.${e().randomUUID()}.tmp`;try{await g().writeFile(b,JSON.stringify(a,null,2),{mode:384}),await g().rename(b,k)}catch(a){throw await g().unlink(b).catch(()=>{}),a}}function q(a){let b=(globalThis[m]||Promise.resolve()).then(a,a);return globalThis[m]=b.catch(()=>{}),b}async function r({includeSecrets:a=!1}={}){let b={};try{b=JSON.parse(await g().readFile(k,"utf8"))}catch(a){a?.code!=="ENOENT"&&console.warn("[cluster] failed to read config:",a?.message||a)}let c=o(b);if(b.nodeId||await p(c),a)return c;let{syncToken:d,...e}=c;return{...e,hasSyncToken:!!c.syncToken}}async function s(a={}){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid cluster config payload");return q(async()=>{let b=await r({includeSecrets:!0}),c={};for(let b of["role","enabled","masterUrl","syncToken","intervalMinutes"])Object.prototype.hasOwnProperty.call(a,b)&&(c[b]=a[b]);let d=o({...b,...c});if("master"!==d.role||d.syncToken||(d.syncToken=e().randomBytes(32).toString("base64url")),d.enabled&&"slave"===d.role){if(!d.masterUrl)throw Error("Master URL is required for Standby mode");if(!d.syncToken)throw Error("Sync token is required for Standby mode")}return await p(d),d})}async function t(a={}){return q(async()=>{let b=await r({includeSecrets:!0}),c=o({...b,...a,nodeId:b.nodeId,role:b.role,enabled:b.enabled,masterUrl:b.masterUrl,syncToken:b.syncToken,intervalMinutes:b.intervalMinutes});return await p(c),c})}async function u(){return"slave"===(await r({includeSecrets:!0})).role}},79709:(a,b,c)=>{c.d(b,{I:()=>j,s:()=>i});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f);let h=null;function i(){if(h)return h;try{let a=g().join(process.cwd(),"package.json");h=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{h="0.0.0"}return h}function j(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())}`}}};
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=3824,exports.ids=[3824],exports.modules={34050:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
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 ''",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)"]},resourceMonitorHistory:{columns:{serverId:"TEXT NOT NULL",sampledAt:"INTEGER NOT NULL",cpuUsage:"REAL DEFAULT 0",memoryUsage:"REAL DEFAULT 0",diskUsage:"REAL DEFAULT 0",diskUsedBytes:"INTEGER DEFAULT 0",networkRxBps:"REAL DEFAULT 0",networkTxBps:"REAL DEFAULT 0",gpus:"TEXT NOT NULL DEFAULT '[]'"},primaryKey:"PRIMARY KEY (serverId, sampledAt)",indexes:["CREATE INDEX IF NOT EXISTS idx_rmh_server_time ON resourceMonitorHistory(serverId, sampledAt)","CREATE INDEX IF NOT EXISTS idx_rmh_sampled_at ON resourceMonitorHistory(sampledAt)"]}};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(", ")})`}},43913:(a,b,c)=>{c.d(b,{o:()=>e,q:()=>f});var d=c(34050);let e=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(d.CG))for(let e of(a.exec((0,d.zE)(b,c)),c.indexes||[]))a.exec(e)}},{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 f(){return e.length?e[e.length-1].version:0}},79709:(a,b,c)=>{c.d(b,{I:()=>j,s:()=>i});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f);let h=null;function i(){if(h)return h;try{let a=g().join(process.cwd(),"package.json");h=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{h="0.0.0"}return h}function j(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())}`}},83824:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>w});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(20437),i=c(34050),j=c(43913);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);var m=c(79709);function n(a){(0,h.Jh)();let b=(0,m.s)(),c=`${a}-${b}-${(0,m.I)()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function o(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 p(){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 q=c(50743);let r=g().join(h.HG,".migrated-from-json"),s=new WeakSet;class t extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function u(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 t(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function v(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function w(a){if(s.has(a))return;s.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>=(0,j.q)())return{applied:0,from:b,to:b};let c=j.o.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(r),f=v(h.Or.main),g=v(h.Or.usage),w=v(h.Or.disabled),x=v(h.Or.details);if(b&&(f||g||w||x)&&!d){let b=Date.now(),c=n("migrate-from-json");for(let a of Object.values(h.Or))o(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,q.s)(f.settings)]),u(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,q.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),u(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,q.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),u(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,q.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),u(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})),u(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,q.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,q.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,q.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,q.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,q.s)(c||{})])}if(w&&"object"==typeof w.disabled)for(let[b,c]of Object.entries(w.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,q.s)(c||[])]);l(a,"appVersion",(0,m.s)()),l(a,"migratedAt",new Date().toISOString())})}catch(a){if(a instanceof t)return void console.error(`[DB][migrate] aborted: ${a.message} | legacy JSON kept | backup: ${c}`);throw a}try{e().writeFileSync(r,new Date().toISOString())}catch{}p(),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",(0,m.s)());let y=k(a,"appVersion",null),z=(0,m.s)();if(y&&y!==z){let b=n(`upgrade-${y}-to-${z}`);try{o(h.AL,b)}catch{}l(a,"appVersion",z),p(),console.log(`[DB][migrate] App ${y} → ${z} | schema ${c.from} → ${c.to} | backup: ${b}`)}else if(c.applied>0){let a=n(`schema-${c.from}-to-${c.to}`);try{o(h.AL,a)}catch{}p()}}}};
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=4017,exports.ids=[4017],exports.modules={21978:(a,b,c)=>{c.d(b,{I:()=>j,s:()=>i});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f);let h=null;function i(){if(h)return h;try{let a=g().join(process.cwd(),"package.json");h=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{h="0.0.0"}return h}function j(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())}`}},63775:(a,b,c)=>{c.d(b,{CG:()=>e,oG:()=>d,zE:()=>f});let d=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
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 ''",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)"]},resourceMonitorHistory:{columns:{serverId:"TEXT NOT NULL",sampledAt:"INTEGER NOT NULL",cpuUsage:"REAL DEFAULT 0",memoryUsage:"REAL DEFAULT 0",diskUsage:"REAL DEFAULT 0",diskUsedBytes:"INTEGER DEFAULT 0",networkRxBps:"REAL DEFAULT 0",networkTxBps:"REAL DEFAULT 0",gpus:"TEXT NOT NULL DEFAULT '[]'"},primaryKey:"PRIMARY KEY (serverId, sampledAt)",indexes:["CREATE INDEX IF NOT EXISTS idx_rmh_server_time ON resourceMonitorHistory(serverId, sampledAt)","CREATE INDEX IF NOT EXISTS idx_rmh_sampled_at ON resourceMonitorHistory(sampledAt)"]}};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(", ")})`}},84017:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>w});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(95658),i=c(63775),j=c(92225);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(36366);var m=c(21978);function n(a){(0,h.Jh)();let b=(0,m.s)(),c=`${a}-${b}-${(0,m.I)()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function o(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 p(){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 q=c(644);let r=g().join(h.HG,".migrated-from-json"),s=new WeakSet;class t extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function u(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 t(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function v(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function w(a){if(s.has(a))return;s.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>=(0,j.q)())return{applied:0,from:b,to:b};let c=j.o.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(r),f=v(h.Or.main),g=v(h.Or.usage),w=v(h.Or.disabled),x=v(h.Or.details);if(b&&(f||g||w||x)&&!d){let b=Date.now(),c=n("migrate-from-json");for(let a of Object.values(h.Or))o(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,q.s)(f.settings)]),u(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,q.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),u(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,q.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),u(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,q.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),u(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})),u(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,q.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,q.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,q.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,q.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,q.s)(c||{})])}if(w&&"object"==typeof w.disabled)for(let[b,c]of Object.entries(w.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,q.s)(c||[])]);l(a,"appVersion",(0,m.s)()),l(a,"migratedAt",new Date().toISOString())})}catch(a){if(a instanceof t)return void console.error(`[DB][migrate] aborted: ${a.message} | legacy JSON kept | backup: ${c}`);throw a}try{e().writeFileSync(r,new Date().toISOString())}catch{}p(),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",(0,m.s)());let y=k(a,"appVersion",null),z=(0,m.s)();if(y&&y!==z){let b=n(`upgrade-${y}-to-${z}`);try{o(h.AL,b)}catch{}l(a,"appVersion",z),p(),console.log(`[DB][migrate] App ${y} → ${z} | schema ${c.from} → ${c.to} | backup: ${b}`)}else if(c.applied>0){let a=n(`schema-${c.from}-to-${c.to}`);try{o(h.AL,a)}catch{}p()}}},92225:(a,b,c)=>{c.d(b,{o:()=>e,q:()=>f});var d=c(63775);let e=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(d.CG))for(let e of(a.exec((0,d.zE)(b,c)),c.indexes||[]))a.exec(e)}},{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 f(){return e.length?e[e.length-1].version:0}}};
@@ -16,7 +16,7 @@ exports.id=402,exports.ids=[402],exports.modules={490:(a,b,c)=>{"use strict";c.d
16
16
  WHERE provider = ?
17
17
  AND (scope = 'personal'
18
18
  OR visibility = 'private'
19
- OR length(trim(coalesce(ownerUser, ''))) > 0)`,[a.provider]).map(m):u).find(a=>k(a.authType)&&j(a)===w);if(b)throw function(a,{global:b=!1}={}){let c=a?.email||a?.displayName||a?.name||a?.id||"account n\xe0y",d=function(a={}){let b=h(a.ownerUser||a.createdByUser);return b||"kh\xf4ng x\xe1c định"}(a),e=Error(b?`Account n\xe0y đ\xe3 được li\xean kết trong hệ thống bởi user: ${d}. Vui l\xf2ng d\xf9ng account kh\xe1c hoặc x\xf3a connection cũ trước khi add lại.`:`Account ${c} đ\xe3 được th\xeam trước đ\xf3 bởi user: ${d}. Vui l\xf2ng d\xf9ng account kh\xe1c hoặc x\xf3a connection cũ trước khi add lại.`);return e.code="DUPLICATE_PERSONAL_ACCOUNT",e.status=409,e.connectionId=a?.id,e.ownerUser=d,e}(b,{global:x})}if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.chatgptAccountId;v=u.find(c=>{if("oauth"!==c.authType||c.email!==a.email)return!1;let d=c.providerSpecificData?.chatgptAccountId;return!b||!d||b===d})}else"apikey"===a.authType&&a.name&&(v=u.find(b=>"apikey"===b.authType&&b.name===a.name));if(v){let d={...v,...a,updatedAt:f};n(c,d),b=d;return}let y=a.name||null;y||"oauth"!==a.authType&&"access_token"!==a.authType||(y=a.email||`Account ${u.length+1}`);let z=a.priority;z||(z=u.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let A={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:y,priority:z,isActive:void 0===a.isActive||a.isActive,scope:p,ownerUser:q,createdByUser:h(a.createdByUser||q),visibility:a.visibility||("personal"===p?"private":"system"),createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(A[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(A.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(A.email=a.email),n(c,A),r(c,a.provider,p,q),b=A}),b}async function t(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=m(e),g={...f,...b,updatedAt:new Date().toISOString()};n(d,g),void 0!==b.priority&&r(d,f.provider,g.scope,g.ownerUser),c=g}),c}async function u(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider, scope, ownerUser FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),r(b,d.provider,d.scope,d.ownerUser),c=!0)}),c}async function v(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ? AND scope = 'system' AND coalesce(visibility, 'system') <> 'private' AND length(trim(coalesce(ownerUser, ''))) = 0",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ? AND scope = 'system' AND coalesce(visibility, 'system') <> 'private' AND length(trim(coalesce(ownerUser, ''))) = 0",[a]),c?.n||0}},9460:(a,b,c)=>{"use strict";c.d(b,{L9:()=>r,OM:()=>j,S8:()=>o,fv:()=>l,getMitmAlias:()=>q,o5:()=>k,uL:()=>p,uv:()=>n});var d=c(36366),e=c(644),f=c(22846);let g=(0,f.U)("modelAliases"),h=(0,f.U)("customModels"),i=(0,f.U)("mitmAlias");async function j(){return await g.getAll()}async function k(a,b){await g.set(a,b)}async function l(a){await g.remove(a)}function m(a,b,c){return`${a}|${b}|${c}`}async function n(){return Object.values(await h.getAll())}async function o({providerAlias:a,id:b,type:c="llm",name:f}){let g=m(a,b,c),h=await (0,d.c)(),i=!1;return h.transaction(()=>{if(h.get("SELECT 1 FROM kv WHERE scope = 'customModels' AND key = ?",[g]))return;let d=(0,e.s)({providerAlias:a,id:b,type:c,name:f||b});h.run("INSERT INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[g,d]),i=!0}),i}async function p({providerAlias:a,id:b,type:c="llm"}){await h.remove(m(a,b,c))}async function q(a){return a?await i.get(a)||{}:await i.getAll()}async function r(a,b){await i.set(a,b||{})}},22846:(a,b,c)=>{"use strict";c.d(b,{U:()=>f});var d=c(36366),e=c(644);function f(a){return{async get(b,c=null){let f=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.c)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},27513:(a,b,c)=>{"use strict";c.d(b,{Bz:()=>g,Tu:()=>h,ev:()=>e,wX:()=>f});let d=Object.freeze(["inherit","on","off"]),e=Object.freeze(["lite","full","ultra"]);function f(a){let b=String(a||"inherit").trim().toLowerCase();return d.includes(b)?b:"inherit"}function g(a,b="lite"){let c=String(a||b).trim().toLowerCase();return e.includes(c)?c:b}function h({apiKeyMode:a,apiKeyLevel:b,globalEnabled:c,globalLevel:d}){let e=f(a),i="on"===e?g(b,"lite"):g(d,"full");return{mode:e,enabled:"on"===e||"off"!==e&&!0===c,level:i}}},28919:(a,b,c)=>{"use strict";c.d(b,{F3:()=>w,HI:()=>t,Lx:()=>x,Mm:()=>v,QP:()=>u,jT:()=>s,x8:()=>y});var d=c(55511),e=c.n(d),f=c(79748),g=c.n(f),h=c(21820),i=c.n(h),j=c(33873),k=c.n(j);let l=process.env.DATA_DIR||process.env.BLUEROUTER_DATA_DIR||k().join(i().homedir(),".bluerouter"),m=k().join(l,"resource-monitor-servers.json");async function n(){await g().mkdir(l,{recursive:!0});try{let a=JSON.parse(await g().readFile(m,"utf8"));return{servers:Array.isArray(a?.servers)?a.servers:[]}}catch{return{servers:[]}}}async function o(a){await g().mkdir(l,{recursive:!0});let b=`${m}.${process.pid}.${e().randomUUID()}.tmp`;try{await g().writeFile(b,JSON.stringify({servers:a.servers||[]},null,2)),await g().rename(b,m)}catch(a){throw await g().unlink(b).catch(()=>{}),a}}function p(){return new Date().toISOString()}function q(a,b,c,d=null){return Object.prototype.hasOwnProperty.call(a,c)?a[c]:Object.prototype.hasOwnProperty.call(b,c)?b[c]:d}function r(a={},b={}){let c=String(a.host??b.host??"").trim();return{id:b.id||a.id||e().randomUUID(),name:String(a.name??b.name??c??"Linux server").trim()||c||"Linux server",host:c,sshPort:Math.max(1,Number(a.sshPort??b.sshPort??22)||22),sshUser:String(a.sshUser??b.sshUser??"root").trim()||"root",useSudo:a.useSudo??b.useSudo??!0,agentPort:Math.max(1,Number(a.agentPort??b.agentPort??19998)||19998),agentToken:String(a.agentToken??b.agentToken??e().randomBytes(24).toString("hex")),enabled:a.enabled??b.enabled??!0,notes:String(a.notes??b.notes??"").trim(),lastStatus:q(a,b,"lastStatus"),lastStatusAt:q(a,b,"lastStatusAt"),lastError:q(a,b,"lastError"),lastErrorAt:q(a,b,"lastErrorAt"),lastInstallAt:q(a,b,"lastInstallAt"),lastInstallOk:q(a,b,"lastInstallOk",!1),lastInstallLog:q(a,b,"lastInstallLog",""),createdAt:b.createdAt||p(),updatedAt:p()}}function s(a){if(!a)return null;let{agentToken:b,...c}=a;return c}async function t({includeSecrets:a=!1}={}){let b=(await n()).servers.map(a=>r(a,a));return a?b:b.map(s)}async function u(a){let b=(await n()).servers.find(b=>b.id===a);return b?r(b,b):null}async function v(a){let b=await n(),c=r(a);return b.servers.push(c),await o(b),c}async function w(a,b){let c=await n(),d=c.servers.findIndex(b=>b.id===a);return d<0?null:(c.servers[d]=r(b,c.servers[d]),await o(c),c.servers[d])}async function x(a){let b=await n(),c=b.servers.length;return b.servers=b.servers.filter(b=>b.id!==a),await o(b),b.servers.length!==c}async function y(a){if(!Array.isArray(a))throw Error("Invalid resource monitor servers payload");let b=new Set,c=a.map(a=>{if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid resource monitor server entry");let c=String(a.id||"").trim();if(!c)throw Error("Resource monitor server ID is required");if(b.has(c))throw Error(`Duplicate resource monitor server ID: ${c}`);return b.add(c),r({...a,id:c},{...a,id:c})});return await o({servers:c}),c}},36366:(a,b,c)=>{"use strict";c.d(b,{c:()=>k});var d=c(95658);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(5258).then(c.bind(c,25258));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await g()),a||(a=await h()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);let{runMigrationOnce:b}=await c.e(2074).then(c.bind(c,32074));return await b(a),a}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a))),e.initPromise)}},39189:(a,b,c)=>{"use strict";c.d(b,{S8:()=>K.S8,E5:()=>Q.E5,Iq:()=>C.Iq,jd:()=>H,iE:()=>h.iE,i0:()=>s,ZO:()=>z,Lh:()=>C.Lh,CG:()=>J,uL:()=>K.uL,fv:()=>K.fv,fK:()=>h.fK,op:()=>h.op,Pc:()=>u,Yd:()=>B,tm:()=>O,oF:()=>P,zP:()=>ae,rg:()=>Q.rg,yg:()=>C.yg,mY:()=>C.getApiKeyByKey,PX:()=>C.PX,j$:()=>Q.j$,L:()=>F,Dj:()=>G,Uv:()=>E,uv:()=>K.uv,vF:()=>N,c:()=>K.getMitmAlias,OM:()=>K.OM,nv:()=>h.nv,r4:()=>L.r4,Mc:()=>h.Mc,P:()=>h.getProviderConnections,Qu:()=>r,Fh:()=>q,hr:()=>y,ui:()=>x,Zx:()=>Q.Zx,SL:()=>ac,mt:()=>g.getSettings,BY:()=>Q.BY,K1:()=>af,VT:()=>L.VT,yF:()=>L.yF,ox:()=>ab,sZ:()=>Q.sZ,L9:()=>K.L9,o5:()=>K.o5,_V:()=>Q._V,uw:()=>Q.uw,XW:()=>C.XW,oG:()=>I,KJ:()=>L.KJ,rj:()=>h.rj,ho:()=>t,Q_:()=>A,Xx:()=>g.Xx,ek:()=>C.ek});var d=c(36366),e=c(644),f=c(28919),g=c(42655),h=c(5781),i=c(94755);let j=["model","modelStr","model_name","rawModel","raw_model","value","id"],k=["label","displayName"],l=["modelTagRules","modelTags","tagRules"];function m(a){return String(a||"").trim().replace(/\/+$/,"")}function n(a,b,c){if("string"!=typeof a)return a;let d=`${b}/`;return a.startsWith(d)?`${c}/${a.slice(d.length)}`:a}function o(a){return a?{...(0,e.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function p(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:f,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,e.s)(h),createdAt:f,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
19
+ OR length(trim(coalesce(ownerUser, ''))) > 0)`,[a.provider]).map(m):u).find(a=>k(a.authType)&&j(a)===w);if(b)throw function(a,{global:b=!1}={}){let c=a?.email||a?.displayName||a?.name||a?.id||"account n\xe0y",d=function(a={}){let b=h(a.ownerUser||a.createdByUser);return b||"kh\xf4ng x\xe1c định"}(a),e=Error(b?`Account n\xe0y đ\xe3 được li\xean kết trong hệ thống bởi user: ${d}. Vui l\xf2ng d\xf9ng account kh\xe1c hoặc x\xf3a connection cũ trước khi add lại.`:`Account ${c} đ\xe3 được th\xeam trước đ\xf3 bởi user: ${d}. Vui l\xf2ng d\xf9ng account kh\xe1c hoặc x\xf3a connection cũ trước khi add lại.`);return e.code="DUPLICATE_PERSONAL_ACCOUNT",e.status=409,e.connectionId=a?.id,e.ownerUser=d,e}(b,{global:x})}if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.chatgptAccountId;v=u.find(c=>{if("oauth"!==c.authType||c.email!==a.email)return!1;let d=c.providerSpecificData?.chatgptAccountId;return!b||!d||b===d})}else"apikey"===a.authType&&a.name&&(v=u.find(b=>"apikey"===b.authType&&b.name===a.name));if(v){let d={...v,...a,updatedAt:f};n(c,d),b=d;return}let y=a.name||null;y||"oauth"!==a.authType&&"access_token"!==a.authType||(y=a.email||`Account ${u.length+1}`);let z=a.priority;z||(z=u.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let A={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:y,priority:z,isActive:void 0===a.isActive||a.isActive,scope:p,ownerUser:q,createdByUser:h(a.createdByUser||q),visibility:a.visibility||("personal"===p?"private":"system"),createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(A[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(A.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(A.email=a.email),n(c,A),r(c,a.provider,p,q),b=A}),b}async function t(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=m(e),g={...f,...b,updatedAt:new Date().toISOString()};n(d,g),void 0!==b.priority&&r(d,f.provider,g.scope,g.ownerUser),c=g}),c}async function u(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider, scope, ownerUser FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),r(b,d.provider,d.scope,d.ownerUser),c=!0)}),c}async function v(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ? AND scope = 'system' AND coalesce(visibility, 'system') <> 'private' AND length(trim(coalesce(ownerUser, ''))) = 0",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ? AND scope = 'system' AND coalesce(visibility, 'system') <> 'private' AND length(trim(coalesce(ownerUser, ''))) = 0",[a]),c?.n||0}},9460:(a,b,c)=>{"use strict";c.d(b,{L9:()=>r,OM:()=>j,S8:()=>o,fv:()=>l,getMitmAlias:()=>q,o5:()=>k,uL:()=>p,uv:()=>n});var d=c(36366),e=c(644),f=c(22846);let g=(0,f.U)("modelAliases"),h=(0,f.U)("customModels"),i=(0,f.U)("mitmAlias");async function j(){return await g.getAll()}async function k(a,b){await g.set(a,b)}async function l(a){await g.remove(a)}function m(a,b,c){return`${a}|${b}|${c}`}async function n(){return Object.values(await h.getAll())}async function o({providerAlias:a,id:b,type:c="llm",name:f}){let g=m(a,b,c),h=await (0,d.c)(),i=!1;return h.transaction(()=>{if(h.get("SELECT 1 FROM kv WHERE scope = 'customModels' AND key = ?",[g]))return;let d=(0,e.s)({providerAlias:a,id:b,type:c,name:f||b});h.run("INSERT INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[g,d]),i=!0}),i}async function p({providerAlias:a,id:b,type:c="llm"}){await h.remove(m(a,b,c))}async function q(a){return a?await i.get(a)||{}:await i.getAll()}async function r(a,b){await i.set(a,b||{})}},22846:(a,b,c)=>{"use strict";c.d(b,{U:()=>f});var d=c(36366),e=c(644);function f(a){return{async get(b,c=null){let f=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.c)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},27513:(a,b,c)=>{"use strict";c.d(b,{Bz:()=>g,Tu:()=>h,ev:()=>e,wX:()=>f});let d=Object.freeze(["inherit","on","off"]),e=Object.freeze(["lite","full","ultra"]);function f(a){let b=String(a||"inherit").trim().toLowerCase();return d.includes(b)?b:"inherit"}function g(a,b="lite"){let c=String(a||b).trim().toLowerCase();return e.includes(c)?c:b}function h({apiKeyMode:a,apiKeyLevel:b,globalEnabled:c,globalLevel:d}){let e=f(a),i="on"===e?g(b,"lite"):g(d,"full");return{mode:e,enabled:"on"===e||"off"!==e&&!0===c,level:i}}},28919:(a,b,c)=>{"use strict";c.d(b,{F3:()=>w,HI:()=>t,Lx:()=>x,Mm:()=>v,QP:()=>u,jT:()=>s,x8:()=>y});var d=c(55511),e=c.n(d),f=c(79748),g=c.n(f),h=c(21820),i=c.n(h),j=c(33873),k=c.n(j);let l=process.env.DATA_DIR||process.env.BLUEROUTER_DATA_DIR||k().join(i().homedir(),".bluerouter"),m=k().join(l,"resource-monitor-servers.json");async function n(){await g().mkdir(l,{recursive:!0});try{let a=JSON.parse(await g().readFile(m,"utf8"));return{servers:Array.isArray(a?.servers)?a.servers:[]}}catch{return{servers:[]}}}async function o(a){await g().mkdir(l,{recursive:!0});let b=`${m}.${process.pid}.${e().randomUUID()}.tmp`;try{await g().writeFile(b,JSON.stringify({servers:a.servers||[]},null,2)),await g().rename(b,m)}catch(a){throw await g().unlink(b).catch(()=>{}),a}}function p(){return new Date().toISOString()}function q(a,b,c,d=null){return Object.prototype.hasOwnProperty.call(a,c)?a[c]:Object.prototype.hasOwnProperty.call(b,c)?b[c]:d}function r(a={},b={}){let c=String(a.host??b.host??"").trim();return{id:b.id||a.id||e().randomUUID(),name:String(a.name??b.name??c??"Linux server").trim()||c||"Linux server",host:c,sshPort:Math.max(1,Number(a.sshPort??b.sshPort??22)||22),sshUser:String(a.sshUser??b.sshUser??"root").trim()||"root",useSudo:a.useSudo??b.useSudo??!0,agentPort:Math.max(1,Number(a.agentPort??b.agentPort??19998)||19998),agentToken:String(a.agentToken??b.agentToken??e().randomBytes(24).toString("hex")),enabled:a.enabled??b.enabled??!0,notes:String(a.notes??b.notes??"").trim(),lastStatus:q(a,b,"lastStatus"),lastStatusAt:q(a,b,"lastStatusAt"),lastError:q(a,b,"lastError"),lastErrorAt:q(a,b,"lastErrorAt"),lastInstallAt:q(a,b,"lastInstallAt"),lastInstallOk:q(a,b,"lastInstallOk",!1),lastInstallLog:q(a,b,"lastInstallLog",""),createdAt:b.createdAt||p(),updatedAt:p()}}function s(a){if(!a)return null;let{agentToken:b,...c}=a;return c}async function t({includeSecrets:a=!1}={}){let b=(await n()).servers.map(a=>r(a,a));return a?b:b.map(s)}async function u(a){let b=(await n()).servers.find(b=>b.id===a);return b?r(b,b):null}async function v(a){let b=await n(),c=r(a);return b.servers.push(c),await o(b),c}async function w(a,b){let c=await n(),d=c.servers.findIndex(b=>b.id===a);return d<0?null:(c.servers[d]=r(b,c.servers[d]),await o(c),c.servers[d])}async function x(a){let b=await n(),c=b.servers.length;return b.servers=b.servers.filter(b=>b.id!==a),await o(b),b.servers.length!==c}async function y(a){if(!Array.isArray(a))throw Error("Invalid resource monitor servers payload");let b=new Set,c=a.map(a=>{if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid resource monitor server entry");let c=String(a.id||"").trim();if(!c)throw Error("Resource monitor server ID is required");if(b.has(c))throw Error(`Duplicate resource monitor server ID: ${c}`);return b.add(c),r({...a,id:c},{...a,id:c})});return await o({servers:c}),c}},36366:(a,b,c)=>{"use strict";c.d(b,{c:()=>k});var d=c(95658);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(4739).then(c.bind(c,24739));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(5258).then(c.bind(c,25258));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(8520).then(c.bind(c,88520));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(3593).then(c.bind(c,53593));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await g()),a||(a=await h()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);let{runMigrationOnce:b}=await c.e(4017).then(c.bind(c,84017));return await b(a),a}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a))),e.initPromise)}},39189:(a,b,c)=>{"use strict";c.d(b,{S8:()=>K.S8,E5:()=>Q.E5,Iq:()=>C.Iq,jd:()=>H,iE:()=>h.iE,i0:()=>s,ZO:()=>z,Lh:()=>C.Lh,CG:()=>J,uL:()=>K.uL,fv:()=>K.fv,fK:()=>h.fK,op:()=>h.op,Pc:()=>u,Yd:()=>B,tm:()=>O,oF:()=>P,zP:()=>ae,rg:()=>Q.rg,yg:()=>C.yg,mY:()=>C.getApiKeyByKey,PX:()=>C.PX,j$:()=>Q.j$,L:()=>F,Dj:()=>G,Uv:()=>E,uv:()=>K.uv,vF:()=>N,c:()=>K.getMitmAlias,OM:()=>K.OM,nv:()=>h.nv,r4:()=>L.r4,Mc:()=>h.Mc,P:()=>h.getProviderConnections,Qu:()=>r,Fh:()=>q,hr:()=>y,ui:()=>x,Zx:()=>Q.Zx,SL:()=>ac,mt:()=>g.getSettings,BY:()=>Q.BY,K1:()=>af,VT:()=>L.VT,yF:()=>L.yF,ox:()=>ab,sZ:()=>Q.sZ,L9:()=>K.L9,o5:()=>K.o5,_V:()=>Q._V,uw:()=>Q.uw,XW:()=>C.XW,oG:()=>I,KJ:()=>L.KJ,rj:()=>h.rj,ho:()=>t,Q_:()=>A,Xx:()=>g.Xx,ek:()=>C.ek});var d=c(36366),e=c(644),f=c(28919),g=c(42655),h=c(5781),i=c(94755);let j=["model","modelStr","model_name","rawModel","raw_model","value","id"],k=["label","displayName"],l=["modelTagRules","modelTags","tagRules"];function m(a){return String(a||"").trim().replace(/\/+$/,"")}function n(a,b,c){if("string"!=typeof a)return a;let d=`${b}/`;return a.startsWith(d)?`${c}/${a.slice(d.length)}`:a}function o(a){return a?{...(0,e.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function p(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:f,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,e.s)(h),createdAt:f,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
20
20
  VALUES(?, ?, ?, ?, ?, ?)
21
21
  ON CONFLICT(id) DO UPDATE SET
22
22
  type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function q(a={}){let b=await (0,d.c)(),c=[],e=[];a.type&&(c.push("type = ?"),e.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,e).map(o)}async function r(a){return o((await (0,d.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function s(a){let b=await (0,d.c)(),c=new Date().toISOString(),{id:e,type:f,name:g,prefix:h,apiType:j,baseUrl:k,openAICompatibleRuntime:l,...m}=a,n={...m,id:e||(0,i.A)(),type:f,name:g,prefix:h,apiType:j,baseUrl:k,openAICompatibleRuntime:l,createdAt:c,updatedAt:c};return p(b,n),n}async function t(a,b){let c=await (0,d.c)(),f=null;return c.transaction(()=>{let d=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!d)return;let g=o(d),h={...g,...b,updatedAt:new Date().toISOString()};"openai-compatible"===g.type&&"string"==typeof b.prefix&&g.prefix!==h.prefix&&function(a,b,c,d){let f=m(b),g=m(c);if(!f||!g||f===g)return;for(let b of a.all("SELECT id, models FROM combos")){let c=function(a,b,c){let d=m(b),e=m(c);if(!Array.isArray(a)||!d||!e||d===e)return{value:a,changed:!1};let f=!1,g=a.map(a=>{let b=function(a,b,c){if("string"==typeof a){let d=n(a,b,c);return{value:d,changed:d!==a}}if(!a||"object"!=typeof a||Array.isArray(a))return{value:a,changed:!1};let d=!1,e={...a};for(let f of[...j,...k]){if(!Object.prototype.hasOwnProperty.call(a,f))continue;let g=n(a[f],b,c);g!==a[f]&&(e[f]=g,d=!0)}return a.provider===b&&(e.provider=c,d=!0),{value:d?e:a,changed:d}}(a,d,e);return f||=b.changed,b.value});return{value:f?g:a,changed:f}}((0,e.q)(b.models,[]),f,g);c.changed&&a.run("UPDATE combos SET models = ?, updatedAt = ? WHERE id = ?",[(0,e.s)(c.value),d,b.id])}let h=a.get("SELECT data FROM settings WHERE id = 1");if(!h)return;let i=(0,e.q)(h.data,{}),o=function(a,b,c){let d=m(b),e=m(c);if(!a||"object"!=typeof a||Array.isArray(a)||!d||!e||d===e)return{value:a,changed:!1};let f=!1,g={};for(let[b,c]of Object.entries(a)){let a=function(a,b,c){if(!a||"object"!=typeof a||Array.isArray(a))return{value:a,changed:!1};let d=!1,e={...a};if(Array.isArray(a.disabledModels)){let f=[...new Set(a.disabledModels.map(a=>n(a,b,c)))];(f.some((b,c)=>b!==a.disabledModels[c])||f.length!==a.disabledModels.length)&&(e.disabledModels=f,d=!0)}for(let f of l){if(!Object.prototype.hasOwnProperty.call(a,f))continue;let g=function(a,b,c){if(!a||"object"!=typeof a||Array.isArray(a))return{value:a,changed:!1};let d=!1,e={};for(let[g,h]of Object.entries(a)){var f;let a=n(g,b,c);d||=a!==g,e[a]=(f=e[a],void 0===f?h:Array.isArray(f)&&Array.isArray(h)?[...new Set([...f,...h])]:f)}return{value:d?e:a,changed:d}}(a[f],b,c);g.changed&&(e[f]=g.value,d=!0)}return{value:d?e:a,changed:d}}(c,d,e);g[b]=a.value,f||=a.changed}return{value:f?g:a,changed:f}}(i.comboStrategies,f,g);o.changed&&a.run("UPDATE settings SET data = ? WHERE id = 1",[(0,e.s)({...i,comboStrategies:o.value})])}(c,g.prefix,h.prefix,h.updatedAt),p(c,h),f=h}),f}async function u(a){let b=await (0,d.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=o(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}function v(a){return a?{...(0,e.q)(a.data,{}),id:a.id,isActive:1===a.isActive||!0===a.isActive,testStatus:a.testStatus,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function w(a,b){let c=function(a){let{id:b,isActive:c,testStatus:d,createdAt:f,updatedAt:g,...h}=a;return{id:b,isActive:+(!1!==c),testStatus:d??null,data:(0,e.s)(h),createdAt:f,updatedAt:g}}(b);a.run(`INSERT INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt)