vforclaude2 0.3.87

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 (1908) hide show
  1. package/.claude/.claude.json +5 -0
  2. package/.claude/backups/.claude.json.backup.1772012846605 +4 -0
  3. package/.claude/cowork_plugins/install-counts-cache.json +634 -0
  4. package/.claude/cowork_plugins/known_marketplaces.json +10 -0
  5. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/.claude-plugin/marketplace.json +115 -0
  6. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/LICENSE +202 -0
  7. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/README.md +80 -0
  8. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/.claude-plugin/plugin.json +8 -0
  9. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/.mcp.json +44 -0
  10. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/LICENSE +202 -0
  11. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/README.md +82 -0
  12. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/skills/instrument-data-to-allotrope/LICENSE.txt +201 -0
  13. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/skills/instrument-data-to-allotrope/requirements.txt +26 -0
  14. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/skills/nextflow-development/LICENSE.txt +201 -0
  15. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/skills/scientific-problem-selection/LICENSE.txt +201 -0
  16. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/skills/scvi-tools/LICENSE.txt +201 -0
  17. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/bio-research/skills/single-cell-rna-qc/LICENSE.txt +201 -0
  18. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/cowork-plugin-management/.claude-plugin/plugin.json +8 -0
  19. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/cowork-plugin-management/LICENSE +202 -0
  20. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/cowork-plugin-management/skills/cowork-plugin-customizer/LICENSE.txt +202 -0
  21. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/cowork-plugin-management/skills/cowork-plugin-customizer/examples/customized-mcp.json +40 -0
  22. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/customer-support/.claude-plugin/plugin.json +8 -0
  23. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/customer-support/.mcp.json +40 -0
  24. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/customer-support/LICENSE +202 -0
  25. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/customer-support/README.md +139 -0
  26. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/design/.claude-plugin/plugin.json +8 -0
  27. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/design/.mcp.json +40 -0
  28. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/design/README.md +116 -0
  29. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/engineering/.claude-plugin/plugin.json +8 -0
  30. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/engineering/.mcp.json +44 -0
  31. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/engineering/README.md +135 -0
  32. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/enterprise-search/.claude-plugin/plugin.json +8 -0
  33. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/enterprise-search/.mcp.json +36 -0
  34. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/enterprise-search/LICENSE +202 -0
  35. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/enterprise-search/README.md +156 -0
  36. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/finance/.claude-plugin/plugin.json +8 -0
  37. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/finance/.mcp.json +32 -0
  38. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/finance/LICENSE +202 -0
  39. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/finance/README.md +91 -0
  40. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/human-resources/.claude-plugin/plugin.json +8 -0
  41. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/human-resources/.mcp.json +28 -0
  42. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/human-resources/README.md +134 -0
  43. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/legal/.claude-plugin/plugin.json +8 -0
  44. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/legal/.mcp.json +36 -0
  45. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/legal/LICENSE +202 -0
  46. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/legal/README.md +229 -0
  47. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/marketing/.claude-plugin/plugin.json +8 -0
  48. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/marketing/.mcp.json +48 -0
  49. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/marketing/LICENSE +202 -0
  50. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/marketing/README.md +88 -0
  51. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/operations/.claude-plugin/plugin.json +8 -0
  52. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/operations/.mcp.json +36 -0
  53. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/operations/README.md +134 -0
  54. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/apollo/.claude-plugin/plugin.json +13 -0
  55. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/apollo/.mcp.json +8 -0
  56. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/apollo/LICENSE +21 -0
  57. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/apollo/README.md +99 -0
  58. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/brand-voice/.claude-plugin/marketplace.json +20 -0
  59. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/brand-voice/.claude-plugin/plugin.json +9 -0
  60. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/brand-voice/.mcp.json +32 -0
  61. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/brand-voice/LICENSE +21 -0
  62. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/brand-voice/README.md +132 -0
  63. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/brand-voice/settings/brand-voice.local.md.example +42 -0
  64. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/common-room/.claude-plugin/plugin.json +9 -0
  65. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/common-room/.mcp.json +8 -0
  66. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/common-room/LICENSE +202 -0
  67. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/common-room/README.md +64 -0
  68. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/slack/.claude-plugin/plugin.json +11 -0
  69. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/slack/.mcp.json +12 -0
  70. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/slack/LICENSE +21 -0
  71. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/partner-built/slack/README.md +108 -0
  72. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/product-management/.claude-plugin/plugin.json +8 -0
  73. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/product-management/.mcp.json +64 -0
  74. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/product-management/LICENSE +202 -0
  75. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/product-management/README.md +102 -0
  76. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/productivity/.claude-plugin/plugin.json +8 -0
  77. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/productivity/.mcp.json +44 -0
  78. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/productivity/LICENSE +202 -0
  79. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/productivity/README.md +96 -0
  80. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/productivity/skills/dashboard.html +3098 -0
  81. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/sales/.claude-plugin/plugin.json +8 -0
  82. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/sales/.mcp.json +60 -0
  83. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/sales/LICENSE +202 -0
  84. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/sales/README.md +143 -0
  85. package/.claude/cowork_plugins/marketplaces/knowledge-work-plugins/sales/skills/create-an-asset/README.md +169 -0
  86. package/.claude/cowork_settings.json +10 -0
  87. package/.claude/debug/93c847f7-9a51-4a5f-9a41-6fd84fab16d3.txt +37 -0
  88. package/.claude/settings.local.json +7 -0
  89. package/.next/BUILD_ID +1 -0
  90. package/.next/app-path-routes-manifest.json +104 -0
  91. package/.next/build-manifest.json +20 -0
  92. package/.next/diagnostics/build-diagnostics.json +6 -0
  93. package/.next/diagnostics/framework.json +1 -0
  94. package/.next/export-marker.json +6 -0
  95. package/.next/images-manifest.json +68 -0
  96. package/.next/next-minimal-server.js.nft.json +1 -0
  97. package/.next/next-server.js.nft.json +1 -0
  98. package/.next/package.json +1 -0
  99. package/.next/prerender-manifest.json +527 -0
  100. package/.next/react-loadable-manifest.json +8 -0
  101. package/.next/required-server-files.js +365 -0
  102. package/.next/required-server-files.json +365 -0
  103. package/.next/routes-manifest.json +709 -0
  104. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -0
  105. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -0
  106. package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -0
  107. package/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -0
  108. package/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -0
  109. package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -0
  110. package/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -0
  111. package/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -0
  112. package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -0
  113. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -0
  114. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -0
  115. package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -0
  116. package/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -0
  117. package/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -0
  118. package/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -0
  119. package/.next/server/app/(dashboard)/dashboard/page.js +2 -0
  120. package/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -0
  121. package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -0
  122. package/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -0
  123. package/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -0
  124. package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -0
  125. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -0
  126. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -0
  127. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -0
  128. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -0
  129. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -0
  130. package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -0
  131. package/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -0
  132. package/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -0
  133. package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -0
  134. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -0
  135. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -0
  136. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -0
  137. package/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -0
  138. package/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -0
  139. package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -0
  140. package/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -0
  141. package/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -0
  142. package/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -0
  143. package/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -0
  144. package/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -0
  145. package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -0
  146. package/.next/server/app/_global-error/page.js +32 -0
  147. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  148. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  149. package/.next/server/app/_global-error.html +1 -0
  150. package/.next/server/app/_global-error.meta +16 -0
  151. package/.next/server/app/_global-error.rsc +14 -0
  152. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  153. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
  154. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
  155. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  156. package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  157. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  158. package/.next/server/app/_not-found/page.js +2 -0
  159. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  160. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  161. package/.next/server/app/_not-found.html +1 -0
  162. package/.next/server/app/_not-found.meta +16 -0
  163. package/.next/server/app/_not-found.rsc +20 -0
  164. package/.next/server/app/_not-found.segments/_full.segment.rsc +20 -0
  165. package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  166. package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -0
  167. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  168. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  169. package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -0
  170. package/.next/server/app/api/auth/login/route.js +1 -0
  171. package/.next/server/app/api/auth/login/route.js.nft.json +1 -0
  172. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
  173. package/.next/server/app/api/auth/logout/route.js +1 -0
  174. package/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
  175. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -0
  176. package/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -0
  177. package/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -0
  178. package/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -0
  179. package/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -0
  180. package/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -0
  181. package/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -0
  182. package/.next/server/app/api/cli-tools/claude-settings/route.js +2 -0
  183. package/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -0
  184. package/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -0
  185. package/.next/server/app/api/cli-tools/codex-settings/route.js +32 -0
  186. package/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -0
  187. package/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -0
  188. package/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -0
  189. package/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -0
  190. package/.next/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -0
  191. package/.next/server/app/api/cli-tools/droid-settings/route.js +2 -0
  192. package/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -0
  193. package/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -0
  194. package/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -0
  195. package/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -0
  196. package/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -0
  197. package/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -0
  198. package/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -0
  199. package/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -0
  200. package/.next/server/app/api/cloud/auth/route.js +1 -0
  201. package/.next/server/app/api/cloud/auth/route.js.nft.json +1 -0
  202. package/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -0
  203. package/.next/server/app/api/cloud/credentials/update/route.js +1 -0
  204. package/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -0
  205. package/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -0
  206. package/.next/server/app/api/cloud/model/resolve/route.js +1 -0
  207. package/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -0
  208. package/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -0
  209. package/.next/server/app/api/cloud/models/alias/route.js +1 -0
  210. package/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -0
  211. package/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -0
  212. package/.next/server/app/api/combos/[id]/route.js +1 -0
  213. package/.next/server/app/api/combos/[id]/route.js.nft.json +1 -0
  214. package/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -0
  215. package/.next/server/app/api/combos/route.js +1 -0
  216. package/.next/server/app/api/combos/route.js.nft.json +1 -0
  217. package/.next/server/app/api/combos/route_client-reference-manifest.js +1 -0
  218. package/.next/server/app/api/init/route.js +1 -0
  219. package/.next/server/app/api/init/route.js.nft.json +1 -0
  220. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -0
  221. package/.next/server/app/api/keys/[id]/route.js +1 -0
  222. package/.next/server/app/api/keys/[id]/route.js.nft.json +1 -0
  223. package/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -0
  224. package/.next/server/app/api/keys/route.js +1 -0
  225. package/.next/server/app/api/keys/route.js.nft.json +1 -0
  226. package/.next/server/app/api/keys/route_client-reference-manifest.js +1 -0
  227. package/.next/server/app/api/locale/route.js +1 -0
  228. package/.next/server/app/api/locale/route.js.nft.json +1 -0
  229. package/.next/server/app/api/locale/route_client-reference-manifest.js +1 -0
  230. package/.next/server/app/api/models/alias/route.js +1 -0
  231. package/.next/server/app/api/models/alias/route.js.nft.json +1 -0
  232. package/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -0
  233. package/.next/server/app/api/models/availability/route.js +1 -0
  234. package/.next/server/app/api/models/availability/route.js.nft.json +1 -0
  235. package/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -0
  236. package/.next/server/app/api/models/route.js +1 -0
  237. package/.next/server/app/api/models/route.js.nft.json +1 -0
  238. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  239. package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -0
  240. package/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -0
  241. package/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -0
  242. package/.next/server/app/api/oauth/cursor/auto-import/route.js +4 -0
  243. package/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -0
  244. package/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -0
  245. package/.next/server/app/api/oauth/cursor/import/route.js +1 -0
  246. package/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -0
  247. package/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -0
  248. package/.next/server/app/api/oauth/iflow/cookie/route.js +1 -0
  249. package/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -0
  250. package/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -0
  251. package/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -0
  252. package/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -0
  253. package/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -0
  254. package/.next/server/app/api/oauth/kiro/import/route.js +1 -0
  255. package/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -0
  256. package/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -0
  257. package/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -0
  258. package/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -0
  259. package/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -0
  260. package/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -0
  261. package/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -0
  262. package/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -0
  263. package/.next/server/app/api/pricing/route.js +1 -0
  264. package/.next/server/app/api/pricing/route.js.nft.json +1 -0
  265. package/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -0
  266. package/.next/server/app/api/provider-nodes/[id]/route.js +1 -0
  267. package/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -0
  268. package/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -0
  269. package/.next/server/app/api/provider-nodes/route.js +1 -0
  270. package/.next/server/app/api/provider-nodes/route.js.nft.json +1 -0
  271. package/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -0
  272. package/.next/server/app/api/provider-nodes/validate/route.js +1 -0
  273. package/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -0
  274. package/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -0
  275. package/.next/server/app/api/providers/[id]/models/route.js +1 -0
  276. package/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -0
  277. package/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -0
  278. package/.next/server/app/api/providers/[id]/route.js +1 -0
  279. package/.next/server/app/api/providers/[id]/route.js.nft.json +1 -0
  280. package/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -0
  281. package/.next/server/app/api/providers/[id]/test-models/route.js +1 -0
  282. package/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -0
  283. package/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -0
  284. package/.next/server/app/api/providers/client/route.js +1 -0
  285. package/.next/server/app/api/providers/client/route.js.nft.json +1 -0
  286. package/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -0
  287. package/.next/server/app/api/providers/route.js +1 -0
  288. package/.next/server/app/api/providers/route.js.nft.json +1 -0
  289. package/.next/server/app/api/providers/route_client-reference-manifest.js +1 -0
  290. package/.next/server/app/api/providers/test-batch/route.js +1 -0
  291. package/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -0
  292. package/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -0
  293. package/.next/server/app/api/providers/validate/route.js +1 -0
  294. package/.next/server/app/api/providers/validate/route.js.nft.json +1 -0
  295. package/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -0
  296. package/.next/server/app/api/proxy-pools/[id]/route.js +1 -0
  297. package/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -0
  298. package/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -0
  299. package/.next/server/app/api/proxy-pools/route.js +1 -0
  300. package/.next/server/app/api/proxy-pools/route.js.nft.json +1 -0
  301. package/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -0
  302. package/.next/server/app/api/settings/database/route.js +1 -0
  303. package/.next/server/app/api/settings/database/route.js.nft.json +1 -0
  304. package/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -0
  305. package/.next/server/app/api/settings/proxy-test/route.js +1 -0
  306. package/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -0
  307. package/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -0
  308. package/.next/server/app/api/settings/require-login/route.js +1 -0
  309. package/.next/server/app/api/settings/require-login/route.js.nft.json +1 -0
  310. package/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -0
  311. package/.next/server/app/api/settings/route.js +1 -0
  312. package/.next/server/app/api/settings/route.js.nft.json +1 -0
  313. package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -0
  314. package/.next/server/app/api/shutdown/route.js +1 -0
  315. package/.next/server/app/api/shutdown/route.js.nft.json +1 -0
  316. package/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -0
  317. package/.next/server/app/api/tags/route.js +1 -0
  318. package/.next/server/app/api/tags/route.js.nft.json +1 -0
  319. package/.next/server/app/api/tags/route_client-reference-manifest.js +1 -0
  320. package/.next/server/app/api/translator/console-logs/route.js +1 -0
  321. package/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -0
  322. package/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -0
  323. package/.next/server/app/api/translator/console-logs/stream/route.js +7 -0
  324. package/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -0
  325. package/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -0
  326. package/.next/server/app/api/translator/load/route.js +1 -0
  327. package/.next/server/app/api/translator/load/route.js.nft.json +1 -0
  328. package/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -0
  329. package/.next/server/app/api/translator/save/route.js +1 -0
  330. package/.next/server/app/api/translator/save/route.js.nft.json +1 -0
  331. package/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -0
  332. package/.next/server/app/api/translator/send/route.js +1 -0
  333. package/.next/server/app/api/translator/send/route.js.nft.json +1 -0
  334. package/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -0
  335. package/.next/server/app/api/translator/translate/route.js +1 -0
  336. package/.next/server/app/api/translator/translate/route.js.nft.json +1 -0
  337. package/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -0
  338. package/.next/server/app/api/tunnel/disable/route.js +1 -0
  339. package/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -0
  340. package/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -0
  341. package/.next/server/app/api/tunnel/enable/route.js +1 -0
  342. package/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -0
  343. package/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -0
  344. package/.next/server/app/api/tunnel/status/route.js +1 -0
  345. package/.next/server/app/api/tunnel/status/route.js.nft.json +1 -0
  346. package/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -0
  347. package/.next/server/app/api/usage/[connectionId]/route.js +1 -0
  348. package/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -0
  349. package/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -0
  350. package/.next/server/app/api/usage/chart/route.js +1 -0
  351. package/.next/server/app/api/usage/chart/route.js.nft.json +1 -0
  352. package/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -0
  353. package/.next/server/app/api/usage/history/route.js +1 -0
  354. package/.next/server/app/api/usage/history/route.js.nft.json +1 -0
  355. package/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -0
  356. package/.next/server/app/api/usage/providers/route.js +1 -0
  357. package/.next/server/app/api/usage/providers/route.js.nft.json +1 -0
  358. package/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -0
  359. package/.next/server/app/api/usage/request-details/route.js +1 -0
  360. package/.next/server/app/api/usage/request-details/route.js.nft.json +1 -0
  361. package/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -0
  362. package/.next/server/app/api/usage/request-logs/route.js +1 -0
  363. package/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -0
  364. package/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -0
  365. package/.next/server/app/api/usage/stats/route.js +1 -0
  366. package/.next/server/app/api/usage/stats/route.js.nft.json +1 -0
  367. package/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -0
  368. package/.next/server/app/api/usage/stream/route.js +7 -0
  369. package/.next/server/app/api/usage/stream/route.js.nft.json +1 -0
  370. package/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -0
  371. package/.next/server/app/api/v1/api/chat/route.js +1 -0
  372. package/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -0
  373. package/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -0
  374. package/.next/server/app/api/v1/chat/completions/route.js +1 -0
  375. package/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -0
  376. package/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -0
  377. package/.next/server/app/api/v1/embeddings/route.js +1 -0
  378. package/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -0
  379. package/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -0
  380. package/.next/server/app/api/v1/messages/count_tokens/route.js +1 -0
  381. package/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -0
  382. package/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -0
  383. package/.next/server/app/api/v1/messages/route.js +1 -0
  384. package/.next/server/app/api/v1/messages/route.js.nft.json +1 -0
  385. package/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -0
  386. package/.next/server/app/api/v1/models/route.js +1 -0
  387. package/.next/server/app/api/v1/models/route.js.nft.json +1 -0
  388. package/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -0
  389. package/.next/server/app/api/v1/responses/route.js +1 -0
  390. package/.next/server/app/api/v1/responses/route.js.nft.json +1 -0
  391. package/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -0
  392. package/.next/server/app/api/v1/route.js +1 -0
  393. package/.next/server/app/api/v1/route.js.nft.json +1 -0
  394. package/.next/server/app/api/v1/route_client-reference-manifest.js +1 -0
  395. package/.next/server/app/api/v1beta/models/[...path]/route.js +1 -0
  396. package/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -0
  397. package/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -0
  398. package/.next/server/app/api/v1beta/models/route.js +1 -0
  399. package/.next/server/app/api/v1beta/models/route.js.nft.json +1 -0
  400. package/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -0
  401. package/.next/server/app/api/version/route.js +1 -0
  402. package/.next/server/app/api/version/route.js.nft.json +1 -0
  403. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -0
  404. package/.next/server/app/callback/page.js +2 -0
  405. package/.next/server/app/callback/page.js.nft.json +1 -0
  406. package/.next/server/app/callback/page_client-reference-manifest.js +1 -0
  407. package/.next/server/app/callback.html +1 -0
  408. package/.next/server/app/callback.meta +15 -0
  409. package/.next/server/app/callback.rsc +24 -0
  410. package/.next/server/app/callback.segments/_full.segment.rsc +24 -0
  411. package/.next/server/app/callback.segments/_head.segment.rsc +6 -0
  412. package/.next/server/app/callback.segments/_index.segment.rsc +8 -0
  413. package/.next/server/app/callback.segments/_tree.segment.rsc +4 -0
  414. package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +9 -0
  415. package/.next/server/app/callback.segments/callback.segment.rsc +5 -0
  416. package/.next/server/app/dashboard/cli-tools.html +1 -0
  417. package/.next/server/app/dashboard/cli-tools.meta +17 -0
  418. package/.next/server/app/dashboard/cli-tools.rsc +24 -0
  419. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +6 -0
  420. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +5 -0
  421. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  422. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  423. package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +24 -0
  424. package/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +6 -0
  425. package/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +8 -0
  426. package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +5 -0
  427. package/.next/server/app/dashboard/combos.html +1 -0
  428. package/.next/server/app/dashboard/combos.meta +17 -0
  429. package/.next/server/app/dashboard/combos.rsc +26 -0
  430. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +9 -0
  431. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +5 -0
  432. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  433. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  434. package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +26 -0
  435. package/.next/server/app/dashboard/combos.segments/_head.segment.rsc +6 -0
  436. package/.next/server/app/dashboard/combos.segments/_index.segment.rsc +8 -0
  437. package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +5 -0
  438. package/.next/server/app/dashboard/endpoint.html +1 -0
  439. package/.next/server/app/dashboard/endpoint.meta +17 -0
  440. package/.next/server/app/dashboard/endpoint.rsc +24 -0
  441. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +6 -0
  442. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +5 -0
  443. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  444. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  445. package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +24 -0
  446. package/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +6 -0
  447. package/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +8 -0
  448. package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +5 -0
  449. package/.next/server/app/dashboard/mitm.html +1 -0
  450. package/.next/server/app/dashboard/mitm.meta +17 -0
  451. package/.next/server/app/dashboard/mitm.rsc +23 -0
  452. package/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +6 -0
  453. package/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +5 -0
  454. package/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  455. package/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  456. package/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +23 -0
  457. package/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +6 -0
  458. package/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +8 -0
  459. package/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +5 -0
  460. package/.next/server/app/dashboard/profile.html +1 -0
  461. package/.next/server/app/dashboard/profile.meta +17 -0
  462. package/.next/server/app/dashboard/profile.rsc +26 -0
  463. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +9 -0
  464. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +5 -0
  465. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  466. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  467. package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +26 -0
  468. package/.next/server/app/dashboard/profile.segments/_head.segment.rsc +6 -0
  469. package/.next/server/app/dashboard/profile.segments/_index.segment.rsc +8 -0
  470. package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +5 -0
  471. package/.next/server/app/dashboard/providers/new.html +1 -0
  472. package/.next/server/app/dashboard/providers/new.meta +18 -0
  473. package/.next/server/app/dashboard/providers/new.rsc +26 -0
  474. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +9 -0
  475. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +5 -0
  476. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +5 -0
  477. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  478. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  479. package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +26 -0
  480. package/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +6 -0
  481. package/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +8 -0
  482. package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +5 -0
  483. package/.next/server/app/dashboard/providers.html +1 -0
  484. package/.next/server/app/dashboard/providers.meta +17 -0
  485. package/.next/server/app/dashboard/providers.rsc +26 -0
  486. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +9 -0
  487. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +5 -0
  488. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  489. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  490. package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +26 -0
  491. package/.next/server/app/dashboard/providers.segments/_head.segment.rsc +6 -0
  492. package/.next/server/app/dashboard/providers.segments/_index.segment.rsc +8 -0
  493. package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +5 -0
  494. package/.next/server/app/dashboard/proxy-pools.html +1 -0
  495. package/.next/server/app/dashboard/proxy-pools.meta +17 -0
  496. package/.next/server/app/dashboard/proxy-pools.rsc +26 -0
  497. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +9 -0
  498. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +5 -0
  499. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  500. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  501. package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +26 -0
  502. package/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +6 -0
  503. package/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +8 -0
  504. package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +5 -0
  505. package/.next/server/app/dashboard/quota.html +1 -0
  506. package/.next/server/app/dashboard/quota.meta +17 -0
  507. package/.next/server/app/dashboard/quota.rsc +24 -0
  508. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +7 -0
  509. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +5 -0
  510. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  511. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  512. package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +24 -0
  513. package/.next/server/app/dashboard/quota.segments/_head.segment.rsc +6 -0
  514. package/.next/server/app/dashboard/quota.segments/_index.segment.rsc +8 -0
  515. package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +5 -0
  516. package/.next/server/app/dashboard/settings/pricing/page.js +2 -0
  517. package/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -0
  518. package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
  519. package/.next/server/app/dashboard/settings/pricing.html +1 -0
  520. package/.next/server/app/dashboard/settings/pricing.meta +17 -0
  521. package/.next/server/app/dashboard/settings/pricing.rsc +24 -0
  522. package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +24 -0
  523. package/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +6 -0
  524. package/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +8 -0
  525. package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +4 -0
  526. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +9 -0
  527. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +5 -0
  528. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +5 -0
  529. package/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +5 -0
  530. package/.next/server/app/dashboard/translator.html +1 -0
  531. package/.next/server/app/dashboard/translator.meta +17 -0
  532. package/.next/server/app/dashboard/translator.rsc +26 -0
  533. package/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +9 -0
  534. package/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +5 -0
  535. package/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  536. package/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  537. package/.next/server/app/dashboard/translator.segments/_full.segment.rsc +26 -0
  538. package/.next/server/app/dashboard/translator.segments/_head.segment.rsc +6 -0
  539. package/.next/server/app/dashboard/translator.segments/_index.segment.rsc +8 -0
  540. package/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +5 -0
  541. package/.next/server/app/dashboard/usage.html +1 -0
  542. package/.next/server/app/dashboard/usage.meta +17 -0
  543. package/.next/server/app/dashboard/usage.rsc +26 -0
  544. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +9 -0
  545. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +5 -0
  546. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  547. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  548. package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +26 -0
  549. package/.next/server/app/dashboard/usage.segments/_head.segment.rsc +6 -0
  550. package/.next/server/app/dashboard/usage.segments/_index.segment.rsc +8 -0
  551. package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +5 -0
  552. package/.next/server/app/dashboard.html +1 -0
  553. package/.next/server/app/dashboard.meta +16 -0
  554. package/.next/server/app/dashboard.rsc +24 -0
  555. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +6 -0
  556. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  557. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  558. package/.next/server/app/dashboard.segments/_full.segment.rsc +24 -0
  559. package/.next/server/app/dashboard.segments/_head.segment.rsc +6 -0
  560. package/.next/server/app/dashboard.segments/_index.segment.rsc +8 -0
  561. package/.next/server/app/dashboard.segments/_tree.segment.rsc +5 -0
  562. package/.next/server/app/favicon.ico/route.js +1 -0
  563. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  564. package/.next/server/app/favicon.ico.body +0 -0
  565. package/.next/server/app/favicon.ico.meta +1 -0
  566. package/.next/server/app/index.html +1 -0
  567. package/.next/server/app/index.meta +16 -0
  568. package/.next/server/app/index.rsc +19 -0
  569. package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -0
  570. package/.next/server/app/index.segments/_full.segment.rsc +19 -0
  571. package/.next/server/app/index.segments/_head.segment.rsc +6 -0
  572. package/.next/server/app/index.segments/_index.segment.rsc +8 -0
  573. package/.next/server/app/index.segments/_tree.segment.rsc +4 -0
  574. package/.next/server/app/landing/page.js +2 -0
  575. package/.next/server/app/landing/page.js.nft.json +1 -0
  576. package/.next/server/app/landing/page_client-reference-manifest.js +1 -0
  577. package/.next/server/app/landing.html +1 -0
  578. package/.next/server/app/landing.meta +15 -0
  579. package/.next/server/app/landing.rsc +24 -0
  580. package/.next/server/app/landing.segments/_full.segment.rsc +24 -0
  581. package/.next/server/app/landing.segments/_head.segment.rsc +6 -0
  582. package/.next/server/app/landing.segments/_index.segment.rsc +8 -0
  583. package/.next/server/app/landing.segments/_tree.segment.rsc +4 -0
  584. package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +9 -0
  585. package/.next/server/app/landing.segments/landing.segment.rsc +5 -0
  586. package/.next/server/app/login/page.js +2 -0
  587. package/.next/server/app/login/page.js.nft.json +1 -0
  588. package/.next/server/app/login/page_client-reference-manifest.js +1 -0
  589. package/.next/server/app/login.html +1 -0
  590. package/.next/server/app/login.meta +15 -0
  591. package/.next/server/app/login.rsc +25 -0
  592. package/.next/server/app/login.segments/_full.segment.rsc +25 -0
  593. package/.next/server/app/login.segments/_head.segment.rsc +6 -0
  594. package/.next/server/app/login.segments/_index.segment.rsc +8 -0
  595. package/.next/server/app/login.segments/_tree.segment.rsc +5 -0
  596. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +10 -0
  597. package/.next/server/app/login.segments/login.segment.rsc +5 -0
  598. package/.next/server/app/manifest.webmanifest/route.js +16 -0
  599. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  600. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  601. package/.next/server/app/manifest.webmanifest.body +1 -0
  602. package/.next/server/app/manifest.webmanifest.meta +1 -0
  603. package/.next/server/app/page.js +2 -0
  604. package/.next/server/app/page.js.nft.json +1 -0
  605. package/.next/server/app/page_client-reference-manifest.js +1 -0
  606. package/.next/server/app-paths-manifest.json +104 -0
  607. package/.next/server/chunks/1130.js +1 -0
  608. package/.next/server/chunks/1220.js +3 -0
  609. package/.next/server/chunks/1424.js +1 -0
  610. package/.next/server/chunks/1705.js +1 -0
  611. package/.next/server/chunks/1813.js +1 -0
  612. package/.next/server/chunks/241.js +1 -0
  613. package/.next/server/chunks/2417.js +1 -0
  614. package/.next/server/chunks/289.js +1 -0
  615. package/.next/server/chunks/318.js +164 -0
  616. package/.next/server/chunks/3245.js +1 -0
  617. package/.next/server/chunks/3832.js +1 -0
  618. package/.next/server/chunks/412.js +7 -0
  619. package/.next/server/chunks/4124.js +1 -0
  620. package/.next/server/chunks/4642.js +1 -0
  621. package/.next/server/chunks/4689.js +1 -0
  622. package/.next/server/chunks/4741.js +18 -0
  623. package/.next/server/chunks/4755.js +1 -0
  624. package/.next/server/chunks/4989.js +2 -0
  625. package/.next/server/chunks/5270.js +1 -0
  626. package/.next/server/chunks/5296.js +1 -0
  627. package/.next/server/chunks/5297.js +1 -0
  628. package/.next/server/chunks/5573.js +1 -0
  629. package/.next/server/chunks/6108.js +1 -0
  630. package/.next/server/chunks/6182.js +5 -0
  631. package/.next/server/chunks/63.js +45 -0
  632. package/.next/server/chunks/6446.js +1 -0
  633. package/.next/server/chunks/649.js +15 -0
  634. package/.next/server/chunks/6649.js +1 -0
  635. package/.next/server/chunks/6844.js +1 -0
  636. package/.next/server/chunks/7341.js +1 -0
  637. package/.next/server/chunks/7774.js +120 -0
  638. package/.next/server/chunks/7861.js +1 -0
  639. package/.next/server/chunks/7890.js +3 -0
  640. package/.next/server/chunks/7898.js +1 -0
  641. package/.next/server/chunks/7924.js +1 -0
  642. package/.next/server/chunks/8332.js +1 -0
  643. package/.next/server/chunks/8895.js +4 -0
  644. package/.next/server/chunks/9201.js +1 -0
  645. package/.next/server/chunks/9609.js +1 -0
  646. package/.next/server/chunks/9713.js +1 -0
  647. package/.next/server/chunks/9718.js +1 -0
  648. package/.next/server/functions-config-manifest.json +18 -0
  649. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  650. package/.next/server/middleware-build-manifest.js +1 -0
  651. package/.next/server/middleware-manifest.json +6 -0
  652. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  653. package/.next/server/middleware.js +56 -0
  654. package/.next/server/middleware.js.nft.json +1 -0
  655. package/.next/server/next-font-manifest.js +1 -0
  656. package/.next/server/next-font-manifest.json +1 -0
  657. package/.next/server/pages/404.html +1 -0
  658. package/.next/server/pages/500.html +1 -0
  659. package/.next/server/pages-manifest.json +4 -0
  660. package/.next/server/prefetch-hints.json +1 -0
  661. package/.next/server/server-reference-manifest.js +1 -0
  662. package/.next/server/server-reference-manifest.json +1 -0
  663. package/.next/server/webpack-runtime.js +1 -0
  664. package/.next/standalone/.next/BUILD_ID +1 -0
  665. package/.next/standalone/.next/app-path-routes-manifest.json +104 -0
  666. package/.next/standalone/.next/build-manifest.json +20 -0
  667. package/.next/standalone/.next/package.json +1 -0
  668. package/.next/standalone/.next/prerender-manifest.json +527 -0
  669. package/.next/standalone/.next/react-loadable-manifest.json +8 -0
  670. package/.next/standalone/.next/required-server-files.json +365 -0
  671. package/.next/standalone/.next/routes-manifest.json +709 -0
  672. package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -0
  673. package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -0
  674. package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -0
  675. package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -0
  676. package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -0
  677. package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -0
  678. package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -0
  679. package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -0
  680. package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -0
  681. package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -0
  682. package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -0
  683. package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -0
  684. package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -0
  685. package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -0
  686. package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -0
  687. package/.next/standalone/.next/server/app/(dashboard)/dashboard/page.js +2 -0
  688. package/.next/standalone/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -0
  689. package/.next/standalone/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -0
  690. package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -0
  691. package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -0
  692. package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -0
  693. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -0
  694. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -0
  695. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -0
  696. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -0
  697. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -0
  698. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -0
  699. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -0
  700. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -0
  701. package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -0
  702. package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -0
  703. package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -0
  704. package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -0
  705. package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -0
  706. package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -0
  707. package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -0
  708. package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -0
  709. package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -0
  710. package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -0
  711. package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -0
  712. package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -0
  713. package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -0
  714. package/.next/standalone/.next/server/app/_global-error/page.js +32 -0
  715. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -0
  716. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  717. package/.next/standalone/.next/server/app/_global-error.html +1 -0
  718. package/.next/standalone/.next/server/app/_global-error.meta +16 -0
  719. package/.next/standalone/.next/server/app/_global-error.rsc +14 -0
  720. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  721. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
  722. package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
  723. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  724. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  725. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  726. package/.next/standalone/.next/server/app/_not-found/page.js +2 -0
  727. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -0
  728. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  729. package/.next/standalone/.next/server/app/_not-found.html +1 -0
  730. package/.next/standalone/.next/server/app/_not-found.meta +16 -0
  731. package/.next/standalone/.next/server/app/_not-found.rsc +20 -0
  732. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +20 -0
  733. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  734. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +8 -0
  735. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  736. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  737. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -0
  738. package/.next/standalone/.next/server/app/api/auth/login/route.js +1 -0
  739. package/.next/standalone/.next/server/app/api/auth/login/route.js.nft.json +1 -0
  740. package/.next/standalone/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
  741. package/.next/standalone/.next/server/app/api/auth/logout/route.js +1 -0
  742. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
  743. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -0
  744. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -0
  745. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -0
  746. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -0
  747. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -0
  748. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -0
  749. package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -0
  750. package/.next/standalone/.next/server/app/api/cli-tools/claude-settings/route.js +2 -0
  751. package/.next/standalone/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -0
  752. package/.next/standalone/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -0
  753. package/.next/standalone/.next/server/app/api/cli-tools/codex-settings/route.js +32 -0
  754. package/.next/standalone/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -0
  755. package/.next/standalone/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -0
  756. package/.next/standalone/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -0
  757. package/.next/standalone/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -0
  758. package/.next/standalone/.next/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -0
  759. package/.next/standalone/.next/server/app/api/cli-tools/droid-settings/route.js +2 -0
  760. package/.next/standalone/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -0
  761. package/.next/standalone/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -0
  762. package/.next/standalone/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -0
  763. package/.next/standalone/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -0
  764. package/.next/standalone/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -0
  765. package/.next/standalone/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -0
  766. package/.next/standalone/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -0
  767. package/.next/standalone/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -0
  768. package/.next/standalone/.next/server/app/api/cloud/auth/route.js +1 -0
  769. package/.next/standalone/.next/server/app/api/cloud/auth/route.js.nft.json +1 -0
  770. package/.next/standalone/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -0
  771. package/.next/standalone/.next/server/app/api/cloud/credentials/update/route.js +1 -0
  772. package/.next/standalone/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -0
  773. package/.next/standalone/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -0
  774. package/.next/standalone/.next/server/app/api/cloud/model/resolve/route.js +1 -0
  775. package/.next/standalone/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -0
  776. package/.next/standalone/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -0
  777. package/.next/standalone/.next/server/app/api/cloud/models/alias/route.js +1 -0
  778. package/.next/standalone/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -0
  779. package/.next/standalone/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -0
  780. package/.next/standalone/.next/server/app/api/combos/[id]/route.js +1 -0
  781. package/.next/standalone/.next/server/app/api/combos/[id]/route.js.nft.json +1 -0
  782. package/.next/standalone/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -0
  783. package/.next/standalone/.next/server/app/api/combos/route.js +1 -0
  784. package/.next/standalone/.next/server/app/api/combos/route.js.nft.json +1 -0
  785. package/.next/standalone/.next/server/app/api/combos/route_client-reference-manifest.js +1 -0
  786. package/.next/standalone/.next/server/app/api/init/route.js +1 -0
  787. package/.next/standalone/.next/server/app/api/init/route.js.nft.json +1 -0
  788. package/.next/standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -0
  789. package/.next/standalone/.next/server/app/api/keys/[id]/route.js +1 -0
  790. package/.next/standalone/.next/server/app/api/keys/[id]/route.js.nft.json +1 -0
  791. package/.next/standalone/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -0
  792. package/.next/standalone/.next/server/app/api/keys/route.js +1 -0
  793. package/.next/standalone/.next/server/app/api/keys/route.js.nft.json +1 -0
  794. package/.next/standalone/.next/server/app/api/keys/route_client-reference-manifest.js +1 -0
  795. package/.next/standalone/.next/server/app/api/locale/route.js +1 -0
  796. package/.next/standalone/.next/server/app/api/locale/route.js.nft.json +1 -0
  797. package/.next/standalone/.next/server/app/api/locale/route_client-reference-manifest.js +1 -0
  798. package/.next/standalone/.next/server/app/api/models/alias/route.js +1 -0
  799. package/.next/standalone/.next/server/app/api/models/alias/route.js.nft.json +1 -0
  800. package/.next/standalone/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -0
  801. package/.next/standalone/.next/server/app/api/models/availability/route.js +1 -0
  802. package/.next/standalone/.next/server/app/api/models/availability/route.js.nft.json +1 -0
  803. package/.next/standalone/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -0
  804. package/.next/standalone/.next/server/app/api/models/route.js +1 -0
  805. package/.next/standalone/.next/server/app/api/models/route.js.nft.json +1 -0
  806. package/.next/standalone/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  807. package/.next/standalone/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -0
  808. package/.next/standalone/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -0
  809. package/.next/standalone/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -0
  810. package/.next/standalone/.next/server/app/api/oauth/cursor/auto-import/route.js +4 -0
  811. package/.next/standalone/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -0
  812. package/.next/standalone/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -0
  813. package/.next/standalone/.next/server/app/api/oauth/cursor/import/route.js +1 -0
  814. package/.next/standalone/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -0
  815. package/.next/standalone/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -0
  816. package/.next/standalone/.next/server/app/api/oauth/iflow/cookie/route.js +1 -0
  817. package/.next/standalone/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -0
  818. package/.next/standalone/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -0
  819. package/.next/standalone/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -0
  820. package/.next/standalone/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -0
  821. package/.next/standalone/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -0
  822. package/.next/standalone/.next/server/app/api/oauth/kiro/import/route.js +1 -0
  823. package/.next/standalone/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -0
  824. package/.next/standalone/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -0
  825. package/.next/standalone/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -0
  826. package/.next/standalone/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -0
  827. package/.next/standalone/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -0
  828. package/.next/standalone/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -0
  829. package/.next/standalone/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -0
  830. package/.next/standalone/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -0
  831. package/.next/standalone/.next/server/app/api/pricing/route.js +1 -0
  832. package/.next/standalone/.next/server/app/api/pricing/route.js.nft.json +1 -0
  833. package/.next/standalone/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -0
  834. package/.next/standalone/.next/server/app/api/provider-nodes/[id]/route.js +1 -0
  835. package/.next/standalone/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -0
  836. package/.next/standalone/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -0
  837. package/.next/standalone/.next/server/app/api/provider-nodes/route.js +1 -0
  838. package/.next/standalone/.next/server/app/api/provider-nodes/route.js.nft.json +1 -0
  839. package/.next/standalone/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -0
  840. package/.next/standalone/.next/server/app/api/provider-nodes/validate/route.js +1 -0
  841. package/.next/standalone/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -0
  842. package/.next/standalone/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -0
  843. package/.next/standalone/.next/server/app/api/providers/[id]/models/route.js +1 -0
  844. package/.next/standalone/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -0
  845. package/.next/standalone/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -0
  846. package/.next/standalone/.next/server/app/api/providers/[id]/route.js +1 -0
  847. package/.next/standalone/.next/server/app/api/providers/[id]/route.js.nft.json +1 -0
  848. package/.next/standalone/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -0
  849. package/.next/standalone/.next/server/app/api/providers/[id]/test-models/route.js +1 -0
  850. package/.next/standalone/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -0
  851. package/.next/standalone/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -0
  852. package/.next/standalone/.next/server/app/api/providers/client/route.js +1 -0
  853. package/.next/standalone/.next/server/app/api/providers/client/route.js.nft.json +1 -0
  854. package/.next/standalone/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -0
  855. package/.next/standalone/.next/server/app/api/providers/route.js +1 -0
  856. package/.next/standalone/.next/server/app/api/providers/route.js.nft.json +1 -0
  857. package/.next/standalone/.next/server/app/api/providers/route_client-reference-manifest.js +1 -0
  858. package/.next/standalone/.next/server/app/api/providers/test-batch/route.js +1 -0
  859. package/.next/standalone/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -0
  860. package/.next/standalone/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -0
  861. package/.next/standalone/.next/server/app/api/providers/validate/route.js +1 -0
  862. package/.next/standalone/.next/server/app/api/providers/validate/route.js.nft.json +1 -0
  863. package/.next/standalone/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -0
  864. package/.next/standalone/.next/server/app/api/proxy-pools/[id]/route.js +1 -0
  865. package/.next/standalone/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -0
  866. package/.next/standalone/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -0
  867. package/.next/standalone/.next/server/app/api/proxy-pools/route.js +1 -0
  868. package/.next/standalone/.next/server/app/api/proxy-pools/route.js.nft.json +1 -0
  869. package/.next/standalone/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -0
  870. package/.next/standalone/.next/server/app/api/settings/database/route.js +1 -0
  871. package/.next/standalone/.next/server/app/api/settings/database/route.js.nft.json +1 -0
  872. package/.next/standalone/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -0
  873. package/.next/standalone/.next/server/app/api/settings/proxy-test/route.js +1 -0
  874. package/.next/standalone/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -0
  875. package/.next/standalone/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -0
  876. package/.next/standalone/.next/server/app/api/settings/require-login/route.js +1 -0
  877. package/.next/standalone/.next/server/app/api/settings/require-login/route.js.nft.json +1 -0
  878. package/.next/standalone/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -0
  879. package/.next/standalone/.next/server/app/api/settings/route.js +1 -0
  880. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -0
  881. package/.next/standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -0
  882. package/.next/standalone/.next/server/app/api/shutdown/route.js +1 -0
  883. package/.next/standalone/.next/server/app/api/shutdown/route.js.nft.json +1 -0
  884. package/.next/standalone/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -0
  885. package/.next/standalone/.next/server/app/api/tags/route.js +1 -0
  886. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -0
  887. package/.next/standalone/.next/server/app/api/tags/route_client-reference-manifest.js +1 -0
  888. package/.next/standalone/.next/server/app/api/translator/console-logs/route.js +1 -0
  889. package/.next/standalone/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -0
  890. package/.next/standalone/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -0
  891. package/.next/standalone/.next/server/app/api/translator/console-logs/stream/route.js +7 -0
  892. package/.next/standalone/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -0
  893. package/.next/standalone/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -0
  894. package/.next/standalone/.next/server/app/api/translator/load/route.js +1 -0
  895. package/.next/standalone/.next/server/app/api/translator/load/route.js.nft.json +1 -0
  896. package/.next/standalone/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -0
  897. package/.next/standalone/.next/server/app/api/translator/save/route.js +1 -0
  898. package/.next/standalone/.next/server/app/api/translator/save/route.js.nft.json +1 -0
  899. package/.next/standalone/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -0
  900. package/.next/standalone/.next/server/app/api/translator/send/route.js +1 -0
  901. package/.next/standalone/.next/server/app/api/translator/send/route.js.nft.json +1 -0
  902. package/.next/standalone/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -0
  903. package/.next/standalone/.next/server/app/api/translator/translate/route.js +1 -0
  904. package/.next/standalone/.next/server/app/api/translator/translate/route.js.nft.json +1 -0
  905. package/.next/standalone/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -0
  906. package/.next/standalone/.next/server/app/api/tunnel/disable/route.js +1 -0
  907. package/.next/standalone/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -0
  908. package/.next/standalone/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -0
  909. package/.next/standalone/.next/server/app/api/tunnel/enable/route.js +1 -0
  910. package/.next/standalone/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -0
  911. package/.next/standalone/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -0
  912. package/.next/standalone/.next/server/app/api/tunnel/status/route.js +1 -0
  913. package/.next/standalone/.next/server/app/api/tunnel/status/route.js.nft.json +1 -0
  914. package/.next/standalone/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -0
  915. package/.next/standalone/.next/server/app/api/usage/[connectionId]/route.js +1 -0
  916. package/.next/standalone/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -0
  917. package/.next/standalone/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -0
  918. package/.next/standalone/.next/server/app/api/usage/chart/route.js +1 -0
  919. package/.next/standalone/.next/server/app/api/usage/chart/route.js.nft.json +1 -0
  920. package/.next/standalone/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -0
  921. package/.next/standalone/.next/server/app/api/usage/history/route.js +1 -0
  922. package/.next/standalone/.next/server/app/api/usage/history/route.js.nft.json +1 -0
  923. package/.next/standalone/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -0
  924. package/.next/standalone/.next/server/app/api/usage/providers/route.js +1 -0
  925. package/.next/standalone/.next/server/app/api/usage/providers/route.js.nft.json +1 -0
  926. package/.next/standalone/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -0
  927. package/.next/standalone/.next/server/app/api/usage/request-details/route.js +1 -0
  928. package/.next/standalone/.next/server/app/api/usage/request-details/route.js.nft.json +1 -0
  929. package/.next/standalone/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -0
  930. package/.next/standalone/.next/server/app/api/usage/request-logs/route.js +1 -0
  931. package/.next/standalone/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -0
  932. package/.next/standalone/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -0
  933. package/.next/standalone/.next/server/app/api/usage/stats/route.js +1 -0
  934. package/.next/standalone/.next/server/app/api/usage/stats/route.js.nft.json +1 -0
  935. package/.next/standalone/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -0
  936. package/.next/standalone/.next/server/app/api/usage/stream/route.js +7 -0
  937. package/.next/standalone/.next/server/app/api/usage/stream/route.js.nft.json +1 -0
  938. package/.next/standalone/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -0
  939. package/.next/standalone/.next/server/app/api/v1/api/chat/route.js +1 -0
  940. package/.next/standalone/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -0
  941. package/.next/standalone/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -0
  942. package/.next/standalone/.next/server/app/api/v1/chat/completions/route.js +1 -0
  943. package/.next/standalone/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -0
  944. package/.next/standalone/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -0
  945. package/.next/standalone/.next/server/app/api/v1/embeddings/route.js +1 -0
  946. package/.next/standalone/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -0
  947. package/.next/standalone/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -0
  948. package/.next/standalone/.next/server/app/api/v1/messages/count_tokens/route.js +1 -0
  949. package/.next/standalone/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -0
  950. package/.next/standalone/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -0
  951. package/.next/standalone/.next/server/app/api/v1/messages/route.js +1 -0
  952. package/.next/standalone/.next/server/app/api/v1/messages/route.js.nft.json +1 -0
  953. package/.next/standalone/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -0
  954. package/.next/standalone/.next/server/app/api/v1/models/route.js +1 -0
  955. package/.next/standalone/.next/server/app/api/v1/models/route.js.nft.json +1 -0
  956. package/.next/standalone/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -0
  957. package/.next/standalone/.next/server/app/api/v1/responses/route.js +1 -0
  958. package/.next/standalone/.next/server/app/api/v1/responses/route.js.nft.json +1 -0
  959. package/.next/standalone/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -0
  960. package/.next/standalone/.next/server/app/api/v1/route.js +1 -0
  961. package/.next/standalone/.next/server/app/api/v1/route.js.nft.json +1 -0
  962. package/.next/standalone/.next/server/app/api/v1/route_client-reference-manifest.js +1 -0
  963. package/.next/standalone/.next/server/app/api/v1beta/models/[...path]/route.js +1 -0
  964. package/.next/standalone/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -0
  965. package/.next/standalone/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -0
  966. package/.next/standalone/.next/server/app/api/v1beta/models/route.js +1 -0
  967. package/.next/standalone/.next/server/app/api/v1beta/models/route.js.nft.json +1 -0
  968. package/.next/standalone/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -0
  969. package/.next/standalone/.next/server/app/api/version/route.js +1 -0
  970. package/.next/standalone/.next/server/app/api/version/route.js.nft.json +1 -0
  971. package/.next/standalone/.next/server/app/api/version/route_client-reference-manifest.js +1 -0
  972. package/.next/standalone/.next/server/app/callback/page.js +2 -0
  973. package/.next/standalone/.next/server/app/callback/page.js.nft.json +1 -0
  974. package/.next/standalone/.next/server/app/callback/page_client-reference-manifest.js +1 -0
  975. package/.next/standalone/.next/server/app/callback.html +1 -0
  976. package/.next/standalone/.next/server/app/callback.meta +15 -0
  977. package/.next/standalone/.next/server/app/callback.rsc +24 -0
  978. package/.next/standalone/.next/server/app/callback.segments/_full.segment.rsc +24 -0
  979. package/.next/standalone/.next/server/app/callback.segments/_head.segment.rsc +6 -0
  980. package/.next/standalone/.next/server/app/callback.segments/_index.segment.rsc +8 -0
  981. package/.next/standalone/.next/server/app/callback.segments/_tree.segment.rsc +4 -0
  982. package/.next/standalone/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +9 -0
  983. package/.next/standalone/.next/server/app/callback.segments/callback.segment.rsc +5 -0
  984. package/.next/standalone/.next/server/app/dashboard/cli-tools.html +1 -0
  985. package/.next/standalone/.next/server/app/dashboard/cli-tools.meta +17 -0
  986. package/.next/standalone/.next/server/app/dashboard/cli-tools.rsc +24 -0
  987. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +6 -0
  988. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +5 -0
  989. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  990. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  991. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +24 -0
  992. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +6 -0
  993. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +8 -0
  994. package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +5 -0
  995. package/.next/standalone/.next/server/app/dashboard/combos.html +1 -0
  996. package/.next/standalone/.next/server/app/dashboard/combos.meta +17 -0
  997. package/.next/standalone/.next/server/app/dashboard/combos.rsc +26 -0
  998. package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +9 -0
  999. package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +5 -0
  1000. package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1001. package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1002. package/.next/standalone/.next/server/app/dashboard/combos.segments/_full.segment.rsc +26 -0
  1003. package/.next/standalone/.next/server/app/dashboard/combos.segments/_head.segment.rsc +6 -0
  1004. package/.next/standalone/.next/server/app/dashboard/combos.segments/_index.segment.rsc +8 -0
  1005. package/.next/standalone/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +5 -0
  1006. package/.next/standalone/.next/server/app/dashboard/endpoint.html +1 -0
  1007. package/.next/standalone/.next/server/app/dashboard/endpoint.meta +17 -0
  1008. package/.next/standalone/.next/server/app/dashboard/endpoint.rsc +24 -0
  1009. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +6 -0
  1010. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +5 -0
  1011. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1012. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1013. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +24 -0
  1014. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +6 -0
  1015. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +8 -0
  1016. package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +5 -0
  1017. package/.next/standalone/.next/server/app/dashboard/mitm.html +1 -0
  1018. package/.next/standalone/.next/server/app/dashboard/mitm.meta +17 -0
  1019. package/.next/standalone/.next/server/app/dashboard/mitm.rsc +23 -0
  1020. package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +6 -0
  1021. package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +5 -0
  1022. package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1023. package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1024. package/.next/standalone/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +23 -0
  1025. package/.next/standalone/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +6 -0
  1026. package/.next/standalone/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +8 -0
  1027. package/.next/standalone/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +5 -0
  1028. package/.next/standalone/.next/server/app/dashboard/profile.html +1 -0
  1029. package/.next/standalone/.next/server/app/dashboard/profile.meta +17 -0
  1030. package/.next/standalone/.next/server/app/dashboard/profile.rsc +26 -0
  1031. package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +9 -0
  1032. package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +5 -0
  1033. package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1034. package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1035. package/.next/standalone/.next/server/app/dashboard/profile.segments/_full.segment.rsc +26 -0
  1036. package/.next/standalone/.next/server/app/dashboard/profile.segments/_head.segment.rsc +6 -0
  1037. package/.next/standalone/.next/server/app/dashboard/profile.segments/_index.segment.rsc +8 -0
  1038. package/.next/standalone/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +5 -0
  1039. package/.next/standalone/.next/server/app/dashboard/providers/new.html +1 -0
  1040. package/.next/standalone/.next/server/app/dashboard/providers/new.meta +18 -0
  1041. package/.next/standalone/.next/server/app/dashboard/providers/new.rsc +26 -0
  1042. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +9 -0
  1043. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +5 -0
  1044. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +5 -0
  1045. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1046. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1047. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +26 -0
  1048. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +6 -0
  1049. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +8 -0
  1050. package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +5 -0
  1051. package/.next/standalone/.next/server/app/dashboard/providers.html +1 -0
  1052. package/.next/standalone/.next/server/app/dashboard/providers.meta +17 -0
  1053. package/.next/standalone/.next/server/app/dashboard/providers.rsc +26 -0
  1054. package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +9 -0
  1055. package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +5 -0
  1056. package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1057. package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1058. package/.next/standalone/.next/server/app/dashboard/providers.segments/_full.segment.rsc +26 -0
  1059. package/.next/standalone/.next/server/app/dashboard/providers.segments/_head.segment.rsc +6 -0
  1060. package/.next/standalone/.next/server/app/dashboard/providers.segments/_index.segment.rsc +8 -0
  1061. package/.next/standalone/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +5 -0
  1062. package/.next/standalone/.next/server/app/dashboard/proxy-pools.html +1 -0
  1063. package/.next/standalone/.next/server/app/dashboard/proxy-pools.meta +17 -0
  1064. package/.next/standalone/.next/server/app/dashboard/proxy-pools.rsc +26 -0
  1065. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +9 -0
  1066. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +5 -0
  1067. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1068. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1069. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +26 -0
  1070. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +6 -0
  1071. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +8 -0
  1072. package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +5 -0
  1073. package/.next/standalone/.next/server/app/dashboard/quota.html +1 -0
  1074. package/.next/standalone/.next/server/app/dashboard/quota.meta +17 -0
  1075. package/.next/standalone/.next/server/app/dashboard/quota.rsc +24 -0
  1076. package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +7 -0
  1077. package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +5 -0
  1078. package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1079. package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1080. package/.next/standalone/.next/server/app/dashboard/quota.segments/_full.segment.rsc +24 -0
  1081. package/.next/standalone/.next/server/app/dashboard/quota.segments/_head.segment.rsc +6 -0
  1082. package/.next/standalone/.next/server/app/dashboard/quota.segments/_index.segment.rsc +8 -0
  1083. package/.next/standalone/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +5 -0
  1084. package/.next/standalone/.next/server/app/dashboard/settings/pricing/page.js +2 -0
  1085. package/.next/standalone/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -0
  1086. package/.next/standalone/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
  1087. package/.next/standalone/.next/server/app/dashboard/settings/pricing.html +1 -0
  1088. package/.next/standalone/.next/server/app/dashboard/settings/pricing.meta +17 -0
  1089. package/.next/standalone/.next/server/app/dashboard/settings/pricing.rsc +24 -0
  1090. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +24 -0
  1091. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +6 -0
  1092. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +8 -0
  1093. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +4 -0
  1094. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +9 -0
  1095. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +5 -0
  1096. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +5 -0
  1097. package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +5 -0
  1098. package/.next/standalone/.next/server/app/dashboard/translator.html +1 -0
  1099. package/.next/standalone/.next/server/app/dashboard/translator.meta +17 -0
  1100. package/.next/standalone/.next/server/app/dashboard/translator.rsc +26 -0
  1101. package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +9 -0
  1102. package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +5 -0
  1103. package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1104. package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1105. package/.next/standalone/.next/server/app/dashboard/translator.segments/_full.segment.rsc +26 -0
  1106. package/.next/standalone/.next/server/app/dashboard/translator.segments/_head.segment.rsc +6 -0
  1107. package/.next/standalone/.next/server/app/dashboard/translator.segments/_index.segment.rsc +8 -0
  1108. package/.next/standalone/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +5 -0
  1109. package/.next/standalone/.next/server/app/dashboard/usage.html +1 -0
  1110. package/.next/standalone/.next/server/app/dashboard/usage.meta +17 -0
  1111. package/.next/standalone/.next/server/app/dashboard/usage.rsc +26 -0
  1112. package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +9 -0
  1113. package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +5 -0
  1114. package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1115. package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1116. package/.next/standalone/.next/server/app/dashboard/usage.segments/_full.segment.rsc +26 -0
  1117. package/.next/standalone/.next/server/app/dashboard/usage.segments/_head.segment.rsc +6 -0
  1118. package/.next/standalone/.next/server/app/dashboard/usage.segments/_index.segment.rsc +8 -0
  1119. package/.next/standalone/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +5 -0
  1120. package/.next/standalone/.next/server/app/dashboard.html +1 -0
  1121. package/.next/standalone/.next/server/app/dashboard.meta +16 -0
  1122. package/.next/standalone/.next/server/app/dashboard.rsc +24 -0
  1123. package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +6 -0
  1124. package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  1125. package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  1126. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +24 -0
  1127. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +6 -0
  1128. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +8 -0
  1129. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +5 -0
  1130. package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -0
  1131. package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  1132. package/.next/standalone/.next/server/app/favicon.ico.body +0 -0
  1133. package/.next/standalone/.next/server/app/favicon.ico.meta +1 -0
  1134. package/.next/standalone/.next/server/app/index.html +1 -0
  1135. package/.next/standalone/.next/server/app/index.meta +16 -0
  1136. package/.next/standalone/.next/server/app/index.rsc +19 -0
  1137. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -0
  1138. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +19 -0
  1139. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +6 -0
  1140. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +8 -0
  1141. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +4 -0
  1142. package/.next/standalone/.next/server/app/landing/page.js +2 -0
  1143. package/.next/standalone/.next/server/app/landing/page.js.nft.json +1 -0
  1144. package/.next/standalone/.next/server/app/landing/page_client-reference-manifest.js +1 -0
  1145. package/.next/standalone/.next/server/app/landing.html +1 -0
  1146. package/.next/standalone/.next/server/app/landing.meta +15 -0
  1147. package/.next/standalone/.next/server/app/landing.rsc +24 -0
  1148. package/.next/standalone/.next/server/app/landing.segments/_full.segment.rsc +24 -0
  1149. package/.next/standalone/.next/server/app/landing.segments/_head.segment.rsc +6 -0
  1150. package/.next/standalone/.next/server/app/landing.segments/_index.segment.rsc +8 -0
  1151. package/.next/standalone/.next/server/app/landing.segments/_tree.segment.rsc +4 -0
  1152. package/.next/standalone/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +9 -0
  1153. package/.next/standalone/.next/server/app/landing.segments/landing.segment.rsc +5 -0
  1154. package/.next/standalone/.next/server/app/login/page.js +2 -0
  1155. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -0
  1156. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -0
  1157. package/.next/standalone/.next/server/app/login.html +1 -0
  1158. package/.next/standalone/.next/server/app/login.meta +15 -0
  1159. package/.next/standalone/.next/server/app/login.rsc +25 -0
  1160. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +25 -0
  1161. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +6 -0
  1162. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +8 -0
  1163. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +5 -0
  1164. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +10 -0
  1165. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +5 -0
  1166. package/.next/standalone/.next/server/app/manifest.webmanifest/route.js +16 -0
  1167. package/.next/standalone/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  1168. package/.next/standalone/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  1169. package/.next/standalone/.next/server/app/manifest.webmanifest.body +1 -0
  1170. package/.next/standalone/.next/server/app/manifest.webmanifest.meta +1 -0
  1171. package/.next/standalone/.next/server/app/page.js +2 -0
  1172. package/.next/standalone/.next/server/app/page.js.nft.json +1 -0
  1173. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -0
  1174. package/.next/standalone/.next/server/app-paths-manifest.json +104 -0
  1175. package/.next/standalone/.next/server/chunks/1130.js +1 -0
  1176. package/.next/standalone/.next/server/chunks/1220.js +3 -0
  1177. package/.next/standalone/.next/server/chunks/1424.js +1 -0
  1178. package/.next/standalone/.next/server/chunks/1705.js +1 -0
  1179. package/.next/standalone/.next/server/chunks/1813.js +1 -0
  1180. package/.next/standalone/.next/server/chunks/241.js +1 -0
  1181. package/.next/standalone/.next/server/chunks/2417.js +1 -0
  1182. package/.next/standalone/.next/server/chunks/289.js +1 -0
  1183. package/.next/standalone/.next/server/chunks/318.js +164 -0
  1184. package/.next/standalone/.next/server/chunks/3245.js +1 -0
  1185. package/.next/standalone/.next/server/chunks/3832.js +1 -0
  1186. package/.next/standalone/.next/server/chunks/412.js +7 -0
  1187. package/.next/standalone/.next/server/chunks/4124.js +1 -0
  1188. package/.next/standalone/.next/server/chunks/4642.js +1 -0
  1189. package/.next/standalone/.next/server/chunks/4689.js +1 -0
  1190. package/.next/standalone/.next/server/chunks/4741.js +18 -0
  1191. package/.next/standalone/.next/server/chunks/4755.js +1 -0
  1192. package/.next/standalone/.next/server/chunks/4989.js +2 -0
  1193. package/.next/standalone/.next/server/chunks/5270.js +1 -0
  1194. package/.next/standalone/.next/server/chunks/5296.js +1 -0
  1195. package/.next/standalone/.next/server/chunks/5297.js +1 -0
  1196. package/.next/standalone/.next/server/chunks/5573.js +1 -0
  1197. package/.next/standalone/.next/server/chunks/6108.js +1 -0
  1198. package/.next/standalone/.next/server/chunks/6182.js +5 -0
  1199. package/.next/standalone/.next/server/chunks/63.js +45 -0
  1200. package/.next/standalone/.next/server/chunks/6446.js +1 -0
  1201. package/.next/standalone/.next/server/chunks/649.js +15 -0
  1202. package/.next/standalone/.next/server/chunks/6649.js +1 -0
  1203. package/.next/standalone/.next/server/chunks/6844.js +1 -0
  1204. package/.next/standalone/.next/server/chunks/7341.js +1 -0
  1205. package/.next/standalone/.next/server/chunks/7774.js +120 -0
  1206. package/.next/standalone/.next/server/chunks/7861.js +1 -0
  1207. package/.next/standalone/.next/server/chunks/7890.js +3 -0
  1208. package/.next/standalone/.next/server/chunks/7898.js +1 -0
  1209. package/.next/standalone/.next/server/chunks/7924.js +1 -0
  1210. package/.next/standalone/.next/server/chunks/8332.js +1 -0
  1211. package/.next/standalone/.next/server/chunks/8895.js +4 -0
  1212. package/.next/standalone/.next/server/chunks/9201.js +1 -0
  1213. package/.next/standalone/.next/server/chunks/9609.js +1 -0
  1214. package/.next/standalone/.next/server/chunks/9713.js +1 -0
  1215. package/.next/standalone/.next/server/chunks/9718.js +1 -0
  1216. package/.next/standalone/.next/server/functions-config-manifest.json +18 -0
  1217. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -0
  1218. package/.next/standalone/.next/server/middleware-manifest.json +6 -0
  1219. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -0
  1220. package/.next/standalone/.next/server/middleware.js +56 -0
  1221. package/.next/standalone/.next/server/next-font-manifest.js +1 -0
  1222. package/.next/standalone/.next/server/next-font-manifest.json +1 -0
  1223. package/.next/standalone/.next/server/pages/404.html +1 -0
  1224. package/.next/standalone/.next/server/pages/500.html +1 -0
  1225. package/.next/standalone/.next/server/pages-manifest.json +4 -0
  1226. package/.next/standalone/.next/server/prefetch-hints.json +1 -0
  1227. package/.next/standalone/.next/server/server-reference-manifest.js +1 -0
  1228. package/.next/standalone/.next/server/server-reference-manifest.json +1 -0
  1229. package/.next/standalone/.next/server/webpack-runtime.js +1 -0
  1230. package/.next/standalone/package.json +68 -0
  1231. package/.next/standalone/server.js +38 -0
  1232. package/.next/standalone/src/mitm/server.js +233 -0
  1233. package/.next/standalone/src/shared/utils/apiKey.js +98 -0
  1234. package/.next/static/2ZXkRcWLgj32_7M6Za4Gl/_buildManifest.js +1 -0
  1235. package/.next/static/2ZXkRcWLgj32_7M6Za4Gl/_ssgManifest.js +1 -0
  1236. package/.next/static/chunks/123-2df5178dd6863198.js +1 -0
  1237. package/.next/static/chunks/1a258343-4af2572c60ed5a11.js +1 -0
  1238. package/.next/static/chunks/2652-9390de91ba4d998f.js +1 -0
  1239. package/.next/static/chunks/3794-123fdf632563f469.js +32 -0
  1240. package/.next/static/chunks/4007-4208afb61e702563.js +3 -0
  1241. package/.next/static/chunks/4bd1b696-e356ca5ba0218e27.js +1 -0
  1242. package/.next/static/chunks/5497-b4d17d3cec4555c6.js +7 -0
  1243. package/.next/static/chunks/5772-81f907ca6ec17897.js +3 -0
  1244. package/.next/static/chunks/8202.1ffc6ce531e066ce.js +1 -0
  1245. package/.next/static/chunks/9242-f68cd69d27fb178b.js +15 -0
  1246. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-36c60da33f0ce9c4.js +1 -0
  1247. package/.next/static/chunks/app/(dashboard)/dashboard/combos/page-4bdb0cadb949e4c1.js +1 -0
  1248. package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-361c438ee7bf7fe0.js +1 -0
  1249. package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-e8a8912b2e1c9349.js +1 -0
  1250. package/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-89d121ff185bee59.js +1 -0
  1251. package/.next/static/chunks/app/(dashboard)/dashboard/page-1daa9c7d16bfa9fc.js +1 -0
  1252. package/.next/static/chunks/app/(dashboard)/dashboard/profile/page-7c0d1d4d4402ec80.js +1 -0
  1253. package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-c3d0d307be6d0e43.js +1 -0
  1254. package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-893168550a4af7e2.js +1 -0
  1255. package/.next/static/chunks/app/(dashboard)/dashboard/providers/page-4db55fc79a3b45eb.js +1 -0
  1256. package/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-d19487b5634c925f.js +2 -0
  1257. package/.next/static/chunks/app/(dashboard)/dashboard/quota/page-283b404ae2c56609.js +1 -0
  1258. package/.next/static/chunks/app/(dashboard)/dashboard/translator/page-05a40a08f82c93d8.js +1 -0
  1259. package/.next/static/chunks/app/(dashboard)/dashboard/usage/page-1374719e2cd7805e.js +1 -0
  1260. package/.next/static/chunks/app/(dashboard)/layout-7b5c73fdeec705a5.js +1 -0
  1261. package/.next/static/chunks/app/_global-error/page-5e254d0ad05b8e8a.js +1 -0
  1262. package/.next/static/chunks/app/_not-found/page-89be6743514e5f9f.js +1 -0
  1263. package/.next/static/chunks/app/api/auth/login/route-5e254d0ad05b8e8a.js +1 -0
  1264. package/.next/static/chunks/app/api/auth/logout/route-5e254d0ad05b8e8a.js +1 -0
  1265. package/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-5e254d0ad05b8e8a.js +1 -0
  1266. package/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-5e254d0ad05b8e8a.js +1 -0
  1267. package/.next/static/chunks/app/api/cli-tools/claude-settings/route-5e254d0ad05b8e8a.js +1 -0
  1268. package/.next/static/chunks/app/api/cli-tools/codex-settings/route-5e254d0ad05b8e8a.js +1 -0
  1269. package/.next/static/chunks/app/api/cli-tools/copilot-settings/route-5e254d0ad05b8e8a.js +1 -0
  1270. package/.next/static/chunks/app/api/cli-tools/droid-settings/route-5e254d0ad05b8e8a.js +1 -0
  1271. package/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-5e254d0ad05b8e8a.js +1 -0
  1272. package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-5e254d0ad05b8e8a.js +1 -0
  1273. package/.next/static/chunks/app/api/cloud/auth/route-5e254d0ad05b8e8a.js +1 -0
  1274. package/.next/static/chunks/app/api/cloud/credentials/update/route-5e254d0ad05b8e8a.js +1 -0
  1275. package/.next/static/chunks/app/api/cloud/model/resolve/route-5e254d0ad05b8e8a.js +1 -0
  1276. package/.next/static/chunks/app/api/cloud/models/alias/route-5e254d0ad05b8e8a.js +1 -0
  1277. package/.next/static/chunks/app/api/combos/[id]/route-5e254d0ad05b8e8a.js +1 -0
  1278. package/.next/static/chunks/app/api/combos/route-5e254d0ad05b8e8a.js +1 -0
  1279. package/.next/static/chunks/app/api/init/route-5e254d0ad05b8e8a.js +1 -0
  1280. package/.next/static/chunks/app/api/keys/[id]/route-5e254d0ad05b8e8a.js +1 -0
  1281. package/.next/static/chunks/app/api/keys/route-5e254d0ad05b8e8a.js +1 -0
  1282. package/.next/static/chunks/app/api/locale/route-5e254d0ad05b8e8a.js +1 -0
  1283. package/.next/static/chunks/app/api/models/alias/route-5e254d0ad05b8e8a.js +1 -0
  1284. package/.next/static/chunks/app/api/models/availability/route-5e254d0ad05b8e8a.js +1 -0
  1285. package/.next/static/chunks/app/api/models/route-5e254d0ad05b8e8a.js +1 -0
  1286. package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-5e254d0ad05b8e8a.js +1 -0
  1287. package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-5e254d0ad05b8e8a.js +1 -0
  1288. package/.next/static/chunks/app/api/oauth/cursor/import/route-5e254d0ad05b8e8a.js +1 -0
  1289. package/.next/static/chunks/app/api/oauth/iflow/cookie/route-5e254d0ad05b8e8a.js +1 -0
  1290. package/.next/static/chunks/app/api/oauth/kiro/auto-import/route-5e254d0ad05b8e8a.js +1 -0
  1291. package/.next/static/chunks/app/api/oauth/kiro/import/route-5e254d0ad05b8e8a.js +1 -0
  1292. package/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-5e254d0ad05b8e8a.js +1 -0
  1293. package/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-5e254d0ad05b8e8a.js +1 -0
  1294. package/.next/static/chunks/app/api/pricing/route-5e254d0ad05b8e8a.js +1 -0
  1295. package/.next/static/chunks/app/api/provider-nodes/[id]/route-5e254d0ad05b8e8a.js +1 -0
  1296. package/.next/static/chunks/app/api/provider-nodes/route-5e254d0ad05b8e8a.js +1 -0
  1297. package/.next/static/chunks/app/api/provider-nodes/validate/route-5e254d0ad05b8e8a.js +1 -0
  1298. package/.next/static/chunks/app/api/providers/[id]/models/route-5e254d0ad05b8e8a.js +1 -0
  1299. package/.next/static/chunks/app/api/providers/[id]/route-5e254d0ad05b8e8a.js +1 -0
  1300. package/.next/static/chunks/app/api/providers/[id]/test-models/route-5e254d0ad05b8e8a.js +1 -0
  1301. package/.next/static/chunks/app/api/providers/client/route-5e254d0ad05b8e8a.js +1 -0
  1302. package/.next/static/chunks/app/api/providers/route-5e254d0ad05b8e8a.js +1 -0
  1303. package/.next/static/chunks/app/api/providers/test-batch/route-5e254d0ad05b8e8a.js +1 -0
  1304. package/.next/static/chunks/app/api/providers/validate/route-5e254d0ad05b8e8a.js +1 -0
  1305. package/.next/static/chunks/app/api/proxy-pools/[id]/route-5e254d0ad05b8e8a.js +1 -0
  1306. package/.next/static/chunks/app/api/proxy-pools/route-5e254d0ad05b8e8a.js +1 -0
  1307. package/.next/static/chunks/app/api/settings/database/route-5e254d0ad05b8e8a.js +1 -0
  1308. package/.next/static/chunks/app/api/settings/proxy-test/route-5e254d0ad05b8e8a.js +1 -0
  1309. package/.next/static/chunks/app/api/settings/require-login/route-5e254d0ad05b8e8a.js +1 -0
  1310. package/.next/static/chunks/app/api/settings/route-5e254d0ad05b8e8a.js +1 -0
  1311. package/.next/static/chunks/app/api/shutdown/route-5e254d0ad05b8e8a.js +1 -0
  1312. package/.next/static/chunks/app/api/tags/route-5e254d0ad05b8e8a.js +1 -0
  1313. package/.next/static/chunks/app/api/translator/console-logs/route-5e254d0ad05b8e8a.js +1 -0
  1314. package/.next/static/chunks/app/api/translator/console-logs/stream/route-5e254d0ad05b8e8a.js +1 -0
  1315. package/.next/static/chunks/app/api/translator/load/route-5e254d0ad05b8e8a.js +1 -0
  1316. package/.next/static/chunks/app/api/translator/save/route-5e254d0ad05b8e8a.js +1 -0
  1317. package/.next/static/chunks/app/api/translator/send/route-5e254d0ad05b8e8a.js +1 -0
  1318. package/.next/static/chunks/app/api/translator/translate/route-5e254d0ad05b8e8a.js +1 -0
  1319. package/.next/static/chunks/app/api/tunnel/disable/route-5e254d0ad05b8e8a.js +1 -0
  1320. package/.next/static/chunks/app/api/tunnel/enable/route-5e254d0ad05b8e8a.js +1 -0
  1321. package/.next/static/chunks/app/api/tunnel/status/route-5e254d0ad05b8e8a.js +1 -0
  1322. package/.next/static/chunks/app/api/usage/[connectionId]/route-5e254d0ad05b8e8a.js +1 -0
  1323. package/.next/static/chunks/app/api/usage/chart/route-5e254d0ad05b8e8a.js +1 -0
  1324. package/.next/static/chunks/app/api/usage/history/route-5e254d0ad05b8e8a.js +1 -0
  1325. package/.next/static/chunks/app/api/usage/providers/route-5e254d0ad05b8e8a.js +1 -0
  1326. package/.next/static/chunks/app/api/usage/request-details/route-5e254d0ad05b8e8a.js +1 -0
  1327. package/.next/static/chunks/app/api/usage/request-logs/route-5e254d0ad05b8e8a.js +1 -0
  1328. package/.next/static/chunks/app/api/usage/stats/route-5e254d0ad05b8e8a.js +1 -0
  1329. package/.next/static/chunks/app/api/usage/stream/route-5e254d0ad05b8e8a.js +1 -0
  1330. package/.next/static/chunks/app/api/v1/api/chat/route-5e254d0ad05b8e8a.js +1 -0
  1331. package/.next/static/chunks/app/api/v1/chat/completions/route-5e254d0ad05b8e8a.js +1 -0
  1332. package/.next/static/chunks/app/api/v1/embeddings/route-5e254d0ad05b8e8a.js +1 -0
  1333. package/.next/static/chunks/app/api/v1/messages/count_tokens/route-5e254d0ad05b8e8a.js +1 -0
  1334. package/.next/static/chunks/app/api/v1/messages/route-5e254d0ad05b8e8a.js +1 -0
  1335. package/.next/static/chunks/app/api/v1/models/route-5e254d0ad05b8e8a.js +1 -0
  1336. package/.next/static/chunks/app/api/v1/responses/route-5e254d0ad05b8e8a.js +1 -0
  1337. package/.next/static/chunks/app/api/v1/route-5e254d0ad05b8e8a.js +1 -0
  1338. package/.next/static/chunks/app/api/v1beta/models/[...path]/route-5e254d0ad05b8e8a.js +1 -0
  1339. package/.next/static/chunks/app/api/v1beta/models/route-5e254d0ad05b8e8a.js +1 -0
  1340. package/.next/static/chunks/app/api/version/route-5e254d0ad05b8e8a.js +1 -0
  1341. package/.next/static/chunks/app/callback/page-e98c5f2afe1b798f.js +1 -0
  1342. package/.next/static/chunks/app/dashboard/settings/pricing/page-4c6fd0ccbb51bb83.js +1 -0
  1343. package/.next/static/chunks/app/landing/page-9b546784307784bd.js +1 -0
  1344. package/.next/static/chunks/app/layout-57aeb5f3175a0cc5.js +1 -0
  1345. package/.next/static/chunks/app/login/page-008d17f2ddd1c0e0.js +1 -0
  1346. package/.next/static/chunks/app/manifest.webmanifest/route-5e254d0ad05b8e8a.js +1 -0
  1347. package/.next/static/chunks/app/page-5e254d0ad05b8e8a.js +1 -0
  1348. package/.next/static/chunks/framework-711ef29bc66f648c.js +1 -0
  1349. package/.next/static/chunks/main-414816c17bbd344f.js +5 -0
  1350. package/.next/static/chunks/main-app-bdbe0c27f86d4694.js +1 -0
  1351. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  1352. package/.next/static/chunks/webpack-819d2440cd722d0f.js +1 -0
  1353. package/.next/static/css/4a48b8c90d7cf506.css +3 -0
  1354. package/.next/static/css/599369d853c61df7.css +31 -0
  1355. package/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  1356. package/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  1357. package/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  1358. package/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  1359. package/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  1360. package/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  1361. package/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  1362. package/.next/trace +8 -0
  1363. package/.next/trace-build +1 -0
  1364. package/.next/types/app/(dashboard)/dashboard/cli-tools/page.ts +87 -0
  1365. package/.next/types/app/(dashboard)/dashboard/combos/page.ts +87 -0
  1366. package/.next/types/app/(dashboard)/dashboard/console-log/page.ts +87 -0
  1367. package/.next/types/app/(dashboard)/dashboard/endpoint/page.ts +87 -0
  1368. package/.next/types/app/(dashboard)/dashboard/mitm/page.ts +87 -0
  1369. package/.next/types/app/(dashboard)/dashboard/page.ts +87 -0
  1370. package/.next/types/app/(dashboard)/dashboard/profile/page.ts +87 -0
  1371. package/.next/types/app/(dashboard)/dashboard/providers/[id]/page.ts +87 -0
  1372. package/.next/types/app/(dashboard)/dashboard/providers/new/page.ts +87 -0
  1373. package/.next/types/app/(dashboard)/dashboard/providers/page.ts +87 -0
  1374. package/.next/types/app/(dashboard)/dashboard/proxy-pools/page.ts +87 -0
  1375. package/.next/types/app/(dashboard)/dashboard/quota/page.ts +87 -0
  1376. package/.next/types/app/(dashboard)/dashboard/translator/page.ts +87 -0
  1377. package/.next/types/app/(dashboard)/dashboard/usage/page.ts +87 -0
  1378. package/.next/types/app/api/auth/login/route.ts +351 -0
  1379. package/.next/types/app/api/auth/logout/route.ts +351 -0
  1380. package/.next/types/app/api/cli-tools/antigravity-mitm/alias/route.ts +351 -0
  1381. package/.next/types/app/api/cli-tools/antigravity-mitm/route.ts +351 -0
  1382. package/.next/types/app/api/cli-tools/claude-settings/route.ts +351 -0
  1383. package/.next/types/app/api/cli-tools/codex-settings/route.ts +351 -0
  1384. package/.next/types/app/api/cli-tools/copilot-settings/route.ts +351 -0
  1385. package/.next/types/app/api/cli-tools/droid-settings/route.ts +351 -0
  1386. package/.next/types/app/api/cli-tools/openclaw-settings/route.ts +351 -0
  1387. package/.next/types/app/api/cli-tools/opencode-settings/route.ts +351 -0
  1388. package/.next/types/app/api/cloud/auth/route.ts +351 -0
  1389. package/.next/types/app/api/cloud/credentials/update/route.ts +351 -0
  1390. package/.next/types/app/api/cloud/model/resolve/route.ts +351 -0
  1391. package/.next/types/app/api/cloud/models/alias/route.ts +351 -0
  1392. package/.next/types/app/api/combos/[id]/route.ts +351 -0
  1393. package/.next/types/app/api/combos/route.ts +351 -0
  1394. package/.next/types/app/api/init/route.ts +351 -0
  1395. package/.next/types/app/api/keys/[id]/route.ts +351 -0
  1396. package/.next/types/app/api/keys/route.ts +351 -0
  1397. package/.next/types/app/api/locale/route.ts +351 -0
  1398. package/.next/types/app/api/models/alias/route.ts +351 -0
  1399. package/.next/types/app/api/models/availability/route.ts +351 -0
  1400. package/.next/types/app/api/models/route.ts +351 -0
  1401. package/.next/types/app/api/oauth/[provider]/[action]/route.ts +351 -0
  1402. package/.next/types/app/api/oauth/cursor/auto-import/route.ts +351 -0
  1403. package/.next/types/app/api/oauth/cursor/import/route.ts +351 -0
  1404. package/.next/types/app/api/oauth/iflow/cookie/route.ts +351 -0
  1405. package/.next/types/app/api/oauth/kiro/auto-import/route.ts +351 -0
  1406. package/.next/types/app/api/oauth/kiro/import/route.ts +351 -0
  1407. package/.next/types/app/api/oauth/kiro/social-authorize/route.ts +351 -0
  1408. package/.next/types/app/api/oauth/kiro/social-exchange/route.ts +351 -0
  1409. package/.next/types/app/api/pricing/route.ts +351 -0
  1410. package/.next/types/app/api/provider-nodes/[id]/route.ts +351 -0
  1411. package/.next/types/app/api/provider-nodes/route.ts +351 -0
  1412. package/.next/types/app/api/provider-nodes/validate/route.ts +351 -0
  1413. package/.next/types/app/api/providers/[id]/models/route.ts +351 -0
  1414. package/.next/types/app/api/providers/[id]/route.ts +351 -0
  1415. package/.next/types/app/api/providers/[id]/test-models/route.ts +351 -0
  1416. package/.next/types/app/api/providers/client/route.ts +351 -0
  1417. package/.next/types/app/api/providers/route.ts +351 -0
  1418. package/.next/types/app/api/providers/test-batch/route.ts +351 -0
  1419. package/.next/types/app/api/providers/validate/route.ts +351 -0
  1420. package/.next/types/app/api/proxy-pools/[id]/route.ts +351 -0
  1421. package/.next/types/app/api/proxy-pools/route.ts +351 -0
  1422. package/.next/types/app/api/settings/database/route.ts +351 -0
  1423. package/.next/types/app/api/settings/proxy-test/route.ts +351 -0
  1424. package/.next/types/app/api/settings/require-login/route.ts +351 -0
  1425. package/.next/types/app/api/settings/route.ts +351 -0
  1426. package/.next/types/app/api/shutdown/route.ts +351 -0
  1427. package/.next/types/app/api/tags/route.ts +351 -0
  1428. package/.next/types/app/api/translator/console-logs/route.ts +351 -0
  1429. package/.next/types/app/api/translator/console-logs/stream/route.ts +351 -0
  1430. package/.next/types/app/api/translator/load/route.ts +351 -0
  1431. package/.next/types/app/api/translator/save/route.ts +351 -0
  1432. package/.next/types/app/api/translator/send/route.ts +351 -0
  1433. package/.next/types/app/api/translator/translate/route.ts +351 -0
  1434. package/.next/types/app/api/tunnel/disable/route.ts +351 -0
  1435. package/.next/types/app/api/tunnel/enable/route.ts +351 -0
  1436. package/.next/types/app/api/tunnel/status/route.ts +351 -0
  1437. package/.next/types/app/api/usage/[connectionId]/route.ts +351 -0
  1438. package/.next/types/app/api/usage/chart/route.ts +351 -0
  1439. package/.next/types/app/api/usage/history/route.ts +351 -0
  1440. package/.next/types/app/api/usage/providers/route.ts +351 -0
  1441. package/.next/types/app/api/usage/request-details/route.ts +351 -0
  1442. package/.next/types/app/api/usage/request-logs/route.ts +351 -0
  1443. package/.next/types/app/api/usage/stats/route.ts +351 -0
  1444. package/.next/types/app/api/usage/stream/route.ts +351 -0
  1445. package/.next/types/app/api/v1/api/chat/route.ts +351 -0
  1446. package/.next/types/app/api/v1/chat/completions/route.ts +351 -0
  1447. package/.next/types/app/api/v1/embeddings/route.ts +351 -0
  1448. package/.next/types/app/api/v1/messages/count_tokens/route.ts +351 -0
  1449. package/.next/types/app/api/v1/messages/route.ts +351 -0
  1450. package/.next/types/app/api/v1/models/route.ts +351 -0
  1451. package/.next/types/app/api/v1/responses/route.ts +351 -0
  1452. package/.next/types/app/api/v1/route.ts +351 -0
  1453. package/.next/types/app/api/v1beta/models/[...path]/route.ts +351 -0
  1454. package/.next/types/app/api/v1beta/models/route.ts +351 -0
  1455. package/.next/types/app/api/version/route.ts +351 -0
  1456. package/.next/types/app/callback/page.ts +87 -0
  1457. package/.next/types/app/dashboard/settings/pricing/page.ts +87 -0
  1458. package/.next/types/app/landing/page.ts +87 -0
  1459. package/.next/types/app/login/page.ts +87 -0
  1460. package/.next/types/app/page.ts +87 -0
  1461. package/.next/types/package.json +1 -0
  1462. package/.next/types/routes.d.ts +156 -0
  1463. package/.next/types/validator.ts +17 -0
  1464. package/LICENSE +21 -0
  1465. package/cloud/README.md +25 -0
  1466. package/cloud/migrations/0001_init.sql +9 -0
  1467. package/cloud/package.json +17 -0
  1468. package/cloud/src/handlers/cache.js +37 -0
  1469. package/cloud/src/handlers/chat.js +305 -0
  1470. package/cloud/src/handlers/cleanup.js +34 -0
  1471. package/cloud/src/handlers/countTokens.js +46 -0
  1472. package/cloud/src/handlers/embeddings.js +285 -0
  1473. package/cloud/src/handlers/forward.js +75 -0
  1474. package/cloud/src/handlers/forwardRaw.js +173 -0
  1475. package/cloud/src/handlers/sync.js +227 -0
  1476. package/cloud/src/handlers/verify.js +60 -0
  1477. package/cloud/src/index.js +233 -0
  1478. package/cloud/src/services/landingPage.js +27 -0
  1479. package/cloud/src/services/storage.js +88 -0
  1480. package/cloud/src/services/tokenRefresh.js +11 -0
  1481. package/cloud/src/stubs/usageDb.js +8 -0
  1482. package/cloud/src/utils/apiKey.js +72 -0
  1483. package/cloud/src/utils/logger.js +84 -0
  1484. package/cloud/wrangler.toml +17 -0
  1485. package/open-sse/config/appConstants.js +130 -0
  1486. package/open-sse/config/codexInstructions.js +120 -0
  1487. package/open-sse/config/constants.js +4 -0
  1488. package/open-sse/config/defaultThinkingSignature.js +7 -0
  1489. package/open-sse/config/ollamaModels.js +19 -0
  1490. package/open-sse/config/providerModels.js +390 -0
  1491. package/open-sse/config/providers.js +313 -0
  1492. package/open-sse/config/runtimeConfig.js +92 -0
  1493. package/open-sse/executors/antigravity.js +261 -0
  1494. package/open-sse/executors/base.js +130 -0
  1495. package/open-sse/executors/codex.js +108 -0
  1496. package/open-sse/executors/cursor.js +742 -0
  1497. package/open-sse/executors/default.js +213 -0
  1498. package/open-sse/executors/gemini-cli.js +67 -0
  1499. package/open-sse/executors/github.js +305 -0
  1500. package/open-sse/executors/iflow.js +104 -0
  1501. package/open-sse/executors/index.js +45 -0
  1502. package/open-sse/executors/kiro.js +448 -0
  1503. package/open-sse/executors/vertex.js +120 -0
  1504. package/open-sse/handlers/chatCore/nonStreamingHandler.js +204 -0
  1505. package/open-sse/handlers/chatCore/requestDetail.js +102 -0
  1506. package/open-sse/handlers/chatCore/sseToJsonHandler.js +161 -0
  1507. package/open-sse/handlers/chatCore/streamingHandler.js +99 -0
  1508. package/open-sse/handlers/chatCore.js +213 -0
  1509. package/open-sse/handlers/embeddingsCore.js +302 -0
  1510. package/open-sse/handlers/responsesHandler.js +103 -0
  1511. package/open-sse/index.js +74 -0
  1512. package/open-sse/services/accountFallback.js +251 -0
  1513. package/open-sse/services/combo.js +111 -0
  1514. package/open-sse/services/compact.js +71 -0
  1515. package/open-sse/services/model.js +169 -0
  1516. package/open-sse/services/projectId.js +307 -0
  1517. package/open-sse/services/provider.js +356 -0
  1518. package/open-sse/services/tokenRefresh.js +731 -0
  1519. package/open-sse/services/usage.js +708 -0
  1520. package/open-sse/transformer/responsesTransformer.js +439 -0
  1521. package/open-sse/transformer/streamToJsonConverter.js +103 -0
  1522. package/open-sse/translator/formats.js +31 -0
  1523. package/open-sse/translator/helpers/claudeHelper.js +198 -0
  1524. package/open-sse/translator/helpers/geminiHelper.js +337 -0
  1525. package/open-sse/translator/helpers/maxTokensHelper.js +25 -0
  1526. package/open-sse/translator/helpers/openaiHelper.js +127 -0
  1527. package/open-sse/translator/helpers/responsesApiHelper.js +129 -0
  1528. package/open-sse/translator/helpers/toolCallHelper.js +111 -0
  1529. package/open-sse/translator/index.js +204 -0
  1530. package/open-sse/translator/request/antigravity-to-openai.js +223 -0
  1531. package/open-sse/translator/request/claude-to-openai.js +232 -0
  1532. package/open-sse/translator/request/gemini-to-openai.js +147 -0
  1533. package/open-sse/translator/request/openai-responses.js +277 -0
  1534. package/open-sse/translator/request/openai-to-claude.js +348 -0
  1535. package/open-sse/translator/request/openai-to-cursor.js +181 -0
  1536. package/open-sse/translator/request/openai-to-gemini.js +431 -0
  1537. package/open-sse/translator/request/openai-to-kiro.js +306 -0
  1538. package/open-sse/translator/request/openai-to-kiro.old.js +278 -0
  1539. package/open-sse/translator/request/openai-to-ollama.js +159 -0
  1540. package/open-sse/translator/response/claude-to-openai.js +206 -0
  1541. package/open-sse/translator/response/cursor-to-openai.js +30 -0
  1542. package/open-sse/translator/response/gemini-to-openai.js +240 -0
  1543. package/open-sse/translator/response/kiro-to-openai.js +189 -0
  1544. package/open-sse/translator/response/ollama-to-openai.js +152 -0
  1545. package/open-sse/translator/response/openai-responses.js +571 -0
  1546. package/open-sse/translator/response/openai-to-antigravity.js +120 -0
  1547. package/open-sse/translator/response/openai-to-claude.js +223 -0
  1548. package/open-sse/utils/bypassHandler.js +298 -0
  1549. package/open-sse/utils/claudeCloaking.js +60 -0
  1550. package/open-sse/utils/cursorChecksum.js +149 -0
  1551. package/open-sse/utils/cursorProtobuf.js +904 -0
  1552. package/open-sse/utils/error.js +185 -0
  1553. package/open-sse/utils/ollamaTransform.js +85 -0
  1554. package/open-sse/utils/proxyFetch.js +258 -0
  1555. package/open-sse/utils/requestLogger.js +260 -0
  1556. package/open-sse/utils/sessionManager.js +82 -0
  1557. package/open-sse/utils/stream.js +392 -0
  1558. package/open-sse/utils/streamHandler.js +138 -0
  1559. package/open-sse/utils/streamHelpers.js +122 -0
  1560. package/open-sse/utils/usageTracking.js +325 -0
  1561. package/package.json +68 -0
  1562. package/public/favicon.svg +11 -0
  1563. package/public/file.svg +1 -0
  1564. package/public/globe.svg +1 -0
  1565. package/public/i18n/literals/ar.json +196 -0
  1566. package/public/i18n/literals/az.json +196 -0
  1567. package/public/i18n/literals/bn.json +196 -0
  1568. package/public/i18n/literals/cs.json +196 -0
  1569. package/public/i18n/literals/da.json +196 -0
  1570. package/public/i18n/literals/de.json +196 -0
  1571. package/public/i18n/literals/el.json +196 -0
  1572. package/public/i18n/literals/es.json +196 -0
  1573. package/public/i18n/literals/fi.json +196 -0
  1574. package/public/i18n/literals/fr.json +196 -0
  1575. package/public/i18n/literals/he.json +196 -0
  1576. package/public/i18n/literals/hi.json +196 -0
  1577. package/public/i18n/literals/hu.json +196 -0
  1578. package/public/i18n/literals/id.json +196 -0
  1579. package/public/i18n/literals/it.json +196 -0
  1580. package/public/i18n/literals/ja.json +196 -0
  1581. package/public/i18n/literals/ko.json +196 -0
  1582. package/public/i18n/literals/nl.json +196 -0
  1583. package/public/i18n/literals/no.json +196 -0
  1584. package/public/i18n/literals/pl.json +196 -0
  1585. package/public/i18n/literals/pt-BR.json +196 -0
  1586. package/public/i18n/literals/pt-PT.json +196 -0
  1587. package/public/i18n/literals/ro.json +196 -0
  1588. package/public/i18n/literals/ru.json +196 -0
  1589. package/public/i18n/literals/sv.json +196 -0
  1590. package/public/i18n/literals/th.json +196 -0
  1591. package/public/i18n/literals/tl.json +196 -0
  1592. package/public/i18n/literals/tr.json +196 -0
  1593. package/public/i18n/literals/uk.json +196 -0
  1594. package/public/i18n/literals/ur.json +196 -0
  1595. package/public/i18n/literals/vi.json +196 -0
  1596. package/public/i18n/literals/zh-CN.json +515 -0
  1597. package/public/i18n/literals/zh-TW.json +196 -0
  1598. package/public/icons/icon-192.svg +10 -0
  1599. package/public/icons/icon-512.svg +10 -0
  1600. package/public/next.svg +1 -0
  1601. package/public/providers/alicode-intl.png +0 -0
  1602. package/public/providers/alicode.png +0 -0
  1603. package/public/providers/anthropic-m.png +0 -0
  1604. package/public/providers/anthropic.png +0 -0
  1605. package/public/providers/antigravity.png +0 -0
  1606. package/public/providers/cerebras.png +0 -0
  1607. package/public/providers/chutes.png +0 -0
  1608. package/public/providers/claude.png +0 -0
  1609. package/public/providers/cline.png +0 -0
  1610. package/public/providers/codex.png +0 -0
  1611. package/public/providers/cohere.png +0 -0
  1612. package/public/providers/continue.png +0 -0
  1613. package/public/providers/copilot.png +0 -0
  1614. package/public/providers/cursor.png +0 -0
  1615. package/public/providers/deepseek.png +0 -0
  1616. package/public/providers/droid.png +0 -0
  1617. package/public/providers/fireworks.png +0 -0
  1618. package/public/providers/gemini-cli.png +0 -0
  1619. package/public/providers/gemini.png +0 -0
  1620. package/public/providers/github.png +0 -0
  1621. package/public/providers/glm-cn.png +0 -0
  1622. package/public/providers/glm.png +0 -0
  1623. package/public/providers/groq.png +0 -0
  1624. package/public/providers/iflow.png +0 -0
  1625. package/public/providers/kilocode.png +0 -0
  1626. package/public/providers/kimi-coding.png +0 -0
  1627. package/public/providers/kimi.png +0 -0
  1628. package/public/providers/kiro.png +0 -0
  1629. package/public/providers/minimax-cn.png +0 -0
  1630. package/public/providers/minimax.png +0 -0
  1631. package/public/providers/mistral.png +0 -0
  1632. package/public/providers/nebius.png +0 -0
  1633. package/public/providers/nvidia.png +0 -0
  1634. package/public/providers/oai-cc.png +0 -0
  1635. package/public/providers/oai-r.png +0 -0
  1636. package/public/providers/ollama-local.png +0 -0
  1637. package/public/providers/ollama.png +0 -0
  1638. package/public/providers/openai.png +0 -0
  1639. package/public/providers/openclaw.png +0 -0
  1640. package/public/providers/opencode.png +0 -0
  1641. package/public/providers/openrouter.png +0 -0
  1642. package/public/providers/perplexity.png +0 -0
  1643. package/public/providers/qwen.png +0 -0
  1644. package/public/providers/roo.png +0 -0
  1645. package/public/providers/siliconflow.png +0 -0
  1646. package/public/providers/together.png +0 -0
  1647. package/public/providers/vertex-partner.png +0 -0
  1648. package/public/providers/vertex.png +0 -0
  1649. package/public/providers/xai.png +0 -0
  1650. package/public/sw.js +22 -0
  1651. package/public/vercel.svg +1 -0
  1652. package/public/window.svg +1 -0
  1653. package/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.js +206 -0
  1654. package/src/app/(dashboard)/dashboard/cli-tools/components/AntigravityToolCard.js +478 -0
  1655. package/src/app/(dashboard)/dashboard/cli-tools/components/ClaudeToolCard.js +388 -0
  1656. package/src/app/(dashboard)/dashboard/cli-tools/components/CodexToolCard.js +336 -0
  1657. package/src/app/(dashboard)/dashboard/cli-tools/components/CopilotToolCard.js +295 -0
  1658. package/src/app/(dashboard)/dashboard/cli-tools/components/DefaultToolCard.js +293 -0
  1659. package/src/app/(dashboard)/dashboard/cli-tools/components/DroidToolCard.js +339 -0
  1660. package/src/app/(dashboard)/dashboard/cli-tools/components/MitmServerCard.js +241 -0
  1661. package/src/app/(dashboard)/dashboard/cli-tools/components/MitmToolCard.js +299 -0
  1662. package/src/app/(dashboard)/dashboard/cli-tools/components/OpenClawToolCard.js +352 -0
  1663. package/src/app/(dashboard)/dashboard/cli-tools/components/OpenCodeToolCard.js +308 -0
  1664. package/src/app/(dashboard)/dashboard/cli-tools/components/index.js +11 -0
  1665. package/src/app/(dashboard)/dashboard/cli-tools/page.js +7 -0
  1666. package/src/app/(dashboard)/dashboard/combos/page.js +470 -0
  1667. package/src/app/(dashboard)/dashboard/console-log/ConsoleLogClient.js +91 -0
  1668. package/src/app/(dashboard)/dashboard/console-log/page.js +8 -0
  1669. package/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js +772 -0
  1670. package/src/app/(dashboard)/dashboard/endpoint/page.js +7 -0
  1671. package/src/app/(dashboard)/dashboard/mitm/MitmPageClient.js +108 -0
  1672. package/src/app/(dashboard)/dashboard/mitm/page.js +5 -0
  1673. package/src/app/(dashboard)/dashboard/page.js +7 -0
  1674. package/src/app/(dashboard)/dashboard/profile/page.js +631 -0
  1675. package/src/app/(dashboard)/dashboard/providers/[id]/page.js +2235 -0
  1676. package/src/app/(dashboard)/dashboard/providers/[id]/page.new.js +1724 -0
  1677. package/src/app/(dashboard)/dashboard/providers/components/ModelAvailabilityBadge.js +185 -0
  1678. package/src/app/(dashboard)/dashboard/providers/new/page.js +220 -0
  1679. package/src/app/(dashboard)/dashboard/providers/page.js +454 -0
  1680. package/src/app/(dashboard)/dashboard/proxy-pools/page.js +489 -0
  1681. package/src/app/(dashboard)/dashboard/quota/page.js +11 -0
  1682. package/src/app/(dashboard)/dashboard/translator/page.js +300 -0
  1683. package/src/app/(dashboard)/dashboard/usage/components/OverviewCards.js +35 -0
  1684. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/ProviderLimitCard.js +190 -0
  1685. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaProgressBar.js +127 -0
  1686. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaTable.js +160 -0
  1687. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.js +416 -0
  1688. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.js +201 -0
  1689. package/src/app/(dashboard)/dashboard/usage/components/ProviderTopology.js +266 -0
  1690. package/src/app/(dashboard)/dashboard/usage/components/RequestDetailsTab.js +425 -0
  1691. package/src/app/(dashboard)/dashboard/usage/components/UsageChart.js +141 -0
  1692. package/src/app/(dashboard)/dashboard/usage/components/UsageTable.js +247 -0
  1693. package/src/app/(dashboard)/dashboard/usage/page.js +64 -0
  1694. package/src/app/(dashboard)/layout.js +6 -0
  1695. package/src/app/api/auth/login/route.js +54 -0
  1696. package/src/app/api/auth/logout/route.js +8 -0
  1697. package/src/app/api/cli-tools/antigravity-mitm/alias/route.js +51 -0
  1698. package/src/app/api/cli-tools/antigravity-mitm/route.js +133 -0
  1699. package/src/app/api/cli-tools/claude-settings/route.js +194 -0
  1700. package/src/app/api/cli-tools/codex-settings/route.js +218 -0
  1701. package/src/app/api/cli-tools/copilot-settings/route.js +148 -0
  1702. package/src/app/api/cli-tools/droid-settings/route.js +175 -0
  1703. package/src/app/api/cli-tools/openclaw-settings/route.js +180 -0
  1704. package/src/app/api/cli-tools/opencode-settings/route.js +153 -0
  1705. package/src/app/api/cloud/auth/route.js +50 -0
  1706. package/src/app/api/cloud/credentials/update/route.js +57 -0
  1707. package/src/app/api/cloud/model/resolve/route.js +50 -0
  1708. package/src/app/api/cloud/models/alias/route.js +72 -0
  1709. package/src/app/api/combos/[id]/route.js +71 -0
  1710. package/src/app/api/combos/route.js +48 -0
  1711. package/src/app/api/init/route.js +7 -0
  1712. package/src/app/api/keys/[id]/route.js +58 -0
  1713. package/src/app/api/keys/route.js +42 -0
  1714. package/src/app/api/locale/route.js +30 -0
  1715. package/src/app/api/models/alias/route.js +53 -0
  1716. package/src/app/api/models/availability/route.js +121 -0
  1717. package/src/app/api/models/route.js +55 -0
  1718. package/src/app/api/oauth/[provider]/[action]/route.js +166 -0
  1719. package/src/app/api/oauth/cursor/auto-import/route.js +186 -0
  1720. package/src/app/api/oauth/cursor/import/route.js +100 -0
  1721. package/src/app/api/oauth/iflow/cookie/route.js +137 -0
  1722. package/src/app/api/oauth/kiro/auto-import/route.js +85 -0
  1723. package/src/app/api/oauth/kiro/import/route.js +56 -0
  1724. package/src/app/api/oauth/kiro/social-authorize/route.js +43 -0
  1725. package/src/app/api/oauth/kiro/social-exchange/route.js +67 -0
  1726. package/src/app/api/pricing/route.js +134 -0
  1727. package/src/app/api/provider-nodes/[id]/route.js +93 -0
  1728. package/src/app/api/provider-nodes/route.js +83 -0
  1729. package/src/app/api/provider-nodes/validate/route.js +171 -0
  1730. package/src/app/api/providers/[id]/models/route.js +445 -0
  1731. package/src/app/api/providers/[id]/route.js +189 -0
  1732. package/src/app/api/providers/[id]/test-models/route.js +111 -0
  1733. package/src/app/api/providers/client/route.js +20 -0
  1734. package/src/app/api/providers/route.js +186 -0
  1735. package/src/app/api/providers/test-batch/route.js +131 -0
  1736. package/src/app/api/providers/validate/route.js +255 -0
  1737. package/src/app/api/proxy-pools/[id]/route.js +118 -0
  1738. package/src/app/api/proxy-pools/route.js +90 -0
  1739. package/src/app/api/settings/database/route.js +36 -0
  1740. package/src/app/api/settings/proxy-test/route.js +23 -0
  1741. package/src/app/api/settings/require-login/route.js +12 -0
  1742. package/src/app/api/settings/route.js +74 -0
  1743. package/src/app/api/shutdown/route.js +12 -0
  1744. package/src/app/api/tags/route.js +18 -0
  1745. package/src/app/api/translator/console-logs/route.js +24 -0
  1746. package/src/app/api/translator/console-logs/stream/route.js +70 -0
  1747. package/src/app/api/translator/load/route.js +45 -0
  1748. package/src/app/api/translator/save/route.js +44 -0
  1749. package/src/app/api/translator/send/route.js +58 -0
  1750. package/src/app/api/translator/translate/route.js +90 -0
  1751. package/src/app/api/tunnel/disable/route.js +12 -0
  1752. package/src/app/api/tunnel/enable/route.js +16 -0
  1753. package/src/app/api/tunnel/status/route.js +12 -0
  1754. package/src/app/api/usage/[connectionId]/route.js +152 -0
  1755. package/src/app/api/usage/chart/route.js +21 -0
  1756. package/src/app/api/usage/history/route.js +12 -0
  1757. package/src/app/api/usage/providers/route.js +42 -0
  1758. package/src/app/api/usage/request-details/route.js +57 -0
  1759. package/src/app/api/usage/request-logs/route.js +13 -0
  1760. package/src/app/api/usage/stats/route.js +23 -0
  1761. package/src/app/api/usage/stream/route.js +81 -0
  1762. package/src/app/api/v1/api/chat/route.js +38 -0
  1763. package/src/app/api/v1/chat/completions/route.js +54 -0
  1764. package/src/app/api/v1/embeddings/route.js +21 -0
  1765. package/src/app/api/v1/messages/count_tokens/route.js +52 -0
  1766. package/src/app/api/v1/messages/route.js +37 -0
  1767. package/src/app/api/v1/models/route.js +149 -0
  1768. package/src/app/api/v1/responses/route.js +31 -0
  1769. package/src/app/api/v1/route.js +32 -0
  1770. package/src/app/api/v1beta/models/[...path]/route.js +329 -0
  1771. package/src/app/api/v1beta/models/route.js +44 -0
  1772. package/src/app/api/version/route.js +45 -0
  1773. package/src/app/callback/page.js +138 -0
  1774. package/src/app/dashboard/settings/pricing/page.js +173 -0
  1775. package/src/app/favicon.ico +0 -0
  1776. package/src/app/globals.css +219 -0
  1777. package/src/app/landing/components/AnimatedBackground.js +57 -0
  1778. package/src/app/landing/components/Features.js +133 -0
  1779. package/src/app/landing/components/FlowAnimation.js +121 -0
  1780. package/src/app/landing/components/Footer.js +61 -0
  1781. package/src/app/landing/components/GetStarted.js +99 -0
  1782. package/src/app/landing/components/HeroSection.js +47 -0
  1783. package/src/app/landing/components/HowItWorks.js +66 -0
  1784. package/src/app/landing/components/Navigation.js +72 -0
  1785. package/src/app/landing/page.js +106 -0
  1786. package/src/app/layout.js +50 -0
  1787. package/src/app/login/page.js +124 -0
  1788. package/src/app/manifest.js +30 -0
  1789. package/src/app/page.js +7 -0
  1790. package/src/dashboardGuard.js +128 -0
  1791. package/src/i18n/RuntimeI18nProvider.js +27 -0
  1792. package/src/i18n/config.js +150 -0
  1793. package/src/i18n/runtime.js +162 -0
  1794. package/src/lib/consoleLogBuffer.js +79 -0
  1795. package/src/lib/initCloudSync.js +22 -0
  1796. package/src/lib/license/manager.js +36 -0
  1797. package/src/lib/localDb.js +1138 -0
  1798. package/src/lib/network/connectionProxy.js +58 -0
  1799. package/src/lib/network/initOutboundProxy.js +22 -0
  1800. package/src/lib/network/outboundProxy.js +68 -0
  1801. package/src/lib/network/proxyTest.js +91 -0
  1802. package/src/lib/oauth/constants/oauth.js +236 -0
  1803. package/src/lib/oauth/providers.js +999 -0
  1804. package/src/lib/oauth/services/antigravity.js +325 -0
  1805. package/src/lib/oauth/services/claude.js +136 -0
  1806. package/src/lib/oauth/services/codex.js +145 -0
  1807. package/src/lib/oauth/services/cursor.js +179 -0
  1808. package/src/lib/oauth/services/gemini.js +240 -0
  1809. package/src/lib/oauth/services/github.js +225 -0
  1810. package/src/lib/oauth/services/iflow.js +202 -0
  1811. package/src/lib/oauth/services/index.js +16 -0
  1812. package/src/lib/oauth/services/kiro.js +313 -0
  1813. package/src/lib/oauth/services/oauth.js +157 -0
  1814. package/src/lib/oauth/services/openai.js +123 -0
  1815. package/src/lib/oauth/services/qwen.js +170 -0
  1816. package/src/lib/oauth/utils/banner.js +63 -0
  1817. package/src/lib/oauth/utils/pkce.js +38 -0
  1818. package/src/lib/oauth/utils/server.js +116 -0
  1819. package/src/lib/oauth/utils/ui.js +48 -0
  1820. package/src/lib/requestDetailsDb.js +278 -0
  1821. package/src/lib/tunnel/cloudflared.js +326 -0
  1822. package/src/lib/tunnel/state.js +53 -0
  1823. package/src/lib/tunnel/tunnelManager.js +169 -0
  1824. package/src/lib/usage/fetcher.js +208 -0
  1825. package/src/lib/usageDb.js +809 -0
  1826. package/src/mitm/cert/generate.js +32 -0
  1827. package/src/mitm/cert/install.js +176 -0
  1828. package/src/mitm/cert/rootCA.js +173 -0
  1829. package/src/mitm/config.js +27 -0
  1830. package/src/mitm/dns/dnsConfig.js +218 -0
  1831. package/src/mitm/handlers/antigravity.js +20 -0
  1832. package/src/mitm/handlers/base.js +50 -0
  1833. package/src/mitm/handlers/copilot.js +35 -0
  1834. package/src/mitm/handlers/cursor.js +15 -0
  1835. package/src/mitm/handlers/kiro.js +20 -0
  1836. package/src/mitm/logger.js +8 -0
  1837. package/src/mitm/manager.js +618 -0
  1838. package/src/mitm/paths.js +16 -0
  1839. package/src/mitm/server.js +233 -0
  1840. package/src/models/index.js +35 -0
  1841. package/src/proxy.js +5 -0
  1842. package/src/server-init.js +17 -0
  1843. package/src/shared/components/Avatar.js +88 -0
  1844. package/src/shared/components/Badge.js +55 -0
  1845. package/src/shared/components/Button.js +56 -0
  1846. package/src/shared/components/Card.js +122 -0
  1847. package/src/shared/components/CursorAuthModal.js +215 -0
  1848. package/src/shared/components/Drawer.js +89 -0
  1849. package/src/shared/components/Footer.js +132 -0
  1850. package/src/shared/components/Header.js +153 -0
  1851. package/src/shared/components/IFlowCookieModal.js +132 -0
  1852. package/src/shared/components/Input.js +69 -0
  1853. package/src/shared/components/KiroAuthModal.js +383 -0
  1854. package/src/shared/components/KiroOAuthWrapper.js +103 -0
  1855. package/src/shared/components/KiroSocialOAuthModal.js +205 -0
  1856. package/src/shared/components/LanguageSwitcher.js +181 -0
  1857. package/src/shared/components/Loading.js +77 -0
  1858. package/src/shared/components/ManualConfigModal.js +46 -0
  1859. package/src/shared/components/Modal.js +143 -0
  1860. package/src/shared/components/ModelSelectModal.js +356 -0
  1861. package/src/shared/components/OAuthModal.js +476 -0
  1862. package/src/shared/components/Pagination.js +146 -0
  1863. package/src/shared/components/PricingModal.js +208 -0
  1864. package/src/shared/components/RequestLogger.js +121 -0
  1865. package/src/shared/components/SegmentedControl.js +48 -0
  1866. package/src/shared/components/Select.js +70 -0
  1867. package/src/shared/components/Sidebar.js +267 -0
  1868. package/src/shared/components/ThemeProvider.js +15 -0
  1869. package/src/shared/components/ThemeToggle.js +47 -0
  1870. package/src/shared/components/Toggle.js +90 -0
  1871. package/src/shared/components/Tooltip.js +19 -0
  1872. package/src/shared/components/UsageStats.js +465 -0
  1873. package/src/shared/components/index.js +33 -0
  1874. package/src/shared/components/layouts/AuthLayout.js +29 -0
  1875. package/src/shared/components/layouts/DashboardLayout.js +102 -0
  1876. package/src/shared/components/layouts/index.js +4 -0
  1877. package/src/shared/constants/cliTools.js +249 -0
  1878. package/src/shared/constants/colors.js +77 -0
  1879. package/src/shared/constants/config.js +67 -0
  1880. package/src/shared/constants/index.js +4 -0
  1881. package/src/shared/constants/models.js +35 -0
  1882. package/src/shared/constants/pricing.js +876 -0
  1883. package/src/shared/constants/providers.js +120 -0
  1884. package/src/shared/hooks/index.js +2 -0
  1885. package/src/shared/hooks/useCopyToClipboard.js +29 -0
  1886. package/src/shared/hooks/useTheme.js +60 -0
  1887. package/src/shared/services/cloudSyncScheduler.js +122 -0
  1888. package/src/shared/services/initializeApp.js +249 -0
  1889. package/src/shared/services/initializeCloudSync.js +37 -0
  1890. package/src/shared/utils/api.js +93 -0
  1891. package/src/shared/utils/apiKey.js +98 -0
  1892. package/src/shared/utils/clineAuth.js +37 -0
  1893. package/src/shared/utils/cloud.js +40 -0
  1894. package/src/shared/utils/cn.js +11 -0
  1895. package/src/shared/utils/index.js +40 -0
  1896. package/src/shared/utils/machine.js +18 -0
  1897. package/src/shared/utils/machineId.js +60 -0
  1898. package/src/sse/handlers/chat.js +215 -0
  1899. package/src/sse/handlers/embeddings.js +142 -0
  1900. package/src/sse/services/auth.js +267 -0
  1901. package/src/sse/services/model.js +68 -0
  1902. package/src/sse/services/tokenRefresh.js +288 -0
  1903. package/src/sse/utils/logger.js +75 -0
  1904. package/src/store/index.js +6 -0
  1905. package/src/store/notificationStore.js +45 -0
  1906. package/src/store/providerStore.js +48 -0
  1907. package/src/store/themeStore.js +54 -0
  1908. package/src/store/userStore.js +20 -0
@@ -0,0 +1,809 @@
1
+ import { Low } from "lowdb";
2
+ import { JSONFile } from "lowdb/node";
3
+ import { EventEmitter } from "events";
4
+ import path from "path";
5
+ import os from "os";
6
+ import fs from "node:fs";
7
+ import { fileURLToPath } from "url";
8
+
9
+ const isCloud = typeof caches !== 'undefined' || typeof caches === 'object';
10
+
11
+ // Get app name from root package.json config
12
+ function getAppName() {
13
+ if (isCloud) return "9router"; // Skip file system access in Workers
14
+
15
+ try {
16
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
17
+ // Look for root package.json (monorepo root)
18
+ const rootPkgPath = path.resolve(__dirname, "../../../package.json");
19
+ const pkg = JSON.parse(fs.readFileSync(rootPkgPath, "utf-8"));
20
+ return pkg.config?.appName || "9router";
21
+ } catch {
22
+ return "vforclaude";
23
+ }
24
+ }
25
+
26
+ // Get user data directory based on platform
27
+ function getUserDataDir() {
28
+ if (isCloud) return "/tmp"; // Fallback for Workers
29
+
30
+ if (process.env.DATA_DIR) return process.env.DATA_DIR;
31
+
32
+ try {
33
+ const platform = process.platform;
34
+ const homeDir = os.homedir();
35
+ const appName = getAppName();
36
+
37
+ if (platform === "win32") {
38
+ return path.join(process.env.APPDATA || path.join(homeDir, "AppData", "Roaming"), appName);
39
+ } else {
40
+ // macOS & Linux: ~/.{appName}
41
+ return path.join(homeDir, `.${appName}`);
42
+ }
43
+ } catch (error) {
44
+ console.error("[usageDb] Failed to get user data directory:", error.message);
45
+ // Fallback to cwd if homedir fails
46
+ return path.join(process.cwd(), ".vforclaude");
47
+ }
48
+ }
49
+
50
+ // Data file path - stored in user home directory
51
+ const DATA_DIR = getUserDataDir();
52
+ const DB_FILE = isCloud ? null : path.join(DATA_DIR, "usage.json");
53
+ const LOG_FILE = isCloud ? null : path.join(DATA_DIR, "log.txt");
54
+
55
+ // Ensure data directory exists
56
+ if (!isCloud && fs && typeof fs.existsSync === "function") {
57
+ try {
58
+ if (!fs.existsSync(DATA_DIR)) {
59
+ fs.mkdirSync(DATA_DIR, { recursive: true });
60
+ console.log(`[usageDb] Created data directory: ${DATA_DIR}`);
61
+ }
62
+ } catch (error) {
63
+ console.error("[usageDb] Failed to create data directory:", error.message);
64
+ }
65
+ }
66
+
67
+ // Default data structure
68
+ const defaultData = {
69
+ history: []
70
+ };
71
+
72
+ // Singleton instance
73
+ let dbInstance = null;
74
+
75
+ // Use global to share pending state across Next.js route modules
76
+ if (!global._pendingRequests) {
77
+ global._pendingRequests = { byModel: {}, byAccount: {} };
78
+ }
79
+ const pendingRequests = global._pendingRequests;
80
+
81
+ // Track last error provider for UI edge coloring (auto-clears after 10s)
82
+ if (!global._lastErrorProvider) {
83
+ global._lastErrorProvider = { provider: "", ts: 0 };
84
+ }
85
+ const lastErrorProvider = global._lastErrorProvider;
86
+
87
+ // Use global to share singleton across Next.js route modules
88
+ if (!global._statsEmitter) {
89
+ global._statsEmitter = new EventEmitter();
90
+ global._statsEmitter.setMaxListeners(50);
91
+ }
92
+ export const statsEmitter = global._statsEmitter;
93
+
94
+ /**
95
+ * Track a pending request
96
+ * @param {string} model
97
+ * @param {string} provider
98
+ * @param {string} connectionId
99
+ * @param {boolean} started - true if started, false if finished
100
+ * @param {boolean} [error] - true if ended with error
101
+ */
102
+ export function trackPendingRequest(model, provider, connectionId, started, error = false) {
103
+ const modelKey = provider ? `${model} (${provider})` : model;
104
+
105
+ // Track by model
106
+ if (!pendingRequests.byModel[modelKey]) pendingRequests.byModel[modelKey] = 0;
107
+ pendingRequests.byModel[modelKey] = Math.max(0, pendingRequests.byModel[modelKey] + (started ? 1 : -1));
108
+
109
+ // Track by account
110
+ if (connectionId) {
111
+ const accountKey = connectionId;
112
+ if (!pendingRequests.byAccount[accountKey]) pendingRequests.byAccount[accountKey] = {};
113
+ if (!pendingRequests.byAccount[accountKey][modelKey]) pendingRequests.byAccount[accountKey][modelKey] = 0;
114
+ pendingRequests.byAccount[accountKey][modelKey] = Math.max(0, pendingRequests.byAccount[accountKey][modelKey] + (started ? 1 : -1));
115
+ }
116
+
117
+ // Track error provider (auto-clears after 10s)
118
+ if (!started && error && provider) {
119
+ lastErrorProvider.provider = provider.toLowerCase();
120
+ lastErrorProvider.ts = Date.now();
121
+ }
122
+
123
+ const t = new Date().toLocaleTimeString("en-US", { hour12: false, hour: "2-digit", minute: "2-digit", second: "2-digit" });
124
+ console.log(`[${t}] [PENDING] ${started ? "START" : "END"}${error ? " (ERROR)" : ""} | provider=${provider} | model=${model}`);
125
+ statsEmitter.emit("pending");
126
+ }
127
+
128
+ /**
129
+ * Lightweight: get only activeRequests + recentRequests without full stats recalc
130
+ */
131
+ export async function getActiveRequests() {
132
+ const activeRequests = [];
133
+
134
+ // Build active requests from pending state
135
+ let connectionMap = {};
136
+ try {
137
+ const { getProviderConnections } = await import("@/lib/localDb.js");
138
+ const allConnections = await getProviderConnections();
139
+ for (const conn of allConnections) {
140
+ connectionMap[conn.id] = conn.name || conn.email || conn.id;
141
+ }
142
+ } catch {}
143
+
144
+ for (const [connectionId, models] of Object.entries(pendingRequests.byAccount)) {
145
+ for (const [modelKey, count] of Object.entries(models)) {
146
+ if (count > 0) {
147
+ const accountName = connectionMap[connectionId] || `Account ${connectionId.slice(0, 8)}...`;
148
+ const match = modelKey.match(/^(.*) \((.*)\)$/);
149
+ const modelName = match ? match[1] : modelKey;
150
+ const providerName = match ? match[2] : "unknown";
151
+ activeRequests.push({ model: modelName, provider: providerName, account: accountName, count });
152
+ }
153
+ }
154
+ }
155
+
156
+ // Get recent requests from history (re-read to get latest)
157
+ const db = await getUsageDb();
158
+ await db.read();
159
+ const history = db.data.history || [];
160
+ const seen = new Set();
161
+ const recentRequests = [...history]
162
+ .sort((a, b) => new Date(b.timestamp) - new Date(a.timestamp))
163
+ .map((e) => {
164
+ const t = e.tokens || {};
165
+ const promptTokens = t.prompt_tokens || t.input_tokens || 0;
166
+ const completionTokens = t.completion_tokens || t.output_tokens || 0;
167
+ return { timestamp: e.timestamp, model: e.model, provider: e.provider || "", promptTokens, completionTokens, status: e.status || "ok" };
168
+ })
169
+ .filter((e) => {
170
+ if (e.promptTokens === 0 && e.completionTokens === 0) return false;
171
+ const minute = e.timestamp ? e.timestamp.slice(0, 16) : "";
172
+ const key = `${e.model}|${e.provider}|${e.promptTokens}|${e.completionTokens}|${minute}`;
173
+ if (seen.has(key)) return false;
174
+ seen.add(key);
175
+ return true;
176
+ })
177
+ .slice(0, 20);
178
+
179
+ // Error provider (auto-clear after 10s)
180
+ const errorProvider = (Date.now() - lastErrorProvider.ts < 10000) ? lastErrorProvider.provider : "";
181
+
182
+ return { activeRequests, recentRequests, errorProvider };
183
+ }
184
+
185
+ /**
186
+ * Get usage database instance (singleton)
187
+ */
188
+ export async function getUsageDb() {
189
+ if (isCloud) {
190
+ // Return in-memory DB for Workers
191
+ if (!dbInstance) {
192
+ dbInstance = new Low({ read: async () => {}, write: async () => {} }, defaultData);
193
+ dbInstance.data = defaultData;
194
+ }
195
+ return dbInstance;
196
+ }
197
+
198
+ if (!dbInstance) {
199
+ const adapter = new JSONFile(DB_FILE);
200
+ dbInstance = new Low(adapter, defaultData);
201
+
202
+ // Try to read DB with error recovery for corrupt JSON
203
+ try {
204
+ await dbInstance.read();
205
+ } catch (error) {
206
+ if (error instanceof SyntaxError) {
207
+ console.warn('[DB] Corrupt Usage JSON detected, resetting to defaults...');
208
+ dbInstance.data = defaultData;
209
+ await dbInstance.write();
210
+ } else {
211
+ throw error;
212
+ }
213
+ }
214
+
215
+ // Initialize with default data if empty
216
+ if (!dbInstance.data) {
217
+ dbInstance.data = defaultData;
218
+ await dbInstance.write();
219
+ }
220
+ }
221
+ return dbInstance;
222
+ }
223
+
224
+ /**
225
+ * Save request usage
226
+ * @param {object} entry - Usage entry { provider, model, tokens: { prompt_tokens, completion_tokens, ... }, connectionId?, apiKey? }
227
+ */
228
+ export async function saveRequestUsage(entry) {
229
+ if (isCloud) return; // Skip saving in Workers
230
+
231
+ try {
232
+ const db = await getUsageDb();
233
+
234
+ // Add timestamp if not present
235
+ if (!entry.timestamp) {
236
+ entry.timestamp = new Date().toISOString();
237
+ }
238
+
239
+ // Ensure history array exists
240
+ if (!Array.isArray(db.data.history)) {
241
+ db.data.history = [];
242
+ }
243
+
244
+ const entryCost = await calculateCost(entry.provider, entry.model, entry.tokens);
245
+ entry.cost = entryCost;
246
+ db.data.history.push(entry);
247
+
248
+ // Cap history to prevent unbounded memory/disk growth
249
+ const MAX_HISTORY = 10000;
250
+ if (db.data.history.length > MAX_HISTORY) {
251
+ db.data.history.splice(0, db.data.history.length - MAX_HISTORY);
252
+ }
253
+
254
+ await db.write();
255
+ statsEmitter.emit("update");
256
+ } catch (error) {
257
+ console.error("Failed to save usage stats:", error);
258
+ }
259
+ }
260
+
261
+ /**
262
+ * Get usage history
263
+ * @param {object} filter - Filter criteria
264
+ */
265
+ export async function getUsageHistory(filter = {}) {
266
+ const db = await getUsageDb();
267
+ let history = db.data.history || [];
268
+
269
+ // Apply filters
270
+ if (filter.provider) {
271
+ history = history.filter(h => h.provider === filter.provider);
272
+ }
273
+
274
+ if (filter.model) {
275
+ history = history.filter(h => h.model === filter.model);
276
+ }
277
+
278
+ if (filter.startDate) {
279
+ const start = new Date(filter.startDate).getTime();
280
+ history = history.filter(h => new Date(h.timestamp).getTime() >= start);
281
+ }
282
+
283
+ if (filter.endDate) {
284
+ const end = new Date(filter.endDate).getTime();
285
+ history = history.filter(h => new Date(h.timestamp).getTime() <= end);
286
+ }
287
+
288
+ return history;
289
+ }
290
+
291
+ /**
292
+ * Format date as dd-mm-yyyy h:m:s
293
+ */
294
+ function formatLogDate(date = new Date()) {
295
+ const pad = (n) => String(n).padStart(2, "0");
296
+ const d = pad(date.getDate());
297
+ const m = pad(date.getMonth() + 1);
298
+ const y = date.getFullYear();
299
+ const h = pad(date.getHours());
300
+ const min = pad(date.getMinutes());
301
+ const s = pad(date.getSeconds());
302
+ return `${d}-${m}-${y} ${h}:${min}:${s}`;
303
+ }
304
+
305
+ /**
306
+ * Append to log.txt
307
+ * Format: datetime(dd-mm-yyyy h:m:s) | model | provider | account | tokens sent | tokens received | status
308
+ */
309
+ export async function appendRequestLog({ model, provider, connectionId, tokens, status }) {
310
+ if (isCloud) return; // Skip logging in Workers
311
+
312
+ try {
313
+ const timestamp = formatLogDate();
314
+ const p = provider?.toUpperCase() || "-";
315
+ const m = model || "-";
316
+
317
+ // Resolve account name
318
+ let account = connectionId ? connectionId.slice(0, 8) : "-";
319
+ try {
320
+ const { getProviderConnections } = await import("@/lib/localDb.js");
321
+ const connections = await getProviderConnections();
322
+ const conn = connections.find(c => c.id === connectionId);
323
+ if (conn) {
324
+ account = conn.name || conn.email || account;
325
+ }
326
+ } catch {}
327
+
328
+ const sent = tokens?.prompt_tokens !== undefined ? tokens.prompt_tokens : "-";
329
+ const received = tokens?.completion_tokens !== undefined ? tokens.completion_tokens : "-";
330
+
331
+ const line = `${timestamp} | ${m} | ${p} | ${account} | ${sent} | ${received} | ${status}\n`;
332
+
333
+ fs.appendFileSync(LOG_FILE, line);
334
+
335
+ // Trim to keep only last 200 lines
336
+ const content = fs.readFileSync(LOG_FILE, "utf-8");
337
+ const lines = content.trim().split("\n");
338
+ if (lines.length > 200) {
339
+ fs.writeFileSync(LOG_FILE, lines.slice(-200).join("\n") + "\n");
340
+ }
341
+ } catch (error) {
342
+ console.error("Failed to append to log.txt:", error.message);
343
+ }
344
+ }
345
+
346
+ /**
347
+ * Get last N lines of log.txt
348
+ */
349
+ export async function getRecentLogs(limit = 200) {
350
+ if (isCloud) return []; // Skip in Workers
351
+
352
+ // Runtime check: ensure fs module is available
353
+ if (!fs || typeof fs.existsSync !== "function") {
354
+ console.error("[usageDb] fs module not available in this environment");
355
+ return [];
356
+ }
357
+
358
+ if (!LOG_FILE) {
359
+ console.error("[usageDb] LOG_FILE path not defined");
360
+ return [];
361
+ }
362
+
363
+ if (!fs.existsSync(LOG_FILE)) {
364
+ console.log(`[usageDb] Log file does not exist: ${LOG_FILE}`);
365
+ return [];
366
+ }
367
+
368
+ try {
369
+ const content = fs.readFileSync(LOG_FILE, "utf-8");
370
+ const lines = content.trim().split("\n");
371
+ return lines.slice(-limit).reverse();
372
+ } catch (error) {
373
+ console.error("[usageDb] Failed to read log.txt:", error.message);
374
+ console.error("[usageDb] LOG_FILE path:", LOG_FILE);
375
+ return [];
376
+ }
377
+ }
378
+
379
+ /**
380
+ * Calculate cost for a usage entry
381
+ * @param {string} provider - Provider ID
382
+ * @param {string} model - Model ID
383
+ * @param {object} tokens - Token counts
384
+ * @returns {number} Cost in dollars
385
+ */
386
+ async function calculateCost(provider, model, tokens) {
387
+ if (!tokens || !provider || !model) return 0;
388
+
389
+ try {
390
+ const { getPricingForModel } = await import("@/lib/localDb.js");
391
+ const pricing = await getPricingForModel(provider, model);
392
+
393
+ if (!pricing) return 0;
394
+
395
+ let cost = 0;
396
+
397
+ // Input tokens (non-cached)
398
+ const inputTokens = tokens.prompt_tokens || tokens.input_tokens || 0;
399
+ const cachedTokens = tokens.cached_tokens || tokens.cache_read_input_tokens || 0;
400
+ const nonCachedInput = Math.max(0, inputTokens - cachedTokens);
401
+
402
+ cost += (nonCachedInput * (pricing.input / 1000000));
403
+
404
+ // Cached tokens
405
+ if (cachedTokens > 0) {
406
+ const cachedRate = pricing.cached || pricing.input; // Fallback to input rate
407
+ cost += (cachedTokens * (cachedRate / 1000000));
408
+ }
409
+
410
+ // Output tokens
411
+ const outputTokens = tokens.completion_tokens || tokens.output_tokens || 0;
412
+ cost += (outputTokens * (pricing.output / 1000000));
413
+
414
+ // Reasoning tokens
415
+ const reasoningTokens = tokens.reasoning_tokens || 0;
416
+ if (reasoningTokens > 0) {
417
+ const reasoningRate = pricing.reasoning || pricing.output; // Fallback to output rate
418
+ cost += (reasoningTokens * (reasoningRate / 1000000));
419
+ }
420
+
421
+ // Cache creation tokens
422
+ const cacheCreationTokens = tokens.cache_creation_input_tokens || 0;
423
+ if (cacheCreationTokens > 0) {
424
+ const cacheCreationRate = pricing.cache_creation || pricing.input; // Fallback to input rate
425
+ cost += (cacheCreationTokens * (cacheCreationRate / 1000000));
426
+ }
427
+
428
+ return cost;
429
+ } catch (error) {
430
+ console.error("Error calculating cost:", error);
431
+ return 0;
432
+ }
433
+ }
434
+
435
+ const PERIOD_MS = { "24h": 86400000, "7d": 604800000, "30d": 2592000000, "60d": 5184000000 };
436
+
437
+ /**
438
+ * Get aggregated usage stats
439
+ * @param {"24h"|"7d"|"30d"|"60d"|"all"} period - Time period to filter
440
+ */
441
+ export async function getUsageStats(period = "all") {
442
+ const db = await getUsageDb();
443
+ let history = db.data.history || [];
444
+
445
+ // Filter history by period
446
+ if (period && PERIOD_MS[period]) {
447
+ const cutoff = Date.now() - PERIOD_MS[period];
448
+ history = history.filter((e) => new Date(e.timestamp).getTime() >= cutoff);
449
+ }
450
+
451
+ // Import localDb to get provider connection names and API keys
452
+ const { getProviderConnections, getApiKeys, getProviderNodes } = await import("@/lib/localDb.js");
453
+
454
+ // Fetch all provider connections to get account names
455
+ let allConnections = [];
456
+ try {
457
+ allConnections = await getProviderConnections();
458
+ } catch (error) {
459
+ // If localDb is not available (e.g., in some environments), continue without account names
460
+ console.warn("Could not fetch provider connections for usage stats:", error.message);
461
+ }
462
+
463
+ // Create a map from connectionId to account name
464
+ const connectionMap = {};
465
+ for (const conn of allConnections) {
466
+ connectionMap[conn.id] = conn.name || conn.email || conn.id;
467
+ }
468
+
469
+ // Build map from compatible provider ID → friendly name (from providerNodes)
470
+ const providerNodeNameMap = {};
471
+ try {
472
+ const nodes = await getProviderNodes();
473
+ for (const node of nodes) {
474
+ if (node.id && node.name) providerNodeNameMap[node.id] = node.name;
475
+ }
476
+ } catch {}
477
+
478
+ // Fetch all API keys to get key names
479
+ let allApiKeys = [];
480
+ try {
481
+ allApiKeys = await getApiKeys();
482
+ } catch (error) {
483
+ console.warn("Could not fetch API keys for usage stats:", error.message);
484
+ }
485
+
486
+ // Create a map from API key to key info
487
+ const apiKeyMap = {};
488
+ for (const key of allApiKeys) {
489
+ apiKeyMap[key.key] = {
490
+ name: key.name,
491
+ id: key.id,
492
+ createdAt: key.createdAt
493
+ };
494
+ }
495
+
496
+ // 20 most recent requests from history (always in sync with SSE emit)
497
+ const seen = new Set();
498
+ const recentRequests = [...history]
499
+ .sort((a, b) => new Date(b.timestamp) - new Date(a.timestamp))
500
+ .map((e) => {
501
+ const t = e.tokens || {};
502
+ const promptTokens = t.prompt_tokens || t.input_tokens || 0;
503
+ const completionTokens = t.completion_tokens || t.output_tokens || 0;
504
+ return {
505
+ timestamp: e.timestamp,
506
+ model: e.model,
507
+ provider: e.provider || "",
508
+ promptTokens,
509
+ completionTokens,
510
+ status: e.status || "ok",
511
+ };
512
+ })
513
+ .filter((e) => {
514
+ if (e.promptTokens === 0 && e.completionTokens === 0) return false;
515
+ // Deduplicate: same model+provider+tokens within same minute
516
+ const minute = e.timestamp ? e.timestamp.slice(0, 16) : "";
517
+ const key = `${e.model}|${e.provider}|${e.promptTokens}|${e.completionTokens}|${minute}`;
518
+ if (seen.has(key)) return false;
519
+ seen.add(key);
520
+ return true;
521
+ })
522
+ .slice(0, 20);
523
+
524
+ const stats = {
525
+ totalRequests: history.length,
526
+ totalPromptTokens: 0,
527
+ totalCompletionTokens: 0,
528
+ totalCost: 0,
529
+ byProvider: {},
530
+ byModel: {},
531
+ byAccount: {},
532
+ byApiKey: {},
533
+ byEndpoint: {},
534
+ last10Minutes: [],
535
+ pending: pendingRequests,
536
+ activeRequests: [],
537
+ recentRequests,
538
+ errorProvider: (Date.now() - lastErrorProvider.ts < 10000) ? lastErrorProvider.provider : "",
539
+ };
540
+
541
+ // Build active requests list from pending counts
542
+ for (const [connectionId, models] of Object.entries(pendingRequests.byAccount)) {
543
+ for (const [modelKey, count] of Object.entries(models)) {
544
+ if (count > 0) {
545
+ const accountName = connectionMap[connectionId] || `Account ${connectionId.slice(0, 8)}...`;
546
+ // modelKey is "model (provider)"
547
+ const match = modelKey.match(/^(.*) \((.*)\)$/);
548
+ const modelName = match ? match[1] : modelKey;
549
+ const providerName = match ? match[2] : "unknown";
550
+
551
+ stats.activeRequests.push({
552
+ model: modelName,
553
+ provider: providerName,
554
+ account: accountName,
555
+ count
556
+ });
557
+ }
558
+ }
559
+ }
560
+
561
+ // Initialize 10-minute buckets using stable minute boundaries
562
+ const now = new Date();
563
+ // Floor to the start of the current minute
564
+ const currentMinuteStart = new Date(Math.floor(now.getTime() / 60000) * 60000);
565
+ const tenMinutesAgo = new Date(currentMinuteStart.getTime() - 9 * 60 * 1000);
566
+
567
+ // Create buckets keyed by minute timestamp for stable lookups
568
+ const bucketMap = {};
569
+ for (let i = 0; i < 10; i++) {
570
+ const bucketTime = new Date(currentMinuteStart.getTime() - (9 - i) * 60 * 1000);
571
+ const bucketKey = bucketTime.getTime();
572
+ bucketMap[bucketKey] = {
573
+ requests: 0,
574
+ promptTokens: 0,
575
+ completionTokens: 0,
576
+ cost: 0
577
+ };
578
+ stats.last10Minutes.push(bucketMap[bucketKey]);
579
+ }
580
+
581
+ for (const entry of history) {
582
+ const promptTokens = entry.tokens?.prompt_tokens || 0;
583
+ const completionTokens = entry.tokens?.completion_tokens || 0;
584
+ const entryTime = new Date(entry.timestamp);
585
+
586
+ // Use pre-stored cost (saved at request time), avoid recalculating
587
+ const entryCost = entry.cost || 0;
588
+
589
+ stats.totalPromptTokens += promptTokens;
590
+ stats.totalCompletionTokens += completionTokens;
591
+ stats.totalCost += entryCost;
592
+
593
+ // Last 10 minutes aggregation - floor entry time to its minute
594
+ if (entryTime >= tenMinutesAgo && entryTime <= now) {
595
+ const entryMinuteStart = Math.floor(entryTime.getTime() / 60000) * 60000;
596
+ if (bucketMap[entryMinuteStart]) {
597
+ bucketMap[entryMinuteStart].requests++;
598
+ bucketMap[entryMinuteStart].promptTokens += promptTokens;
599
+ bucketMap[entryMinuteStart].completionTokens += completionTokens;
600
+ bucketMap[entryMinuteStart].cost += entryCost;
601
+ }
602
+ }
603
+
604
+ // By Provider
605
+ if (!stats.byProvider[entry.provider]) {
606
+ stats.byProvider[entry.provider] = {
607
+ requests: 0,
608
+ promptTokens: 0,
609
+ completionTokens: 0,
610
+ cost: 0
611
+ };
612
+ }
613
+ stats.byProvider[entry.provider].requests++;
614
+ stats.byProvider[entry.provider].promptTokens += promptTokens;
615
+ stats.byProvider[entry.provider].completionTokens += completionTokens;
616
+ stats.byProvider[entry.provider].cost += entryCost;
617
+
618
+ // By Model
619
+ // Format: "modelName (provider)" if provider is known
620
+ const modelKey = entry.provider ? `${entry.model} (${entry.provider})` : entry.model;
621
+ // Resolve friendly name for compatible providers
622
+ const providerDisplayName = providerNodeNameMap[entry.provider] || entry.provider;
623
+
624
+ if (!stats.byModel[modelKey]) {
625
+ stats.byModel[modelKey] = {
626
+ requests: 0,
627
+ promptTokens: 0,
628
+ completionTokens: 0,
629
+ cost: 0,
630
+ rawModel: entry.model,
631
+ provider: providerDisplayName,
632
+ lastUsed: entry.timestamp
633
+ };
634
+ }
635
+ stats.byModel[modelKey].requests++;
636
+ stats.byModel[modelKey].promptTokens += promptTokens;
637
+ stats.byModel[modelKey].completionTokens += completionTokens;
638
+ stats.byModel[modelKey].cost += entryCost;
639
+ if (new Date(entry.timestamp) > new Date(stats.byModel[modelKey].lastUsed)) {
640
+ stats.byModel[modelKey].lastUsed = entry.timestamp;
641
+ }
642
+
643
+ // By Account (model + oauth account)
644
+ // Use connectionId if available, otherwise fallback to provider name
645
+ if (entry.connectionId) {
646
+ const accountName = connectionMap[entry.connectionId] || `Account ${entry.connectionId.slice(0, 8)}...`;
647
+ const accountKey = `${entry.model} (${entry.provider} - ${accountName})`;
648
+
649
+ if (!stats.byAccount[accountKey]) {
650
+ stats.byAccount[accountKey] = {
651
+ requests: 0,
652
+ promptTokens: 0,
653
+ completionTokens: 0,
654
+ cost: 0,
655
+ rawModel: entry.model,
656
+ provider: providerDisplayName,
657
+ connectionId: entry.connectionId,
658
+ accountName: accountName,
659
+ lastUsed: entry.timestamp
660
+ };
661
+ }
662
+ stats.byAccount[accountKey].requests++;
663
+ stats.byAccount[accountKey].promptTokens += promptTokens;
664
+ stats.byAccount[accountKey].completionTokens += completionTokens;
665
+ stats.byAccount[accountKey].cost += entryCost;
666
+ if (new Date(entry.timestamp) > new Date(stats.byAccount[accountKey].lastUsed)) {
667
+ stats.byAccount[accountKey].lastUsed = entry.timestamp;
668
+ }
669
+ }
670
+
671
+ // Handle requests with API key
672
+ if (entry.apiKey && typeof entry.apiKey === "string") {
673
+ const keyInfo = apiKeyMap[entry.apiKey];
674
+ const keyName = keyInfo?.name || entry.apiKey.slice(0, 8) + "...";
675
+ // Use full API key to avoid collisions (keys with same prefix)
676
+ const apiKeyKey = entry.apiKey;
677
+ // Group by API Key + Model + Provider combination to track different models used with the same key
678
+ const apiKeyModelKey = `${apiKeyKey}|${entry.model}|${entry.provider || 'unknown'}`;
679
+
680
+ if (!stats.byApiKey[apiKeyModelKey]) {
681
+ stats.byApiKey[apiKeyModelKey] = {
682
+ requests: 0,
683
+ promptTokens: 0,
684
+ completionTokens: 0,
685
+ cost: 0,
686
+ rawModel: entry.model,
687
+ provider: providerDisplayName,
688
+ apiKey: entry.apiKey,
689
+ keyName: keyName,
690
+ apiKeyKey: apiKeyKey,
691
+ lastUsed: entry.timestamp
692
+ };
693
+ }
694
+ const apiKeyEntry = stats.byApiKey[apiKeyModelKey];
695
+ apiKeyEntry.requests++;
696
+ apiKeyEntry.promptTokens += promptTokens;
697
+ apiKeyEntry.completionTokens += completionTokens;
698
+ apiKeyEntry.cost += entryCost;
699
+ if (new Date(entry.timestamp) > new Date(apiKeyEntry.lastUsed)) {
700
+ apiKeyEntry.lastUsed = entry.timestamp;
701
+ }
702
+ } else {
703
+ const apiKeyKey = "local-no-key";
704
+ const keyName = "Local (No API Key)";
705
+
706
+ if (!stats.byApiKey[apiKeyKey]) {
707
+ stats.byApiKey[apiKeyKey] = {
708
+ requests: 0,
709
+ promptTokens: 0,
710
+ completionTokens: 0,
711
+ cost: 0,
712
+ rawModel: entry.model,
713
+ provider: providerDisplayName,
714
+ apiKey: null,
715
+ keyName: keyName,
716
+ apiKeyKey: apiKeyKey,
717
+ lastUsed: entry.timestamp
718
+ };
719
+ }
720
+ const apiKeyEntry = stats.byApiKey[apiKeyKey];
721
+ apiKeyEntry.requests++;
722
+ apiKeyEntry.promptTokens += promptTokens;
723
+ apiKeyEntry.completionTokens += completionTokens;
724
+ apiKeyEntry.cost += entryCost;
725
+ if (new Date(entry.timestamp) > new Date(apiKeyEntry.lastUsed)) {
726
+ apiKeyEntry.lastUsed = entry.timestamp;
727
+ }
728
+ }
729
+
730
+ // By Endpoint (endpoint + model + provider combination)
731
+ const endpoint = entry.endpoint || "Unknown";
732
+ const endpointModelKey = `${endpoint}|${entry.model}|${entry.provider || 'unknown'}`;
733
+
734
+ if (!stats.byEndpoint[endpointModelKey]) {
735
+ stats.byEndpoint[endpointModelKey] = {
736
+ requests: 0,
737
+ promptTokens: 0,
738
+ completionTokens: 0,
739
+ cost: 0,
740
+ endpoint: endpoint,
741
+ rawModel: entry.model,
742
+ provider: providerDisplayName,
743
+ lastUsed: entry.timestamp
744
+ };
745
+ }
746
+ const endpointEntry = stats.byEndpoint[endpointModelKey];
747
+ endpointEntry.requests++;
748
+ endpointEntry.promptTokens += promptTokens;
749
+ endpointEntry.completionTokens += completionTokens;
750
+ endpointEntry.cost += entryCost;
751
+ if (new Date(entry.timestamp) > new Date(endpointEntry.lastUsed)) {
752
+ endpointEntry.lastUsed = entry.timestamp;
753
+ }
754
+ }
755
+
756
+ return stats;
757
+ }
758
+
759
+ /**
760
+ * Get time-series chart data for a given period
761
+ * @param {"24h"|"7d"|"30d"|"60d"} period
762
+ * @returns {Promise<Array<{label: string, tokens: number, cost: number}>>}
763
+ */
764
+ export async function getChartData(period = "7d") {
765
+ const db = await getUsageDb();
766
+ const history = db.data.history || [];
767
+ const now = Date.now();
768
+
769
+ let bucketCount, bucketMs, labelFn;
770
+ if (period === "24h") {
771
+ bucketCount = 24;
772
+ bucketMs = 3600000; // 1 hour
773
+ labelFn = (ts) => new Date(ts).toLocaleTimeString("en-US", { hour: "2-digit", minute: "2-digit", hour12: false });
774
+ } else if (period === "7d") {
775
+ bucketCount = 7;
776
+ bucketMs = 86400000;
777
+ labelFn = (ts) => new Date(ts).toLocaleDateString("en-US", { month: "short", day: "numeric" });
778
+ } else if (period === "30d") {
779
+ bucketCount = 30;
780
+ bucketMs = 86400000;
781
+ labelFn = (ts) => new Date(ts).toLocaleDateString("en-US", { month: "short", day: "numeric" });
782
+ } else {
783
+ bucketCount = 60;
784
+ bucketMs = 86400000;
785
+ labelFn = (ts) => new Date(ts).toLocaleDateString("en-US", { month: "short", day: "numeric" });
786
+ }
787
+
788
+ const startTime = now - bucketCount * bucketMs;
789
+ const buckets = Array.from({ length: bucketCount }, (_, i) => {
790
+ const ts = startTime + i * bucketMs;
791
+ return { label: labelFn(ts), tokens: 0, cost: 0, _ts: ts };
792
+ });
793
+
794
+ for (const entry of history) {
795
+ const entryTime = new Date(entry.timestamp).getTime();
796
+ if (entryTime < startTime || entryTime > now) continue;
797
+ const idx = Math.min(Math.floor((entryTime - startTime) / bucketMs), bucketCount - 1);
798
+ const promptTokens = entry.tokens?.prompt_tokens || 0;
799
+ const completionTokens = entry.tokens?.completion_tokens || 0;
800
+ buckets[idx].tokens += promptTokens + completionTokens;
801
+ // Use pre-stored cost if available, else 0
802
+ buckets[idx].cost += entry.cost || 0;
803
+ }
804
+
805
+ return buckets.map(({ label, tokens, cost }) => ({ label, tokens, cost }));
806
+ }
807
+
808
+ // Re-export request details functions from new SQLite-based module
809
+ export { saveRequestDetail, getRequestDetails, getRequestDetailById } from "./requestDetailsDb.js";