@yina-npm/openrouterx 0.4.80 → 0.5.9

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 (1621) hide show
  1. package/LICENSE +22 -1
  2. package/README.md +72 -420
  3. package/app/.next-cli-build/BUILD_ID +1 -0
  4. package/app/.next-cli-build/app-path-routes-manifest.json +170 -0
  5. package/app/.next-cli-build/build-manifest.json +20 -0
  6. package/app/.next-cli-build/prerender-manifest.json +239 -0
  7. package/app/.next-cli-build/required-server-files.json +380 -0
  8. package/app/.next-cli-build/routes-manifest.json +1131 -0
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/keys/page.js +2 -0
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/keys/page.js.nft.json +1 -0
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/keys/page_client-reference-manifest.js +1 -0
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/users/page.js +2 -0
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/users/page.js.nft.json +1 -0
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/admin/users/page_client-reference-manifest.js +1 -0
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -0
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -0
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -0
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +24 -0
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -0
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -0
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -0
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -0
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -0
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -0
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -0
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -0
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -0
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -0
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -0
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -0
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -0
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -0
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +60 -0
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -0
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -0
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -0
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -0
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -0
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +5 -0
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -0
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -0
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -0
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -0
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -0
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -0
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -0
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -0
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -0
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -0
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -0
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -0
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -0
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -0
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +11 -0
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -0
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -0
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -0
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -0
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -0
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -0
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -0
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -0
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +5 -0
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -0
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -0
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +3 -0
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -0
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -0
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -0
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -0
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -0
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -0
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -0
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -0
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -0
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -0
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -0
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/user/page.js +5 -0
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/user/page.js.nft.json +1 -0
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/user/page_client-reference-manifest.js +1 -0
  81. package/app/.next-cli-build/server/app/_global-error/page.js +32 -0
  82. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -0
  83. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -0
  84. package/app/.next-cli-build/server/app/_global-error.html +1 -0
  85. package/app/.next-cli-build/server/app/_global-error.rsc +14 -0
  86. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +14 -0
  87. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
  88. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
  89. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +5 -0
  90. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +5 -0
  91. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  92. package/app/.next-cli-build/server/app/_not-found/page.js +2 -0
  93. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -0
  94. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -0
  95. package/app/.next-cli-build/server/app/_not-found.html +1 -0
  96. package/app/.next-cli-build/server/app/_not-found.rsc +21 -0
  97. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +21 -0
  98. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +6 -0
  99. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +9 -0
  100. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  101. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  102. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +4 -0
  103. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -0
  104. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -0
  105. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -0
  106. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -0
  107. package/app/.next-cli-build/server/app/api/auth/me/route.js +1 -0
  108. package/app/.next-cli-build/server/app/api/auth/me/route.js.nft.json +1 -0
  109. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -0
  110. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -0
  111. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -0
  112. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -0
  113. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -0
  114. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -0
  115. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -0
  116. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -0
  117. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -0
  118. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -0
  119. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +17 -0
  120. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -0
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -0
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -0
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -0
  124. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -0
  125. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -0
  126. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -0
  127. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -0
  128. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -0
  129. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/activate-account/route.js +2 -0
  130. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/activate-account/route.js.nft.json +1 -0
  131. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -0
  132. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -0
  133. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -0
  134. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -0
  135. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -0
  136. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -0
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -0
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -0
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -0
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -0
  141. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +9 -0
  142. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -0
  143. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -0
  144. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -0
  145. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +10 -0
  146. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -0
  147. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -0
  148. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -0
  149. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -0
  150. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -0
  151. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -0
  152. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -0
  153. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -0
  154. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -0
  155. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -0
  156. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -0
  157. package/app/.next-cli-build/server/app/api/combos/route.js +1 -0
  158. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -0
  159. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -0
  160. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -0
  161. package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -0
  162. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -0
  163. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -0
  164. package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -0
  165. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -0
  166. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -0
  167. package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -0
  168. package/app/.next-cli-build/server/app/api/health/route.js +1 -0
  169. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -0
  170. package/app/.next-cli-build/server/app/api/init/route.js +1 -0
  171. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -0
  172. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -0
  173. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -0
  174. package/app/.next-cli-build/server/app/api/keys/route.js +1 -0
  175. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -0
  176. package/app/.next-cli-build/server/app/api/locale/route.js +1 -0
  177. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -0
  178. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +7 -0
  179. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -0
  180. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +10 -0
  181. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -0
  182. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -0
  183. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -0
  184. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -0
  185. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -0
  186. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -0
  187. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -0
  188. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -0
  189. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -0
  190. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -0
  191. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -0
  192. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -0
  193. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -0
  194. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -0
  195. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -0
  196. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -0
  197. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -0
  198. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -0
  199. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -0
  200. package/app/.next-cli-build/server/app/api/models/route.js +1 -0
  201. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -0
  202. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -0
  203. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -0
  204. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -0
  205. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -0
  206. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -0
  207. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -0
  208. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -0
  209. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -0
  210. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +4 -0
  211. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -0
  212. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -0
  213. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -0
  214. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -0
  215. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -0
  216. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -0
  217. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -0
  218. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -0
  219. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -0
  220. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -0
  221. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -0
  222. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -0
  223. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -0
  224. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -0
  225. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -0
  226. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -0
  227. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -0
  228. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -0
  229. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -0
  230. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -0
  231. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -0
  232. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -0
  233. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -0
  234. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -0
  235. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -0
  236. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -0
  237. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -0
  238. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -0
  239. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -0
  240. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -0
  241. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -0
  242. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -0
  243. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -0
  244. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -0
  245. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -0
  246. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -0
  247. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -0
  248. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -0
  249. package/app/.next-cli-build/server/app/api/providers/route.js +1 -0
  250. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -0
  251. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -0
  252. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -0
  253. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -0
  254. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -0
  255. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -0
  256. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -0
  257. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -0
  258. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -0
  259. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -0
  260. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -0
  261. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +43 -0
  262. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -0
  263. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +40 -0
  264. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -0
  265. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -0
  266. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -0
  267. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +33 -0
  268. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -0
  269. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -0
  270. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -0
  271. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -0
  272. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -0
  273. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -0
  274. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -0
  275. package/app/.next-cli-build/server/app/api/settings/route.js +1 -0
  276. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -0
  277. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -0
  278. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -0
  279. package/app/.next-cli-build/server/app/api/tags/route.js +1 -0
  280. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -0
  281. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -0
  282. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -0
  283. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +7 -0
  284. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -0
  285. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -0
  286. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -0
  287. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -0
  288. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -0
  289. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -0
  290. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -0
  291. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -0
  292. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -0
  293. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -0
  294. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -0
  295. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -0
  296. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -0
  297. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -0
  298. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -0
  299. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -0
  300. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -0
  301. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -0
  302. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -0
  303. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -0
  304. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -0
  305. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +5 -0
  306. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -0
  307. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -0
  308. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -0
  309. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -0
  310. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -0
  311. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -0
  312. package/app/.next-cli-build/server/app/api/usage/api-keys/route.js +1 -0
  313. package/app/.next-cli-build/server/app/api/usage/api-keys/route.js.nft.json +1 -0
  314. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -0
  315. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -0
  316. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -0
  317. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -0
  318. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -0
  319. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -0
  320. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -0
  321. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -0
  322. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -0
  323. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -0
  324. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -0
  325. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -0
  326. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -0
  327. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -0
  328. package/app/.next-cli-build/server/app/api/usage/stream/route.js +7 -0
  329. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -0
  330. package/app/.next-cli-build/server/app/api/users/[id]/route.js +1 -0
  331. package/app/.next-cli-build/server/app/api/users/[id]/route.js.nft.json +1 -0
  332. package/app/.next-cli-build/server/app/api/users/route.js +1 -0
  333. package/app/.next-cli-build/server/app/api/users/route.js.nft.json +1 -0
  334. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -0
  335. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -0
  336. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -0
  337. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -0
  338. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -0
  339. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -0
  340. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -0
  341. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -0
  342. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -0
  343. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -0
  344. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -0
  345. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -0
  346. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +4 -0
  347. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -0
  348. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -0
  349. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -0
  350. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -0
  351. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -0
  352. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -0
  353. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -0
  354. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -0
  355. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -0
  356. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -0
  357. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -0
  358. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -0
  359. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -0
  360. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -0
  361. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -0
  362. package/app/.next-cli-build/server/app/api/v1/route.js +1 -0
  363. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -0
  364. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -0
  365. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -0
  366. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -0
  367. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -0
  368. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -0
  369. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -0
  370. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -0
  371. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -0
  372. package/app/.next-cli-build/server/app/api/version/route.js +1 -0
  373. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -0
  374. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -0
  375. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -0
  376. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -0
  377. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -0
  378. package/app/.next-cli-build/server/app/callback/page.js +2 -0
  379. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -0
  380. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -0
  381. package/app/.next-cli-build/server/app/callback.html +1 -0
  382. package/app/.next-cli-build/server/app/callback.rsc +25 -0
  383. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +25 -0
  384. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +6 -0
  385. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +9 -0
  386. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +4 -0
  387. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +9 -0
  388. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +5 -0
  389. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -0
  390. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -0
  391. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
  392. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -0
  393. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +25 -0
  394. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +25 -0
  395. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +6 -0
  396. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +9 -0
  397. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +4 -0
  398. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +9 -0
  399. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +5 -0
  400. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +5 -0
  401. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +5 -0
  402. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -0
  403. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -0
  404. package/app/.next-cli-build/server/app/index.html +1 -0
  405. package/app/.next-cli-build/server/app/index.rsc +20 -0
  406. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -0
  407. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +20 -0
  408. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +6 -0
  409. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +9 -0
  410. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +4 -0
  411. package/app/.next-cli-build/server/app/landing/page.js +2 -0
  412. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -0
  413. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -0
  414. package/app/.next-cli-build/server/app/landing.html +1 -0
  415. package/app/.next-cli-build/server/app/landing.rsc +25 -0
  416. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +25 -0
  417. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +6 -0
  418. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +9 -0
  419. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +4 -0
  420. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +9 -0
  421. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +5 -0
  422. package/app/.next-cli-build/server/app/login/page.js +2 -0
  423. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -0
  424. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -0
  425. package/app/.next-cli-build/server/app/login.html +1 -0
  426. package/app/.next-cli-build/server/app/login.rsc +26 -0
  427. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +26 -0
  428. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +6 -0
  429. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +9 -0
  430. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +5 -0
  431. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +10 -0
  432. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +5 -0
  433. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +16 -0
  434. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  435. package/app/.next-cli-build/server/app/page.js +2 -0
  436. package/app/.next-cli-build/server/app/page.js.nft.json +1 -0
  437. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -0
  438. package/app/.next-cli-build/server/app-paths-manifest.json +170 -0
  439. package/app/.next-cli-build/server/chunks/1220.js +3 -0
  440. package/app/.next-cli-build/server/chunks/1241.js +1 -0
  441. package/app/.next-cli-build/server/chunks/1275.js +73 -0
  442. package/app/.next-cli-build/server/chunks/1350.js +2 -0
  443. package/app/.next-cli-build/server/chunks/1832.js +1 -0
  444. package/app/.next-cli-build/server/chunks/2059.js +1 -0
  445. package/app/.next-cli-build/server/chunks/2944.js +1 -0
  446. package/app/.next-cli-build/server/chunks/319.js +45 -0
  447. package/app/.next-cli-build/server/chunks/3412.js +1 -0
  448. package/app/.next-cli-build/server/chunks/3428.js +1 -0
  449. package/app/.next-cli-build/server/chunks/3535.js +1 -0
  450. package/app/.next-cli-build/server/chunks/3546.js +1 -0
  451. package/app/.next-cli-build/server/chunks/3913.js +64 -0
  452. package/app/.next-cli-build/server/chunks/412.js +7 -0
  453. package/app/.next-cli-build/server/chunks/4632.js +1 -0
  454. package/app/.next-cli-build/server/chunks/4922.js +9 -0
  455. package/app/.next-cli-build/server/chunks/5118.js +1 -0
  456. package/app/.next-cli-build/server/chunks/5296.js +1 -0
  457. package/app/.next-cli-build/server/chunks/5592.js +1 -0
  458. package/app/.next-cli-build/server/chunks/5615.js +43 -0
  459. package/app/.next-cli-build/server/chunks/5699.js +1 -0
  460. package/app/.next-cli-build/server/chunks/5816.js +1 -0
  461. package/app/.next-cli-build/server/chunks/5961.js +1 -0
  462. package/app/.next-cli-build/server/chunks/6001.js +1 -0
  463. package/app/.next-cli-build/server/chunks/602.js +1 -0
  464. package/app/.next-cli-build/server/chunks/6070.js +1 -0
  465. package/app/.next-cli-build/server/chunks/615.js +1 -0
  466. package/app/.next-cli-build/server/chunks/6151.js +1 -0
  467. package/app/.next-cli-build/server/chunks/6182.js +63 -0
  468. package/app/.next-cli-build/server/chunks/6306.js +1 -0
  469. package/app/.next-cli-build/server/chunks/6327.js +1 -0
  470. package/app/.next-cli-build/server/chunks/6482.js +11 -0
  471. package/app/.next-cli-build/server/chunks/6688.js +1 -0
  472. package/app/.next-cli-build/server/chunks/6763.js +1 -0
  473. package/app/.next-cli-build/server/chunks/6777.js +1 -0
  474. package/app/.next-cli-build/server/chunks/7244.js +1 -0
  475. package/app/.next-cli-build/server/chunks/7259.js +53 -0
  476. package/app/.next-cli-build/server/chunks/7774.js +120 -0
  477. package/app/.next-cli-build/server/chunks/7879.js +10 -0
  478. package/app/.next-cli-build/server/chunks/7937.js +170 -0
  479. package/app/.next-cli-build/server/chunks/801.js +3 -0
  480. package/app/.next-cli-build/server/chunks/8271.js +1 -0
  481. package/app/.next-cli-build/server/chunks/8895.js +58 -0
  482. package/app/.next-cli-build/server/chunks/8910.js +2 -0
  483. package/app/.next-cli-build/server/chunks/8920.js +1 -0
  484. package/app/.next-cli-build/server/chunks/9718.js +1 -0
  485. package/app/.next-cli-build/server/chunks/9787.js +31 -0
  486. package/app/.next-cli-build/server/chunks/9833.js +1 -0
  487. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -0
  488. package/app/.next-cli-build/server/middleware.js +18 -0
  489. package/app/.next-cli-build/server/next-font-manifest.js +1 -0
  490. package/app/.next-cli-build/server/next-font-manifest.json +1 -0
  491. package/app/.next-cli-build/server/pages/404.html +1 -0
  492. package/app/.next-cli-build/server/pages/500.html +1 -0
  493. package/app/.next-cli-build/server/server-reference-manifest.js +1 -0
  494. package/app/.next-cli-build/server/server-reference-manifest.json +1 -0
  495. package/app/.next-cli-build/static/Z1O3mWLKLCkJm5SRaYg62/_buildManifest.js +1 -0
  496. package/app/.next-cli-build/static/chunks/1321-dbbab49aa820c76b.js +1 -0
  497. package/app/.next-cli-build/static/chunks/4072-932473fbd266d3f5.js +3 -0
  498. package/app/.next-cli-build/static/chunks/5497-215b48f00706d2c8.js +7 -0
  499. package/app/.next-cli-build/static/chunks/6069-b72e6803d5df6bb0.js +53 -0
  500. package/app/.next-cli-build/static/chunks/705-979ff3eb195b9023.js +1 -0
  501. package/app/.next-cli-build/static/chunks/8982-6d1803817450bcd4.js +11 -0
  502. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/admin/keys/page-770d25a6e4c1c16b.js +1 -0
  503. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/admin/users/page-c02ec2a52cb81f6c.js +1 -0
  504. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-00067a1ed47e8a1a.js +1 -0
  505. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-6b52a6040f91175e.js +1 -0
  506. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-7e1032515aa7b846.js +1 -0
  507. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-b0ea71f0ee7d3f0d.js +1 -0
  508. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-3255488cfa30dbe8.js +1 -0
  509. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-a803dd8339e39a59.js +1 -0
  510. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-248f90bb1f8438b5.js +59 -0
  511. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-f2ad20d24fffaed1.js +1 -0
  512. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-9b1c19519a3fcdd6.js +4 -0
  513. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-c9d255cd986ec35f.js +1 -0
  514. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/page-6783a97fcd89ff19.js +1 -0
  515. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-35bb7f0efeba6102.js +1 -0
  516. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-5cfb7ca8b362af6f.js +1 -0
  517. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-1e127be17d25ddd8.js +10 -0
  518. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/page-7c91743514149c71.js +1 -0
  519. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-95bd9413da0d98a6.js +1 -0
  520. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-022d3cf41ae7126d.js +4 -0
  521. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-561f95b84b06ae49.js +2 -0
  522. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-88a024a500d543fa.js +1 -0
  523. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-f514bcc6e633f162.js +1 -0
  524. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-2551a48ef918b89b.js +1 -0
  525. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/user/page-2bb3871609a94258.js +4 -0
  526. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-b38e9f02aacbdcc5.js +1 -0
  527. package/app/.next-cli-build/static/chunks/app/_global-error/page-f514bcc6e633f162.js +1 -0
  528. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-f514bcc6e633f162.js +1 -0
  529. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-f514bcc6e633f162.js +1 -0
  530. package/app/.next-cli-build/static/chunks/app/api/auth/me/route-f514bcc6e633f162.js +1 -0
  531. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-f514bcc6e633f162.js +1 -0
  532. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-f514bcc6e633f162.js +1 -0
  533. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-f514bcc6e633f162.js +1 -0
  534. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-f514bcc6e633f162.js +1 -0
  535. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-f514bcc6e633f162.js +1 -0
  536. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-f514bcc6e633f162.js +1 -0
  537. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-f514bcc6e633f162.js +1 -0
  538. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-f514bcc6e633f162.js +1 -0
  539. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-f514bcc6e633f162.js +1 -0
  540. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-f514bcc6e633f162.js +1 -0
  541. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/activate-account/route-f514bcc6e633f162.js +1 -0
  542. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-f514bcc6e633f162.js +1 -0
  543. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-f514bcc6e633f162.js +1 -0
  544. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-f514bcc6e633f162.js +1 -0
  545. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-f514bcc6e633f162.js +1 -0
  546. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-f514bcc6e633f162.js +1 -0
  547. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-f514bcc6e633f162.js +1 -0
  548. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-f514bcc6e633f162.js +1 -0
  549. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-f514bcc6e633f162.js +1 -0
  550. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-f514bcc6e633f162.js +1 -0
  551. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-f514bcc6e633f162.js +1 -0
  552. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-f514bcc6e633f162.js +1 -0
  553. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-f514bcc6e633f162.js +1 -0
  554. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-f514bcc6e633f162.js +1 -0
  555. package/app/.next-cli-build/static/chunks/app/api/combos/route-f514bcc6e633f162.js +1 -0
  556. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-f514bcc6e633f162.js +1 -0
  557. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-f514bcc6e633f162.js +1 -0
  558. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-f514bcc6e633f162.js +1 -0
  559. package/app/.next-cli-build/static/chunks/app/api/health/route-f514bcc6e633f162.js +1 -0
  560. package/app/.next-cli-build/static/chunks/app/api/init/route-f514bcc6e633f162.js +1 -0
  561. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-f514bcc6e633f162.js +1 -0
  562. package/app/.next-cli-build/static/chunks/app/api/keys/route-f514bcc6e633f162.js +1 -0
  563. package/app/.next-cli-build/static/chunks/app/api/locale/route-f514bcc6e633f162.js +1 -0
  564. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-f514bcc6e633f162.js +1 -0
  565. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-f514bcc6e633f162.js +1 -0
  566. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-f514bcc6e633f162.js +1 -0
  567. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-f514bcc6e633f162.js +1 -0
  568. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-f514bcc6e633f162.js +1 -0
  569. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-f514bcc6e633f162.js +1 -0
  570. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-f514bcc6e633f162.js +1 -0
  571. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-f514bcc6e633f162.js +1 -0
  572. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-f514bcc6e633f162.js +1 -0
  573. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-f514bcc6e633f162.js +1 -0
  574. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-f514bcc6e633f162.js +1 -0
  575. package/app/.next-cli-build/static/chunks/app/api/models/route-f514bcc6e633f162.js +1 -0
  576. package/app/.next-cli-build/static/chunks/app/api/models/test/route-f514bcc6e633f162.js +1 -0
  577. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-f514bcc6e633f162.js +1 -0
  578. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-f514bcc6e633f162.js +1 -0
  579. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-f514bcc6e633f162.js +1 -0
  580. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-f514bcc6e633f162.js +1 -0
  581. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-f514bcc6e633f162.js +1 -0
  582. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-f514bcc6e633f162.js +1 -0
  583. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-f514bcc6e633f162.js +1 -0
  584. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-f514bcc6e633f162.js +1 -0
  585. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-f514bcc6e633f162.js +1 -0
  586. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-f514bcc6e633f162.js +1 -0
  587. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-f514bcc6e633f162.js +1 -0
  588. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-f514bcc6e633f162.js +1 -0
  589. package/app/.next-cli-build/static/chunks/app/api/pricing/route-f514bcc6e633f162.js +1 -0
  590. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-f514bcc6e633f162.js +1 -0
  591. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-f514bcc6e633f162.js +1 -0
  592. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-f514bcc6e633f162.js +1 -0
  593. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-f514bcc6e633f162.js +1 -0
  594. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-f514bcc6e633f162.js +1 -0
  595. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-f514bcc6e633f162.js +1 -0
  596. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-f514bcc6e633f162.js +1 -0
  597. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-f514bcc6e633f162.js +1 -0
  598. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-f514bcc6e633f162.js +1 -0
  599. package/app/.next-cli-build/static/chunks/app/api/providers/route-f514bcc6e633f162.js +1 -0
  600. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-f514bcc6e633f162.js +1 -0
  601. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-f514bcc6e633f162.js +1 -0
  602. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-f514bcc6e633f162.js +1 -0
  603. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-f514bcc6e633f162.js +1 -0
  604. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-f514bcc6e633f162.js +1 -0
  605. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-f514bcc6e633f162.js +1 -0
  606. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-f514bcc6e633f162.js +1 -0
  607. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-f514bcc6e633f162.js +1 -0
  608. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-f514bcc6e633f162.js +1 -0
  609. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-f514bcc6e633f162.js +1 -0
  610. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-f514bcc6e633f162.js +1 -0
  611. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-f514bcc6e633f162.js +1 -0
  612. package/app/.next-cli-build/static/chunks/app/api/settings/route-f514bcc6e633f162.js +1 -0
  613. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-f514bcc6e633f162.js +1 -0
  614. package/app/.next-cli-build/static/chunks/app/api/tags/route-f514bcc6e633f162.js +1 -0
  615. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-f514bcc6e633f162.js +1 -0
  616. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-f514bcc6e633f162.js +1 -0
  617. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-f514bcc6e633f162.js +1 -0
  618. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-f514bcc6e633f162.js +1 -0
  619. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-f514bcc6e633f162.js +1 -0
  620. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-f514bcc6e633f162.js +1 -0
  621. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-f514bcc6e633f162.js +1 -0
  622. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-f514bcc6e633f162.js +1 -0
  623. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-f514bcc6e633f162.js +1 -0
  624. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-f514bcc6e633f162.js +1 -0
  625. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-f514bcc6e633f162.js +1 -0
  626. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-f514bcc6e633f162.js +1 -0
  627. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-f514bcc6e633f162.js +1 -0
  628. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-f514bcc6e633f162.js +1 -0
  629. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-f514bcc6e633f162.js +1 -0
  630. package/app/.next-cli-build/static/chunks/app/api/usage/api-keys/route-f514bcc6e633f162.js +1 -0
  631. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-f514bcc6e633f162.js +1 -0
  632. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-f514bcc6e633f162.js +1 -0
  633. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-f514bcc6e633f162.js +1 -0
  634. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-f514bcc6e633f162.js +1 -0
  635. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-f514bcc6e633f162.js +1 -0
  636. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-f514bcc6e633f162.js +1 -0
  637. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-f514bcc6e633f162.js +1 -0
  638. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-f514bcc6e633f162.js +1 -0
  639. package/app/.next-cli-build/static/chunks/app/api/users/[id]/route-f514bcc6e633f162.js +1 -0
  640. package/app/.next-cli-build/static/chunks/app/api/users/route-f514bcc6e633f162.js +1 -0
  641. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-f514bcc6e633f162.js +1 -0
  642. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-f514bcc6e633f162.js +1 -0
  643. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-f514bcc6e633f162.js +1 -0
  644. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-f514bcc6e633f162.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-f514bcc6e633f162.js +1 -0
  646. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-f514bcc6e633f162.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-f514bcc6e633f162.js +1 -0
  648. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-f514bcc6e633f162.js +1 -0
  649. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-f514bcc6e633f162.js +1 -0
  650. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-f514bcc6e633f162.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-f514bcc6e633f162.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-f514bcc6e633f162.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-f514bcc6e633f162.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-f514bcc6e633f162.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/v1/route-f514bcc6e633f162.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-f514bcc6e633f162.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-f514bcc6e633f162.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-f514bcc6e633f162.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-f514bcc6e633f162.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/version/route-f514bcc6e633f162.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-f514bcc6e633f162.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/version/update/route-f514bcc6e633f162.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-fa3a6585ef16a942.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/layout-666059e0e271094b.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/login/page-fc66d6d071e3bcf3.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-f514bcc6e633f162.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/page-f514bcc6e633f162.js +1 -0
  668. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-f514bcc6e633f162.js +1 -0
  669. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-f514bcc6e633f162.js +1 -0
  670. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-f514bcc6e633f162.js +1 -0
  671. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-f514bcc6e633f162.js +1 -0
  672. package/app/.next-cli-build/static/chunks/webpack-786de0e184ffd859.js +1 -0
  673. package/app/.next-cli-build/static/css/d477f23f99f30ee7.css +1 -0
  674. package/app/.next-cli-build/static/css/e60401d99e3ceca2.css +1 -0
  675. package/app/.next-cli-build/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  676. package/app/.next-cli-build/static/media/21350d82a1f187e9-s.woff2 +0 -0
  677. package/app/.next-cli-build/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  678. package/app/.next-cli-build/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  679. package/app/.next-cli-build/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  680. package/app/.next-cli-build/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  681. package/app/.next-cli-build/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  682. package/app/cli/.build-home/.openrouterx/db.json +43 -0
  683. package/app/cli/.build-home/.openrouterx/jwt-secret +1 -0
  684. package/app/cli/.build-home/.openrouterx/machine-id +1 -0
  685. package/app/cli/.build-home/Library/Preferences/nextjs-nodejs/config.json +7 -0
  686. package/app/custom-server.js +32 -0
  687. package/app/package.json +11 -8
  688. package/app/public/providers/codebuddy-cn.png +0 -0
  689. package/app/server.js +1 -1
  690. package/app/src/lib/updater/updater.js +2 -2
  691. package/app/src/mitm/server.js +60 -435
  692. package/cli.js +728 -415
  693. package/hooks/postinstall.js +15 -48
  694. package/hooks/sqliteRuntime.js +156 -0
  695. package/hooks/trayRuntime.js +107 -0
  696. package/package.json +18 -7
  697. package/src/cli/api/client.js +88 -10
  698. package/src/cli/menus/cliTools.js +164 -8
  699. package/src/cli/menus/providers.js +249 -12
  700. package/src/cli/menus/settings.js +138 -31
  701. package/src/cli/terminalUI.js +37 -25
  702. package/src/cli/tray/autostart.js +168 -184
  703. package/src/cli/tray/tray.js +226 -108
  704. package/src/cli/tray/tray.ps1 +79 -0
  705. package/src/cli/tray/trayWin.js +89 -0
  706. package/src/cli/utils/input.js +64 -137
  707. package/src/cli/utils/modelSelector.js +7 -4
  708. package/app/.next/BUILD_ID +0 -1
  709. package/app/.next/app-path-routes-manifest.json +0 -165
  710. package/app/.next/build-manifest.json +0 -20
  711. package/app/.next/prerender-manifest.json +0 -239
  712. package/app/.next/required-server-files.json +0 -376
  713. package/app/.next/routes-manifest.json +0 -1094
  714. package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page.js +0 -2
  715. package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page.js.nft.json +0 -1
  716. package/app/.next/server/app/(dashboard)/dashboard/admin/keys/page_client-reference-manifest.js +0 -1
  717. package/app/.next/server/app/(dashboard)/dashboard/admin/users/page.js +0 -2
  718. package/app/.next/server/app/(dashboard)/dashboard/admin/users/page.js.nft.json +0 -1
  719. package/app/.next/server/app/(dashboard)/dashboard/admin/users/page_client-reference-manifest.js +0 -1
  720. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +0 -2
  721. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +0 -1
  722. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +0 -1
  723. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +0 -24
  724. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +0 -1
  725. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +0 -1
  726. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +0 -2
  727. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +0 -1
  728. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +0 -1
  729. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +0 -2
  730. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +0 -1
  731. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +0 -1
  732. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +0 -2
  733. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +0 -1
  734. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +0 -1
  735. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +0 -2
  736. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +0 -1
  737. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +0 -1
  738. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +0 -60
  739. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +0 -1
  740. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +0 -1
  741. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +0 -2
  742. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +0 -1
  743. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +0 -1
  744. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +0 -5
  745. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +0 -1
  746. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +0 -1
  747. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +0 -2
  748. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +0 -1
  749. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +0 -1
  750. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +0 -2
  751. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +0 -1
  752. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +0 -1
  753. package/app/.next/server/app/(dashboard)/dashboard/page.js +0 -2
  754. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +0 -1
  755. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +0 -1
  756. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +0 -2
  757. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +0 -1
  758. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +0 -1
  759. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +0 -11
  760. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +0 -1
  761. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +0 -1
  762. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +0 -2
  763. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +0 -1
  764. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +0 -1
  765. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +0 -2
  766. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +0 -1
  767. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +0 -1
  768. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +0 -5
  769. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +0 -1
  770. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +0 -1
  771. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +0 -3
  772. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +0 -1
  773. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +0 -1
  774. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +0 -2
  775. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js.nft.json +0 -1
  776. package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +0 -1
  777. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +0 -2
  778. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +0 -1
  779. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +0 -1
  780. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +0 -2
  781. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +0 -1
  782. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +0 -1
  783. package/app/.next/server/app/(dashboard)/dashboard/user/page.js +0 -5
  784. package/app/.next/server/app/(dashboard)/dashboard/user/page.js.nft.json +0 -1
  785. package/app/.next/server/app/(dashboard)/dashboard/user/page_client-reference-manifest.js +0 -1
  786. package/app/.next/server/app/_global-error/page.js +0 -32
  787. package/app/.next/server/app/_global-error/page.js.nft.json +0 -1
  788. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +0 -1
  789. package/app/.next/server/app/_global-error.html +0 -1
  790. package/app/.next/server/app/_global-error.rsc +0 -14
  791. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +0 -14
  792. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +0 -5
  793. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +0 -5
  794. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +0 -5
  795. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +0 -5
  796. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +0 -1
  797. package/app/.next/server/app/_not-found/page.js +0 -2
  798. package/app/.next/server/app/_not-found/page.js.nft.json +0 -1
  799. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
  800. package/app/.next/server/app/_not-found.html +0 -1
  801. package/app/.next/server/app/_not-found.rsc +0 -19
  802. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +0 -19
  803. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
  804. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +0 -8
  805. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
  806. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
  807. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -3
  808. package/app/.next/server/app/api/auth/login/route.js +0 -1
  809. package/app/.next/server/app/api/auth/login/route.js.nft.json +0 -1
  810. package/app/.next/server/app/api/auth/logout/route.js +0 -1
  811. package/app/.next/server/app/api/auth/logout/route.js.nft.json +0 -1
  812. package/app/.next/server/app/api/auth/me/route.js +0 -1
  813. package/app/.next/server/app/api/auth/me/route.js.nft.json +0 -1
  814. package/app/.next/server/app/api/auth/oidc/callback/route.js +0 -1
  815. package/app/.next/server/app/api/auth/oidc/callback/route.js.nft.json +0 -1
  816. package/app/.next/server/app/api/auth/oidc/start/route.js +0 -1
  817. package/app/.next/server/app/api/auth/oidc/start/route.js.nft.json +0 -1
  818. package/app/.next/server/app/api/auth/oidc/test/route.js +0 -1
  819. package/app/.next/server/app/api/auth/oidc/test/route.js.nft.json +0 -1
  820. package/app/.next/server/app/api/auth/reset-password/route.js +0 -1
  821. package/app/.next/server/app/api/auth/reset-password/route.js.nft.json +0 -1
  822. package/app/.next/server/app/api/auth/status/route.js +0 -1
  823. package/app/.next/server/app/api/auth/status/route.js.nft.json +0 -1
  824. package/app/.next/server/app/api/cli-tools/all-statuses/route.js +0 -17
  825. package/app/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +0 -1
  826. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +0 -2
  827. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +0 -1
  828. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +0 -1
  829. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +0 -1
  830. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +0 -2
  831. package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +0 -1
  832. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +0 -2
  833. package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +0 -1
  834. package/app/.next/server/app/api/cli-tools/codex-settings/activate-account/route.js +0 -2
  835. package/app/.next/server/app/api/cli-tools/codex-settings/activate-account/route.js.nft.json +0 -1
  836. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +0 -1
  837. package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +0 -1
  838. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +0 -2
  839. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +0 -1
  840. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +0 -2
  841. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +0 -1
  842. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +0 -2
  843. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +0 -1
  844. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +0 -1
  845. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +0 -1
  846. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +0 -9
  847. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +0 -1
  848. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +0 -2
  849. package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +0 -1
  850. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +0 -10
  851. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +0 -1
  852. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +0 -3
  853. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js.nft.json +0 -1
  854. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +0 -2
  855. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +0 -1
  856. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +0 -2
  857. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +0 -1
  858. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +0 -2
  859. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +0 -1
  860. package/app/.next/server/app/api/combos/[id]/route.js +0 -1
  861. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +0 -1
  862. package/app/.next/server/app/api/combos/route.js +0 -1
  863. package/app/.next/server/app/api/combos/route.js.nft.json +0 -1
  864. package/app/.next/server/app/api/health/route.js +0 -1
  865. package/app/.next/server/app/api/health/route.js.nft.json +0 -1
  866. package/app/.next/server/app/api/init/route.js +0 -1
  867. package/app/.next/server/app/api/init/route.js.nft.json +0 -1
  868. package/app/.next/server/app/api/keys/[id]/route.js +0 -1
  869. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +0 -1
  870. package/app/.next/server/app/api/keys/route.js +0 -1
  871. package/app/.next/server/app/api/keys/route.js.nft.json +0 -1
  872. package/app/.next/server/app/api/locale/route.js +0 -1
  873. package/app/.next/server/app/api/locale/route.js.nft.json +0 -1
  874. package/app/.next/server/app/api/mcp/[plugin]/message/route.js +0 -7
  875. package/app/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +0 -1
  876. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js +0 -10
  877. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +0 -1
  878. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +0 -1
  879. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +0 -1
  880. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +0 -1
  881. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +0 -1
  882. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +0 -1
  883. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +0 -1
  884. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js +0 -1
  885. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +0 -1
  886. package/app/.next/server/app/api/media-providers/tts/voices/route.js +0 -1
  887. package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +0 -1
  888. package/app/.next/server/app/api/models/alias/route.js +0 -1
  889. package/app/.next/server/app/api/models/alias/route.js.nft.json +0 -1
  890. package/app/.next/server/app/api/models/availability/route.js +0 -1
  891. package/app/.next/server/app/api/models/availability/route.js.nft.json +0 -1
  892. package/app/.next/server/app/api/models/custom/route.js +0 -1
  893. package/app/.next/server/app/api/models/custom/route.js.nft.json +0 -1
  894. package/app/.next/server/app/api/models/disabled/route.js +0 -1
  895. package/app/.next/server/app/api/models/disabled/route.js.nft.json +0 -1
  896. package/app/.next/server/app/api/models/route.js +0 -1
  897. package/app/.next/server/app/api/models/route.js.nft.json +0 -1
  898. package/app/.next/server/app/api/models/test/route.js +0 -1
  899. package/app/.next/server/app/api/models/test/route.js.nft.json +0 -1
  900. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +0 -1
  901. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +0 -1
  902. package/app/.next/server/app/api/oauth/codex/bulk-import/route.js +0 -1
  903. package/app/.next/server/app/api/oauth/codex/bulk-import/route.js.nft.json +0 -1
  904. package/app/.next/server/app/api/oauth/codex/import-token/route.js +0 -1
  905. package/app/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +0 -1
  906. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +0 -4
  907. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +0 -1
  908. package/app/.next/server/app/api/oauth/cursor/import/route.js +0 -1
  909. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +0 -1
  910. package/app/.next/server/app/api/oauth/gitlab/pat/route.js +0 -1
  911. package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +0 -1
  912. package/app/.next/server/app/api/oauth/iflow/cookie/route.js +0 -1
  913. package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +0 -1
  914. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +0 -1
  915. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +0 -1
  916. package/app/.next/server/app/api/oauth/kiro/import/route.js +0 -1
  917. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +0 -1
  918. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +0 -1
  919. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +0 -1
  920. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +0 -1
  921. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +0 -1
  922. package/app/.next/server/app/api/pricing/route.js +0 -1
  923. package/app/.next/server/app/api/pricing/route.js.nft.json +0 -1
  924. package/app/.next/server/app/api/provider-nodes/[id]/route.js +0 -1
  925. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +0 -1
  926. package/app/.next/server/app/api/provider-nodes/route.js +0 -1
  927. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +0 -1
  928. package/app/.next/server/app/api/provider-nodes/validate/route.js +0 -1
  929. package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +0 -1
  930. package/app/.next/server/app/api/providers/[id]/models/route.js +0 -1
  931. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +0 -1
  932. package/app/.next/server/app/api/providers/[id]/route.js +0 -1
  933. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +0 -1
  934. package/app/.next/server/app/api/providers/[id]/test/route.js +0 -1
  935. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +0 -1
  936. package/app/.next/server/app/api/providers/[id]/test-models/route.js +0 -1
  937. package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +0 -1
  938. package/app/.next/server/app/api/providers/client/route.js +0 -1
  939. package/app/.next/server/app/api/providers/client/route.js.nft.json +0 -1
  940. package/app/.next/server/app/api/providers/kilo/free-models/route.js +0 -1
  941. package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +0 -1
  942. package/app/.next/server/app/api/providers/route.js +0 -1
  943. package/app/.next/server/app/api/providers/route.js.nft.json +0 -1
  944. package/app/.next/server/app/api/providers/suggested-models/route.js +0 -1
  945. package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +0 -1
  946. package/app/.next/server/app/api/providers/test-batch/route.js +0 -1
  947. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +0 -1
  948. package/app/.next/server/app/api/providers/validate/route.js +0 -1
  949. package/app/.next/server/app/api/providers/validate/route.js.nft.json +0 -1
  950. package/app/.next/server/app/api/proxy-pools/[id]/route.js +0 -1
  951. package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +0 -1
  952. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +0 -1
  953. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +0 -1
  954. package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +0 -43
  955. package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +0 -1
  956. package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js +0 -40
  957. package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +0 -1
  958. package/app/.next/server/app/api/proxy-pools/route.js +0 -1
  959. package/app/.next/server/app/api/proxy-pools/route.js.nft.json +0 -1
  960. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +0 -33
  961. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +0 -1
  962. package/app/.next/server/app/api/settings/database/route.js +0 -1
  963. package/app/.next/server/app/api/settings/database/route.js.nft.json +0 -1
  964. package/app/.next/server/app/api/settings/proxy-test/route.js +0 -1
  965. package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +0 -1
  966. package/app/.next/server/app/api/settings/require-login/route.js +0 -1
  967. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +0 -1
  968. package/app/.next/server/app/api/settings/route.js +0 -1
  969. package/app/.next/server/app/api/settings/route.js.nft.json +0 -1
  970. package/app/.next/server/app/api/shutdown/route.js +0 -1
  971. package/app/.next/server/app/api/shutdown/route.js.nft.json +0 -1
  972. package/app/.next/server/app/api/tags/route.js +0 -1
  973. package/app/.next/server/app/api/tags/route.js.nft.json +0 -1
  974. package/app/.next/server/app/api/translator/console-logs/route.js +0 -1
  975. package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +0 -1
  976. package/app/.next/server/app/api/translator/console-logs/stream/route.js +0 -7
  977. package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +0 -1
  978. package/app/.next/server/app/api/translator/load/route.js +0 -1
  979. package/app/.next/server/app/api/translator/load/route.js.nft.json +0 -1
  980. package/app/.next/server/app/api/translator/save/route.js +0 -1
  981. package/app/.next/server/app/api/translator/save/route.js.nft.json +0 -1
  982. package/app/.next/server/app/api/translator/send/route.js +0 -1
  983. package/app/.next/server/app/api/translator/send/route.js.nft.json +0 -1
  984. package/app/.next/server/app/api/translator/translate/route.js +0 -1
  985. package/app/.next/server/app/api/translator/translate/route.js.nft.json +0 -1
  986. package/app/.next/server/app/api/tunnel/disable/route.js +0 -1
  987. package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +0 -1
  988. package/app/.next/server/app/api/tunnel/enable/route.js +0 -1
  989. package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +0 -1
  990. package/app/.next/server/app/api/tunnel/status/route.js +0 -1
  991. package/app/.next/server/app/api/tunnel/status/route.js.nft.json +0 -1
  992. package/app/.next/server/app/api/tunnel/tailscale-check/route.js +0 -1
  993. package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +0 -1
  994. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +0 -1
  995. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +0 -1
  996. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +0 -1
  997. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +0 -1
  998. package/app/.next/server/app/api/tunnel/tailscale-install/route.js +0 -5
  999. package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +0 -1
  1000. package/app/.next/server/app/api/usage/[connectionId]/route.js +0 -1
  1001. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +0 -1
  1002. package/app/.next/server/app/api/usage/api-keys/route.js +0 -1
  1003. package/app/.next/server/app/api/usage/api-keys/route.js.nft.json +0 -1
  1004. package/app/.next/server/app/api/usage/chart/route.js +0 -1
  1005. package/app/.next/server/app/api/usage/chart/route.js.nft.json +0 -1
  1006. package/app/.next/server/app/api/usage/history/route.js +0 -1
  1007. package/app/.next/server/app/api/usage/history/route.js.nft.json +0 -1
  1008. package/app/.next/server/app/api/usage/logs/route.js +0 -1
  1009. package/app/.next/server/app/api/usage/logs/route.js.nft.json +0 -1
  1010. package/app/.next/server/app/api/usage/providers/route.js +0 -1
  1011. package/app/.next/server/app/api/usage/providers/route.js.nft.json +0 -1
  1012. package/app/.next/server/app/api/usage/request-details/route.js +0 -1
  1013. package/app/.next/server/app/api/usage/request-details/route.js.nft.json +0 -1
  1014. package/app/.next/server/app/api/usage/request-logs/route.js +0 -1
  1015. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +0 -1
  1016. package/app/.next/server/app/api/usage/stats/route.js +0 -1
  1017. package/app/.next/server/app/api/usage/stats/route.js.nft.json +0 -1
  1018. package/app/.next/server/app/api/usage/stream/route.js +0 -7
  1019. package/app/.next/server/app/api/usage/stream/route.js.nft.json +0 -1
  1020. package/app/.next/server/app/api/users/[id]/route.js +0 -1
  1021. package/app/.next/server/app/api/users/[id]/route.js.nft.json +0 -1
  1022. package/app/.next/server/app/api/users/route.js +0 -1
  1023. package/app/.next/server/app/api/users/route.js.nft.json +0 -1
  1024. package/app/.next/server/app/api/v1/api/chat/route.js +0 -1
  1025. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +0 -1
  1026. package/app/.next/server/app/api/v1/audio/speech/route.js +0 -1
  1027. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +0 -1
  1028. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +0 -1
  1029. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +0 -1
  1030. package/app/.next/server/app/api/v1/audio/voices/route.js +0 -1
  1031. package/app/.next/server/app/api/v1/audio/voices/route.js.nft.json +0 -1
  1032. package/app/.next/server/app/api/v1/chat/completions/route.js +0 -1
  1033. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +0 -1
  1034. package/app/.next/server/app/api/v1/embeddings/route.js +0 -1
  1035. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +0 -1
  1036. package/app/.next/server/app/api/v1/images/generations/route.js +0 -4
  1037. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +0 -1
  1038. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +0 -1
  1039. package/app/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +0 -1
  1040. package/app/.next/server/app/api/v1/messages/route.js +0 -1
  1041. package/app/.next/server/app/api/v1/messages/route.js.nft.json +0 -1
  1042. package/app/.next/server/app/api/v1/models/[kind]/route.js +0 -1
  1043. package/app/.next/server/app/api/v1/models/[kind]/route.js.nft.json +0 -1
  1044. package/app/.next/server/app/api/v1/models/info/route.js +0 -1
  1045. package/app/.next/server/app/api/v1/models/info/route.js.nft.json +0 -1
  1046. package/app/.next/server/app/api/v1/models/route.js +0 -1
  1047. package/app/.next/server/app/api/v1/models/route.js.nft.json +0 -1
  1048. package/app/.next/server/app/api/v1/responses/compact/route.js +0 -1
  1049. package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +0 -1
  1050. package/app/.next/server/app/api/v1/responses/route.js +0 -1
  1051. package/app/.next/server/app/api/v1/responses/route.js.nft.json +0 -1
  1052. package/app/.next/server/app/api/v1/route.js +0 -1
  1053. package/app/.next/server/app/api/v1/route.js.nft.json +0 -1
  1054. package/app/.next/server/app/api/v1/search/route.js +0 -1
  1055. package/app/.next/server/app/api/v1/search/route.js.nft.json +0 -1
  1056. package/app/.next/server/app/api/v1/web/fetch/route.js +0 -1
  1057. package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +0 -1
  1058. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +0 -1
  1059. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +0 -1
  1060. package/app/.next/server/app/api/v1beta/models/route.js +0 -1
  1061. package/app/.next/server/app/api/v1beta/models/route.js.nft.json +0 -1
  1062. package/app/.next/server/app/api/version/route.js +0 -1
  1063. package/app/.next/server/app/api/version/route.js.nft.json +0 -1
  1064. package/app/.next/server/app/api/version/shutdown/route.js +0 -1
  1065. package/app/.next/server/app/api/version/shutdown/route.js.nft.json +0 -1
  1066. package/app/.next/server/app/api/version/update/route.js +0 -1
  1067. package/app/.next/server/app/api/version/update/route.js.nft.json +0 -1
  1068. package/app/.next/server/app/callback/page.js +0 -2
  1069. package/app/.next/server/app/callback/page.js.nft.json +0 -1
  1070. package/app/.next/server/app/callback/page_client-reference-manifest.js +0 -1
  1071. package/app/.next/server/app/callback.html +0 -1
  1072. package/app/.next/server/app/callback.rsc +0 -23
  1073. package/app/.next/server/app/callback.segments/_full.segment.rsc +0 -23
  1074. package/app/.next/server/app/callback.segments/_head.segment.rsc +0 -6
  1075. package/app/.next/server/app/callback.segments/_index.segment.rsc +0 -8
  1076. package/app/.next/server/app/callback.segments/_tree.segment.rsc +0 -3
  1077. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +0 -9
  1078. package/app/.next/server/app/callback.segments/callback.segment.rsc +0 -5
  1079. package/app/.next/server/app/dashboard/settings/pricing/page.js +0 -2
  1080. package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +0 -1
  1081. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +0 -1
  1082. package/app/.next/server/app/dashboard/settings/pricing.html +0 -1
  1083. package/app/.next/server/app/dashboard/settings/pricing.rsc +0 -23
  1084. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +0 -23
  1085. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +0 -6
  1086. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +0 -8
  1087. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +0 -3
  1088. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +0 -9
  1089. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +0 -5
  1090. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +0 -5
  1091. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +0 -5
  1092. package/app/.next/server/app/favicon.ico/route.js +0 -1
  1093. package/app/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  1094. package/app/.next/server/app/index.html +0 -1
  1095. package/app/.next/server/app/index.rsc +0 -18
  1096. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -6
  1097. package/app/.next/server/app/index.segments/_full.segment.rsc +0 -18
  1098. package/app/.next/server/app/index.segments/_head.segment.rsc +0 -6
  1099. package/app/.next/server/app/index.segments/_index.segment.rsc +0 -8
  1100. package/app/.next/server/app/index.segments/_tree.segment.rsc +0 -3
  1101. package/app/.next/server/app/landing/page.js +0 -2
  1102. package/app/.next/server/app/landing/page.js.nft.json +0 -1
  1103. package/app/.next/server/app/landing/page_client-reference-manifest.js +0 -1
  1104. package/app/.next/server/app/landing.html +0 -1
  1105. package/app/.next/server/app/landing.rsc +0 -23
  1106. package/app/.next/server/app/landing.segments/_full.segment.rsc +0 -23
  1107. package/app/.next/server/app/landing.segments/_head.segment.rsc +0 -6
  1108. package/app/.next/server/app/landing.segments/_index.segment.rsc +0 -8
  1109. package/app/.next/server/app/landing.segments/_tree.segment.rsc +0 -3
  1110. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +0 -9
  1111. package/app/.next/server/app/landing.segments/landing.segment.rsc +0 -5
  1112. package/app/.next/server/app/login/page.js +0 -2
  1113. package/app/.next/server/app/login/page.js.nft.json +0 -1
  1114. package/app/.next/server/app/login/page_client-reference-manifest.js +0 -1
  1115. package/app/.next/server/app/login.html +0 -1
  1116. package/app/.next/server/app/login.rsc +0 -24
  1117. package/app/.next/server/app/login.segments/_full.segment.rsc +0 -24
  1118. package/app/.next/server/app/login.segments/_head.segment.rsc +0 -6
  1119. package/app/.next/server/app/login.segments/_index.segment.rsc +0 -8
  1120. package/app/.next/server/app/login.segments/_tree.segment.rsc +0 -4
  1121. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +0 -10
  1122. package/app/.next/server/app/login.segments/login.segment.rsc +0 -5
  1123. package/app/.next/server/app/manifest.webmanifest/route.js +0 -16
  1124. package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +0 -1
  1125. package/app/.next/server/app/page.js +0 -2
  1126. package/app/.next/server/app/page.js.nft.json +0 -1
  1127. package/app/.next/server/app/page_client-reference-manifest.js +0 -1
  1128. package/app/.next/server/app-paths-manifest.json +0 -165
  1129. package/app/.next/server/chunks/1172.js +0 -1
  1130. package/app/.next/server/chunks/1350.js +0 -2
  1131. package/app/.next/server/chunks/1476.js +0 -1
  1132. package/app/.next/server/chunks/1531.js +0 -1
  1133. package/app/.next/server/chunks/1813.js +0 -1
  1134. package/app/.next/server/chunks/2059.js +0 -1
  1135. package/app/.next/server/chunks/2409.js +0 -1
  1136. package/app/.next/server/chunks/2560.js +0 -1
  1137. package/app/.next/server/chunks/2722.js +0 -53
  1138. package/app/.next/server/chunks/2750.js +0 -31
  1139. package/app/.next/server/chunks/3104.js +0 -43
  1140. package/app/.next/server/chunks/319.js +0 -45
  1141. package/app/.next/server/chunks/3205.js +0 -1
  1142. package/app/.next/server/chunks/365.js +0 -1
  1143. package/app/.next/server/chunks/3663.js +0 -1
  1144. package/app/.next/server/chunks/3913.js +0 -64
  1145. package/app/.next/server/chunks/412.js +0 -7
  1146. package/app/.next/server/chunks/4177.js +0 -1
  1147. package/app/.next/server/chunks/4404.js +0 -1
  1148. package/app/.next/server/chunks/4565.js +0 -3
  1149. package/app/.next/server/chunks/4922.js +0 -9
  1150. package/app/.next/server/chunks/5681.js +0 -1
  1151. package/app/.next/server/chunks/6001.js +0 -1
  1152. package/app/.next/server/chunks/6108.js +0 -1
  1153. package/app/.next/server/chunks/6327.js +0 -1
  1154. package/app/.next/server/chunks/7221.js +0 -1
  1155. package/app/.next/server/chunks/7341.js +0 -1
  1156. package/app/.next/server/chunks/7540.js +0 -67
  1157. package/app/.next/server/chunks/7774.js +0 -120
  1158. package/app/.next/server/chunks/7879.js +0 -10
  1159. package/app/.next/server/chunks/7937.js +0 -186
  1160. package/app/.next/server/chunks/8220.js +0 -1
  1161. package/app/.next/server/chunks/8238.js +0 -1
  1162. package/app/.next/server/chunks/8342.js +0 -1
  1163. package/app/.next/server/chunks/8895.js +0 -55
  1164. package/app/.next/server/chunks/9203.js +0 -1
  1165. package/app/.next/server/chunks/9259.js +0 -3
  1166. package/app/.next/server/chunks/9489.js +0 -1
  1167. package/app/.next/server/chunks/9501.js +0 -63
  1168. package/app/.next/server/chunks/9660.js +0 -1
  1169. package/app/.next/server/chunks/9713.js +0 -1
  1170. package/app/.next/server/chunks/9718.js +0 -1
  1171. package/app/.next/server/chunks/9856.js +0 -1
  1172. package/app/.next/server/middleware-build-manifest.js +0 -1
  1173. package/app/.next/server/middleware.js +0 -18
  1174. package/app/.next/server/next-font-manifest.js +0 -1
  1175. package/app/.next/server/next-font-manifest.json +0 -1
  1176. package/app/.next/server/pages/404.html +0 -1
  1177. package/app/.next/server/pages/500.html +0 -1
  1178. package/app/.next/server/server-reference-manifest.js +0 -1
  1179. package/app/.next/server/server-reference-manifest.json +0 -1
  1180. package/app/.next/static/MxcY0EY8eMa4ouCwsP4Cl/_buildManifest.js +0 -1
  1181. package/app/.next/static/chunks/1321-134c6f0196307f47.js +0 -1
  1182. package/app/.next/static/chunks/4072-e3cbc885320b3535.js +0 -3
  1183. package/app/.next/static/chunks/5497-61f5cbbdfc3da704.js +0 -7
  1184. package/app/.next/static/chunks/6069-130fdae38088e4e7.js +0 -53
  1185. package/app/.next/static/chunks/app/(dashboard)/dashboard/admin/keys/page-0d5b57da4abb6962.js +0 -1
  1186. package/app/.next/static/chunks/app/(dashboard)/dashboard/admin/users/page-972703d59d2a3986.js +0 -1
  1187. package/app/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-e1bd21507327d2bc.js +0 -1
  1188. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-ba3be29df191769b.js +0 -1
  1189. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-a0eaec978d93b101.js +0 -1
  1190. package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-ca6a0263fcfc70df.js +0 -1
  1191. package/app/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-57065ce85ec52703.js +0 -1
  1192. package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-c8f75b084231c080.js +0 -1
  1193. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-e43ee64cc1f1547c.js +0 -59
  1194. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-c64dd1d0b2bd9caf.js +0 -1
  1195. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-9586c0b67f30a21b.js +0 -4
  1196. package/app/.next/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-c7fbf29bdbdabee9.js +0 -1
  1197. package/app/.next/static/chunks/app/(dashboard)/dashboard/mitm/page-b52d2279e8eff62d.js +0 -1
  1198. package/app/.next/static/chunks/app/(dashboard)/dashboard/page-8fceba7ec6407143.js +0 -1
  1199. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-96d7ec789592a2ec.js +0 -1
  1200. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-a2ec9b595a5c5600.js +0 -10
  1201. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-0bf3048423ab0128.js +0 -1
  1202. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-979e3e3663264d2b.js +0 -1
  1203. package/app/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-77e1358581cbeecd.js +0 -4
  1204. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-51f915ba68f44424.js +0 -2
  1205. package/app/.next/static/chunks/app/(dashboard)/dashboard/skills/page-9202b5ce0650c3ab.js +0 -1
  1206. package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-8d41d89fe12ae485.js +0 -1
  1207. package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-18d6399108c458a6.js +0 -1
  1208. package/app/.next/static/chunks/app/(dashboard)/dashboard/user/page-12765c664b3c1f6d.js +0 -4
  1209. package/app/.next/static/chunks/app/(dashboard)/layout-2b26025389c75878.js +0 -1
  1210. package/app/.next/static/chunks/app/_global-error/page-8d41d89fe12ae485.js +0 -1
  1211. package/app/.next/static/chunks/app/api/auth/login/route-8d41d89fe12ae485.js +0 -1
  1212. package/app/.next/static/chunks/app/api/auth/logout/route-8d41d89fe12ae485.js +0 -1
  1213. package/app/.next/static/chunks/app/api/auth/me/route-8d41d89fe12ae485.js +0 -1
  1214. package/app/.next/static/chunks/app/api/auth/oidc/callback/route-8d41d89fe12ae485.js +0 -1
  1215. package/app/.next/static/chunks/app/api/auth/oidc/start/route-8d41d89fe12ae485.js +0 -1
  1216. package/app/.next/static/chunks/app/api/auth/oidc/test/route-8d41d89fe12ae485.js +0 -1
  1217. package/app/.next/static/chunks/app/api/auth/reset-password/route-8d41d89fe12ae485.js +0 -1
  1218. package/app/.next/static/chunks/app/api/auth/status/route-8d41d89fe12ae485.js +0 -1
  1219. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-8d41d89fe12ae485.js +0 -1
  1220. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-8d41d89fe12ae485.js +0 -1
  1221. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-8d41d89fe12ae485.js +0 -1
  1222. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-8d41d89fe12ae485.js +0 -1
  1223. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-8d41d89fe12ae485.js +0 -1
  1224. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/activate-account/route-8d41d89fe12ae485.js +0 -1
  1225. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-8d41d89fe12ae485.js +0 -1
  1226. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-8d41d89fe12ae485.js +0 -1
  1227. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-8d41d89fe12ae485.js +0 -1
  1228. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-8d41d89fe12ae485.js +0 -1
  1229. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-8d41d89fe12ae485.js +0 -1
  1230. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-8d41d89fe12ae485.js +0 -1
  1231. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-8d41d89fe12ae485.js +0 -1
  1232. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-8d41d89fe12ae485.js +0 -1
  1233. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-8d41d89fe12ae485.js +0 -1
  1234. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-8d41d89fe12ae485.js +0 -1
  1235. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-8d41d89fe12ae485.js +0 -1
  1236. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-8d41d89fe12ae485.js +0 -1
  1237. package/app/.next/static/chunks/app/api/combos/[id]/route-8d41d89fe12ae485.js +0 -1
  1238. package/app/.next/static/chunks/app/api/combos/route-8d41d89fe12ae485.js +0 -1
  1239. package/app/.next/static/chunks/app/api/health/route-8d41d89fe12ae485.js +0 -1
  1240. package/app/.next/static/chunks/app/api/init/route-8d41d89fe12ae485.js +0 -1
  1241. package/app/.next/static/chunks/app/api/keys/[id]/route-8d41d89fe12ae485.js +0 -1
  1242. package/app/.next/static/chunks/app/api/keys/route-8d41d89fe12ae485.js +0 -1
  1243. package/app/.next/static/chunks/app/api/locale/route-8d41d89fe12ae485.js +0 -1
  1244. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-8d41d89fe12ae485.js +0 -1
  1245. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-8d41d89fe12ae485.js +0 -1
  1246. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-8d41d89fe12ae485.js +0 -1
  1247. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-8d41d89fe12ae485.js +0 -1
  1248. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-8d41d89fe12ae485.js +0 -1
  1249. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-8d41d89fe12ae485.js +0 -1
  1250. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-8d41d89fe12ae485.js +0 -1
  1251. package/app/.next/static/chunks/app/api/models/alias/route-8d41d89fe12ae485.js +0 -1
  1252. package/app/.next/static/chunks/app/api/models/availability/route-8d41d89fe12ae485.js +0 -1
  1253. package/app/.next/static/chunks/app/api/models/custom/route-8d41d89fe12ae485.js +0 -1
  1254. package/app/.next/static/chunks/app/api/models/disabled/route-8d41d89fe12ae485.js +0 -1
  1255. package/app/.next/static/chunks/app/api/models/route-8d41d89fe12ae485.js +0 -1
  1256. package/app/.next/static/chunks/app/api/models/test/route-8d41d89fe12ae485.js +0 -1
  1257. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-8d41d89fe12ae485.js +0 -1
  1258. package/app/.next/static/chunks/app/api/oauth/codex/bulk-import/route-8d41d89fe12ae485.js +0 -1
  1259. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-8d41d89fe12ae485.js +0 -1
  1260. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-8d41d89fe12ae485.js +0 -1
  1261. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-8d41d89fe12ae485.js +0 -1
  1262. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-8d41d89fe12ae485.js +0 -1
  1263. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-8d41d89fe12ae485.js +0 -1
  1264. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-8d41d89fe12ae485.js +0 -1
  1265. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-8d41d89fe12ae485.js +0 -1
  1266. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-8d41d89fe12ae485.js +0 -1
  1267. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-8d41d89fe12ae485.js +0 -1
  1268. package/app/.next/static/chunks/app/api/pricing/route-8d41d89fe12ae485.js +0 -1
  1269. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-8d41d89fe12ae485.js +0 -1
  1270. package/app/.next/static/chunks/app/api/provider-nodes/route-8d41d89fe12ae485.js +0 -1
  1271. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-8d41d89fe12ae485.js +0 -1
  1272. package/app/.next/static/chunks/app/api/providers/[id]/models/route-8d41d89fe12ae485.js +0 -1
  1273. package/app/.next/static/chunks/app/api/providers/[id]/route-8d41d89fe12ae485.js +0 -1
  1274. package/app/.next/static/chunks/app/api/providers/[id]/test/route-8d41d89fe12ae485.js +0 -1
  1275. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-8d41d89fe12ae485.js +0 -1
  1276. package/app/.next/static/chunks/app/api/providers/client/route-8d41d89fe12ae485.js +0 -1
  1277. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-8d41d89fe12ae485.js +0 -1
  1278. package/app/.next/static/chunks/app/api/providers/route-8d41d89fe12ae485.js +0 -1
  1279. package/app/.next/static/chunks/app/api/providers/suggested-models/route-8d41d89fe12ae485.js +0 -1
  1280. package/app/.next/static/chunks/app/api/providers/test-batch/route-8d41d89fe12ae485.js +0 -1
  1281. package/app/.next/static/chunks/app/api/providers/validate/route-8d41d89fe12ae485.js +0 -1
  1282. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-8d41d89fe12ae485.js +0 -1
  1283. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-8d41d89fe12ae485.js +0 -1
  1284. package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-8d41d89fe12ae485.js +0 -1
  1285. package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-8d41d89fe12ae485.js +0 -1
  1286. package/app/.next/static/chunks/app/api/proxy-pools/route-8d41d89fe12ae485.js +0 -1
  1287. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-8d41d89fe12ae485.js +0 -1
  1288. package/app/.next/static/chunks/app/api/settings/database/route-8d41d89fe12ae485.js +0 -1
  1289. package/app/.next/static/chunks/app/api/settings/proxy-test/route-8d41d89fe12ae485.js +0 -1
  1290. package/app/.next/static/chunks/app/api/settings/require-login/route-8d41d89fe12ae485.js +0 -1
  1291. package/app/.next/static/chunks/app/api/settings/route-8d41d89fe12ae485.js +0 -1
  1292. package/app/.next/static/chunks/app/api/shutdown/route-8d41d89fe12ae485.js +0 -1
  1293. package/app/.next/static/chunks/app/api/tags/route-8d41d89fe12ae485.js +0 -1
  1294. package/app/.next/static/chunks/app/api/translator/console-logs/route-8d41d89fe12ae485.js +0 -1
  1295. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-8d41d89fe12ae485.js +0 -1
  1296. package/app/.next/static/chunks/app/api/translator/load/route-8d41d89fe12ae485.js +0 -1
  1297. package/app/.next/static/chunks/app/api/translator/save/route-8d41d89fe12ae485.js +0 -1
  1298. package/app/.next/static/chunks/app/api/translator/send/route-8d41d89fe12ae485.js +0 -1
  1299. package/app/.next/static/chunks/app/api/translator/translate/route-8d41d89fe12ae485.js +0 -1
  1300. package/app/.next/static/chunks/app/api/tunnel/disable/route-8d41d89fe12ae485.js +0 -1
  1301. package/app/.next/static/chunks/app/api/tunnel/enable/route-8d41d89fe12ae485.js +0 -1
  1302. package/app/.next/static/chunks/app/api/tunnel/status/route-8d41d89fe12ae485.js +0 -1
  1303. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-8d41d89fe12ae485.js +0 -1
  1304. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-8d41d89fe12ae485.js +0 -1
  1305. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-8d41d89fe12ae485.js +0 -1
  1306. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-8d41d89fe12ae485.js +0 -1
  1307. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-8d41d89fe12ae485.js +0 -1
  1308. package/app/.next/static/chunks/app/api/usage/api-keys/route-8d41d89fe12ae485.js +0 -1
  1309. package/app/.next/static/chunks/app/api/usage/chart/route-8d41d89fe12ae485.js +0 -1
  1310. package/app/.next/static/chunks/app/api/usage/history/route-8d41d89fe12ae485.js +0 -1
  1311. package/app/.next/static/chunks/app/api/usage/logs/route-8d41d89fe12ae485.js +0 -1
  1312. package/app/.next/static/chunks/app/api/usage/providers/route-8d41d89fe12ae485.js +0 -1
  1313. package/app/.next/static/chunks/app/api/usage/request-details/route-8d41d89fe12ae485.js +0 -1
  1314. package/app/.next/static/chunks/app/api/usage/request-logs/route-8d41d89fe12ae485.js +0 -1
  1315. package/app/.next/static/chunks/app/api/usage/stats/route-8d41d89fe12ae485.js +0 -1
  1316. package/app/.next/static/chunks/app/api/usage/stream/route-8d41d89fe12ae485.js +0 -1
  1317. package/app/.next/static/chunks/app/api/users/[id]/route-8d41d89fe12ae485.js +0 -1
  1318. package/app/.next/static/chunks/app/api/users/route-8d41d89fe12ae485.js +0 -1
  1319. package/app/.next/static/chunks/app/api/v1/api/chat/route-8d41d89fe12ae485.js +0 -1
  1320. package/app/.next/static/chunks/app/api/v1/audio/speech/route-8d41d89fe12ae485.js +0 -1
  1321. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-8d41d89fe12ae485.js +0 -1
  1322. package/app/.next/static/chunks/app/api/v1/audio/voices/route-8d41d89fe12ae485.js +0 -1
  1323. package/app/.next/static/chunks/app/api/v1/chat/completions/route-8d41d89fe12ae485.js +0 -1
  1324. package/app/.next/static/chunks/app/api/v1/embeddings/route-8d41d89fe12ae485.js +0 -1
  1325. package/app/.next/static/chunks/app/api/v1/images/generations/route-8d41d89fe12ae485.js +0 -1
  1326. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-8d41d89fe12ae485.js +0 -1
  1327. package/app/.next/static/chunks/app/api/v1/messages/route-8d41d89fe12ae485.js +0 -1
  1328. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-8d41d89fe12ae485.js +0 -1
  1329. package/app/.next/static/chunks/app/api/v1/models/info/route-8d41d89fe12ae485.js +0 -1
  1330. package/app/.next/static/chunks/app/api/v1/models/route-8d41d89fe12ae485.js +0 -1
  1331. package/app/.next/static/chunks/app/api/v1/responses/compact/route-8d41d89fe12ae485.js +0 -1
  1332. package/app/.next/static/chunks/app/api/v1/responses/route-8d41d89fe12ae485.js +0 -1
  1333. package/app/.next/static/chunks/app/api/v1/route-8d41d89fe12ae485.js +0 -1
  1334. package/app/.next/static/chunks/app/api/v1/search/route-8d41d89fe12ae485.js +0 -1
  1335. package/app/.next/static/chunks/app/api/v1/web/fetch/route-8d41d89fe12ae485.js +0 -1
  1336. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-8d41d89fe12ae485.js +0 -1
  1337. package/app/.next/static/chunks/app/api/v1beta/models/route-8d41d89fe12ae485.js +0 -1
  1338. package/app/.next/static/chunks/app/api/version/route-8d41d89fe12ae485.js +0 -1
  1339. package/app/.next/static/chunks/app/api/version/shutdown/route-8d41d89fe12ae485.js +0 -1
  1340. package/app/.next/static/chunks/app/api/version/update/route-8d41d89fe12ae485.js +0 -1
  1341. package/app/.next/static/chunks/app/dashboard/settings/pricing/page-9d24273d41fadd28.js +0 -1
  1342. package/app/.next/static/chunks/app/layout-2f20e93bb64f203d.js +0 -1
  1343. package/app/.next/static/chunks/app/login/page-3192fc777d7b8d4d.js +0 -1
  1344. package/app/.next/static/chunks/app/manifest.webmanifest/route-8d41d89fe12ae485.js +0 -1
  1345. package/app/.next/static/chunks/app/page-8d41d89fe12ae485.js +0 -1
  1346. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-8d41d89fe12ae485.js +0 -1
  1347. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-8d41d89fe12ae485.js +0 -1
  1348. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-8d41d89fe12ae485.js +0 -1
  1349. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-8d41d89fe12ae485.js +0 -1
  1350. package/app/.next/static/chunks/webpack-b9b0d264958323b9.js +0 -1
  1351. package/app/.next/static/css/f240ded5456043a2.css +0 -1
  1352. package/app/.next/static/css/fe3b2b4e527f4e99.css +0 -1
  1353. package/app/node_modules/@img/colour/color.cjs +0 -1596
  1354. package/app/node_modules/@img/colour/index.cjs +0 -1
  1355. package/app/node_modules/@img/colour/package.json +0 -58
  1356. package/app/node_modules/@img/sharp-darwin-arm64/LICENSE +0 -191
  1357. package/app/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  1358. package/app/node_modules/@img/sharp-darwin-arm64/package.json +0 -40
  1359. package/app/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +0 -1
  1360. package/app/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
  1361. package/app/node_modules/@img/sharp-libvips-darwin-arm64/package.json +0 -36
  1362. package/app/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +0 -30
  1363. package/app/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  1364. package/app/node_modules/better-sqlite3/lib/database.js +0 -90
  1365. package/app/node_modules/better-sqlite3/lib/index.js +0 -3
  1366. package/app/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  1367. package/app/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  1368. package/app/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  1369. package/app/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  1370. package/app/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  1371. package/app/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  1372. package/app/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  1373. package/app/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  1374. package/app/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  1375. package/app/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  1376. package/app/node_modules/better-sqlite3/lib/util.js +0 -12
  1377. package/app/node_modules/better-sqlite3/package.json +0 -59
  1378. package/app/node_modules/detect-libc/lib/detect-libc.js +0 -313
  1379. package/app/node_modules/detect-libc/lib/elf.js +0 -39
  1380. package/app/node_modules/detect-libc/lib/filesystem.js +0 -51
  1381. package/app/node_modules/detect-libc/lib/process.js +0 -24
  1382. package/app/node_modules/detect-libc/package.json +0 -44
  1383. package/app/node_modules/sharp/lib/channel.js +0 -177
  1384. package/app/node_modules/sharp/lib/colour.js +0 -195
  1385. package/app/node_modules/sharp/lib/composite.js +0 -212
  1386. package/app/node_modules/sharp/lib/constructor.js +0 -499
  1387. package/app/node_modules/sharp/lib/index.js +0 -16
  1388. package/app/node_modules/sharp/lib/input.js +0 -809
  1389. package/app/node_modules/sharp/lib/is.js +0 -143
  1390. package/app/node_modules/sharp/lib/libvips.js +0 -207
  1391. package/app/node_modules/sharp/lib/operation.js +0 -1016
  1392. package/app/node_modules/sharp/lib/output.js +0 -1666
  1393. package/app/node_modules/sharp/lib/resize.js +0 -595
  1394. package/app/node_modules/sharp/lib/sharp.js +0 -121
  1395. package/app/node_modules/sharp/lib/utility.js +0 -291
  1396. package/app/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
  1397. package/app/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
  1398. package/app/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
  1399. package/app/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
  1400. package/app/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
  1401. package/app/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
  1402. package/app/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
  1403. package/app/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
  1404. package/app/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
  1405. package/app/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
  1406. package/app/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
  1407. package/app/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
  1408. package/app/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
  1409. package/app/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
  1410. package/app/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
  1411. package/app/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
  1412. package/app/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
  1413. package/app/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
  1414. package/app/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
  1415. package/app/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
  1416. package/app/node_modules/sharp/node_modules/semver/package.json +0 -78
  1417. package/app/node_modules/sharp/package.json +0 -202
  1418. package/app/src/mitm/antigravityIdeVersion.js +0 -50
  1419. package/app/src/mitm/cert/generate.js +0 -32
  1420. package/app/src/mitm/cert/install.js +0 -269
  1421. package/app/src/mitm/cert/rootCA.js +0 -173
  1422. package/app/src/mitm/config.js +0 -89
  1423. package/app/src/mitm/dbReader.js +0 -22
  1424. package/app/src/mitm/dns/dnsConfig.js +0 -266
  1425. package/app/src/mitm/handlers/antigravity.js +0 -33
  1426. package/app/src/mitm/handlers/base.js +0 -226
  1427. package/app/src/mitm/handlers/copilot.js +0 -35
  1428. package/app/src/mitm/handlers/cursor.js +0 -15
  1429. package/app/src/mitm/handlers/kiro.js +0 -526
  1430. package/app/src/mitm/logger.js +0 -106
  1431. package/app/src/mitm/manager.js +0 -851
  1432. package/app/src/mitm/paths.js +0 -32
  1433. package/app/src/mitm/winElevated.js +0 -81
  1434. package/app/src/shared/constants/mitmToolHosts.js +0 -12
  1435. /package/app/{.next → .next-cli-build}/package.json +0 -0
  1436. /package/app/{.next → .next-cli-build}/react-loadable-manifest.json +0 -0
  1437. /package/app/{.next → .next-cli-build}/server/app/_global-error.meta +0 -0
  1438. /package/app/{.next → .next-cli-build}/server/app/_not-found.meta +0 -0
  1439. /package/app/{.next → .next-cli-build}/server/app/api/auth/login/route_client-reference-manifest.js +0 -0
  1440. /package/app/{.next → .next-cli-build}/server/app/api/auth/logout/route_client-reference-manifest.js +0 -0
  1441. /package/app/{.next → .next-cli-build}/server/app/api/auth/me/route_client-reference-manifest.js +0 -0
  1442. /package/app/{.next → .next-cli-build}/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +0 -0
  1443. /package/app/{.next → .next-cli-build}/server/app/api/auth/oidc/start/route_client-reference-manifest.js +0 -0
  1444. /package/app/{.next → .next-cli-build}/server/app/api/auth/oidc/test/route_client-reference-manifest.js +0 -0
  1445. /package/app/{.next → .next-cli-build}/server/app/api/auth/reset-password/route_client-reference-manifest.js +0 -0
  1446. /package/app/{.next → .next-cli-build}/server/app/api/auth/status/route_client-reference-manifest.js +0 -0
  1447. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +0 -0
  1448. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +0 -0
  1449. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +0 -0
  1450. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +0 -0
  1451. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +0 -0
  1452. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/codex-settings/activate-account/route_client-reference-manifest.js +0 -0
  1453. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +0 -0
  1454. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +0 -0
  1455. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +0 -0
  1456. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +0 -0
  1457. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +0 -0
  1458. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +0 -0
  1459. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +0 -0
  1460. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +0 -0
  1461. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +0 -0
  1462. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +0 -0
  1463. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +0 -0
  1464. /package/app/{.next → .next-cli-build}/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +0 -0
  1465. /package/app/{.next → .next-cli-build}/server/app/api/combos/[id]/route_client-reference-manifest.js +0 -0
  1466. /package/app/{.next → .next-cli-build}/server/app/api/combos/route_client-reference-manifest.js +0 -0
  1467. /package/app/{.next → .next-cli-build}/server/app/api/health/route_client-reference-manifest.js +0 -0
  1468. /package/app/{.next → .next-cli-build}/server/app/api/init/route_client-reference-manifest.js +0 -0
  1469. /package/app/{.next → .next-cli-build}/server/app/api/keys/[id]/route_client-reference-manifest.js +0 -0
  1470. /package/app/{.next → .next-cli-build}/server/app/api/keys/route_client-reference-manifest.js +0 -0
  1471. /package/app/{.next → .next-cli-build}/server/app/api/locale/route_client-reference-manifest.js +0 -0
  1472. /package/app/{.next → .next-cli-build}/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +0 -0
  1473. /package/app/{.next → .next-cli-build}/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +0 -0
  1474. /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +0 -0
  1475. /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +0 -0
  1476. /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +0 -0
  1477. /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +0 -0
  1478. /package/app/{.next → .next-cli-build}/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +0 -0
  1479. /package/app/{.next → .next-cli-build}/server/app/api/models/alias/route_client-reference-manifest.js +0 -0
  1480. /package/app/{.next → .next-cli-build}/server/app/api/models/availability/route_client-reference-manifest.js +0 -0
  1481. /package/app/{.next → .next-cli-build}/server/app/api/models/custom/route_client-reference-manifest.js +0 -0
  1482. /package/app/{.next → .next-cli-build}/server/app/api/models/disabled/route_client-reference-manifest.js +0 -0
  1483. /package/app/{.next → .next-cli-build}/server/app/api/models/route_client-reference-manifest.js +0 -0
  1484. /package/app/{.next → .next-cli-build}/server/app/api/models/test/route_client-reference-manifest.js +0 -0
  1485. /package/app/{.next → .next-cli-build}/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +0 -0
  1486. /package/app/{.next → .next-cli-build}/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +0 -0
  1487. /package/app/{.next → .next-cli-build}/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +0 -0
  1488. /package/app/{.next → .next-cli-build}/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +0 -0
  1489. /package/app/{.next → .next-cli-build}/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +0 -0
  1490. /package/app/{.next → .next-cli-build}/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +0 -0
  1491. /package/app/{.next → .next-cli-build}/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +0 -0
  1492. /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +0 -0
  1493. /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +0 -0
  1494. /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +0 -0
  1495. /package/app/{.next → .next-cli-build}/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +0 -0
  1496. /package/app/{.next → .next-cli-build}/server/app/api/pricing/route_client-reference-manifest.js +0 -0
  1497. /package/app/{.next → .next-cli-build}/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +0 -0
  1498. /package/app/{.next → .next-cli-build}/server/app/api/provider-nodes/route_client-reference-manifest.js +0 -0
  1499. /package/app/{.next → .next-cli-build}/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +0 -0
  1500. /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/models/route_client-reference-manifest.js +0 -0
  1501. /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/route_client-reference-manifest.js +0 -0
  1502. /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/test/route_client-reference-manifest.js +0 -0
  1503. /package/app/{.next → .next-cli-build}/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +0 -0
  1504. /package/app/{.next → .next-cli-build}/server/app/api/providers/client/route_client-reference-manifest.js +0 -0
  1505. /package/app/{.next → .next-cli-build}/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +0 -0
  1506. /package/app/{.next → .next-cli-build}/server/app/api/providers/route_client-reference-manifest.js +0 -0
  1507. /package/app/{.next → .next-cli-build}/server/app/api/providers/suggested-models/route_client-reference-manifest.js +0 -0
  1508. /package/app/{.next → .next-cli-build}/server/app/api/providers/test-batch/route_client-reference-manifest.js +0 -0
  1509. /package/app/{.next → .next-cli-build}/server/app/api/providers/validate/route_client-reference-manifest.js +0 -0
  1510. /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +0 -0
  1511. /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +0 -0
  1512. /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +0 -0
  1513. /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +0 -0
  1514. /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/route_client-reference-manifest.js +0 -0
  1515. /package/app/{.next → .next-cli-build}/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +0 -0
  1516. /package/app/{.next → .next-cli-build}/server/app/api/settings/database/route_client-reference-manifest.js +0 -0
  1517. /package/app/{.next → .next-cli-build}/server/app/api/settings/proxy-test/route_client-reference-manifest.js +0 -0
  1518. /package/app/{.next → .next-cli-build}/server/app/api/settings/require-login/route_client-reference-manifest.js +0 -0
  1519. /package/app/{.next → .next-cli-build}/server/app/api/settings/route_client-reference-manifest.js +0 -0
  1520. /package/app/{.next → .next-cli-build}/server/app/api/shutdown/route_client-reference-manifest.js +0 -0
  1521. /package/app/{.next → .next-cli-build}/server/app/api/tags/route_client-reference-manifest.js +0 -0
  1522. /package/app/{.next → .next-cli-build}/server/app/api/translator/console-logs/route_client-reference-manifest.js +0 -0
  1523. /package/app/{.next → .next-cli-build}/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +0 -0
  1524. /package/app/{.next → .next-cli-build}/server/app/api/translator/load/route_client-reference-manifest.js +0 -0
  1525. /package/app/{.next → .next-cli-build}/server/app/api/translator/save/route_client-reference-manifest.js +0 -0
  1526. /package/app/{.next → .next-cli-build}/server/app/api/translator/send/route_client-reference-manifest.js +0 -0
  1527. /package/app/{.next → .next-cli-build}/server/app/api/translator/translate/route_client-reference-manifest.js +0 -0
  1528. /package/app/{.next → .next-cli-build}/server/app/api/tunnel/disable/route_client-reference-manifest.js +0 -0
  1529. /package/app/{.next → .next-cli-build}/server/app/api/tunnel/enable/route_client-reference-manifest.js +0 -0
  1530. /package/app/{.next → .next-cli-build}/server/app/api/tunnel/status/route_client-reference-manifest.js +0 -0
  1531. /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +0 -0
  1532. /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +0 -0
  1533. /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +0 -0
  1534. /package/app/{.next → .next-cli-build}/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +0 -0
  1535. /package/app/{.next → .next-cli-build}/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +0 -0
  1536. /package/app/{.next → .next-cli-build}/server/app/api/usage/api-keys/route_client-reference-manifest.js +0 -0
  1537. /package/app/{.next → .next-cli-build}/server/app/api/usage/chart/route_client-reference-manifest.js +0 -0
  1538. /package/app/{.next → .next-cli-build}/server/app/api/usage/history/route_client-reference-manifest.js +0 -0
  1539. /package/app/{.next → .next-cli-build}/server/app/api/usage/logs/route_client-reference-manifest.js +0 -0
  1540. /package/app/{.next → .next-cli-build}/server/app/api/usage/providers/route_client-reference-manifest.js +0 -0
  1541. /package/app/{.next → .next-cli-build}/server/app/api/usage/request-details/route_client-reference-manifest.js +0 -0
  1542. /package/app/{.next → .next-cli-build}/server/app/api/usage/request-logs/route_client-reference-manifest.js +0 -0
  1543. /package/app/{.next → .next-cli-build}/server/app/api/usage/stats/route_client-reference-manifest.js +0 -0
  1544. /package/app/{.next → .next-cli-build}/server/app/api/usage/stream/route_client-reference-manifest.js +0 -0
  1545. /package/app/{.next → .next-cli-build}/server/app/api/users/[id]/route_client-reference-manifest.js +0 -0
  1546. /package/app/{.next → .next-cli-build}/server/app/api/users/route_client-reference-manifest.js +0 -0
  1547. /package/app/{.next → .next-cli-build}/server/app/api/v1/api/chat/route_client-reference-manifest.js +0 -0
  1548. /package/app/{.next → .next-cli-build}/server/app/api/v1/audio/speech/route_client-reference-manifest.js +0 -0
  1549. /package/app/{.next → .next-cli-build}/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +0 -0
  1550. /package/app/{.next → .next-cli-build}/server/app/api/v1/audio/voices/route_client-reference-manifest.js +0 -0
  1551. /package/app/{.next → .next-cli-build}/server/app/api/v1/chat/completions/route_client-reference-manifest.js +0 -0
  1552. /package/app/{.next → .next-cli-build}/server/app/api/v1/embeddings/route_client-reference-manifest.js +0 -0
  1553. /package/app/{.next → .next-cli-build}/server/app/api/v1/images/generations/route_client-reference-manifest.js +0 -0
  1554. /package/app/{.next → .next-cli-build}/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +0 -0
  1555. /package/app/{.next → .next-cli-build}/server/app/api/v1/messages/route_client-reference-manifest.js +0 -0
  1556. /package/app/{.next → .next-cli-build}/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +0 -0
  1557. /package/app/{.next → .next-cli-build}/server/app/api/v1/models/info/route_client-reference-manifest.js +0 -0
  1558. /package/app/{.next → .next-cli-build}/server/app/api/v1/models/route_client-reference-manifest.js +0 -0
  1559. /package/app/{.next → .next-cli-build}/server/app/api/v1/responses/compact/route_client-reference-manifest.js +0 -0
  1560. /package/app/{.next → .next-cli-build}/server/app/api/v1/responses/route_client-reference-manifest.js +0 -0
  1561. /package/app/{.next → .next-cli-build}/server/app/api/v1/route_client-reference-manifest.js +0 -0
  1562. /package/app/{.next → .next-cli-build}/server/app/api/v1/search/route_client-reference-manifest.js +0 -0
  1563. /package/app/{.next → .next-cli-build}/server/app/api/v1/web/fetch/route_client-reference-manifest.js +0 -0
  1564. /package/app/{.next → .next-cli-build}/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +0 -0
  1565. /package/app/{.next → .next-cli-build}/server/app/api/v1beta/models/route_client-reference-manifest.js +0 -0
  1566. /package/app/{.next → .next-cli-build}/server/app/api/version/route_client-reference-manifest.js +0 -0
  1567. /package/app/{.next → .next-cli-build}/server/app/api/version/shutdown/route_client-reference-manifest.js +0 -0
  1568. /package/app/{.next → .next-cli-build}/server/app/api/version/update/route_client-reference-manifest.js +0 -0
  1569. /package/app/{.next → .next-cli-build}/server/app/callback.meta +0 -0
  1570. /package/app/{.next → .next-cli-build}/server/app/dashboard/settings/pricing.meta +0 -0
  1571. /package/app/{.next → .next-cli-build}/server/app/favicon.ico.body +0 -0
  1572. /package/app/{.next → .next-cli-build}/server/app/favicon.ico.meta +0 -0
  1573. /package/app/{.next → .next-cli-build}/server/app/index.meta +0 -0
  1574. /package/app/{.next → .next-cli-build}/server/app/landing.meta +0 -0
  1575. /package/app/{.next → .next-cli-build}/server/app/login.meta +0 -0
  1576. /package/app/{.next → .next-cli-build}/server/app/manifest.webmanifest/route_client-reference-manifest.js +0 -0
  1577. /package/app/{.next → .next-cli-build}/server/app/manifest.webmanifest.body +0 -0
  1578. /package/app/{.next → .next-cli-build}/server/app/manifest.webmanifest.meta +0 -0
  1579. /package/app/{.next → .next-cli-build}/server/chunks/1679.js +0 -0
  1580. /package/app/{.next → .next-cli-build}/server/chunks/1998.js +0 -0
  1581. /package/app/{.next → .next-cli-build}/server/chunks/241.js +0 -0
  1582. /package/app/{.next → .next-cli-build}/server/chunks/3593.js +0 -0
  1583. /package/app/{.next → .next-cli-build}/server/chunks/4013.js +0 -0
  1584. /package/app/{.next → .next-cli-build}/server/chunks/4739.js +0 -0
  1585. /package/app/{.next → .next-cli-build}/server/chunks/4741.js +0 -0
  1586. /package/app/{.next → .next-cli-build}/server/chunks/4989.js +0 -0
  1587. /package/app/{.next → .next-cli-build}/server/chunks/5217.js +0 -0
  1588. /package/app/{.next → .next-cli-build}/server/chunks/5258.js +0 -0
  1589. /package/app/{.next → .next-cli-build}/server/chunks/5573.js +0 -0
  1590. /package/app/{.next → .next-cli-build}/server/chunks/6457.js +0 -0
  1591. /package/app/{.next → .next-cli-build}/server/chunks/6844.js +0 -0
  1592. /package/app/{.next → .next-cli-build}/server/chunks/6936.js +0 -0
  1593. /package/app/{.next → .next-cli-build}/server/chunks/7502.js +0 -0
  1594. /package/app/{.next → .next-cli-build}/server/chunks/8473.js +0 -0
  1595. /package/app/{.next → .next-cli-build}/server/chunks/8520.js +0 -0
  1596. /package/app/{.next → .next-cli-build}/server/chunks/8971.js +0 -0
  1597. /package/app/{.next → .next-cli-build}/server/chunks/9460.js +0 -0
  1598. /package/app/{.next → .next-cli-build}/server/functions-config-manifest.json +0 -0
  1599. /package/app/{.next → .next-cli-build}/server/middleware-manifest.json +0 -0
  1600. /package/app/{.next → .next-cli-build}/server/middleware-react-loadable-manifest.js +0 -0
  1601. /package/app/{.next → .next-cli-build}/server/pages-manifest.json +0 -0
  1602. /package/app/{.next → .next-cli-build}/server/prefetch-hints.json +0 -0
  1603. /package/app/{.next → .next-cli-build}/server/webpack-runtime.js +0 -0
  1604. /package/app/{.next/static/MxcY0EY8eMa4ouCwsP4Cl → .next-cli-build/static/Z1O3mWLKLCkJm5SRaYg62}/_ssgManifest.js +0 -0
  1605. /package/app/{.next → .next-cli-build}/static/chunks/1051-a02f07646d97d6ca.js +0 -0
  1606. /package/app/{.next → .next-cli-build}/static/chunks/1a258343-5938f676ed376386.js +0 -0
  1607. /package/app/{.next → .next-cli-build}/static/chunks/3794-ba2500baa4c52d55.js +0 -0
  1608. /package/app/{.next → .next-cli-build}/static/chunks/4bd1b696-e356ca5ba0218e27.js +0 -0
  1609. /package/app/{.next → .next-cli-build}/static/chunks/5242-bb1a1a7ec3bfb62f.js +0 -0
  1610. /package/app/{.next → .next-cli-build}/static/chunks/5772-901f1092d831ec37.js +0 -0
  1611. /package/app/{.next → .next-cli-build}/static/chunks/7055-e60e20f43bfbe5f8.js +0 -0
  1612. /package/app/{.next → .next-cli-build}/static/chunks/app/_not-found/page-7927650ca4037264.js +0 -0
  1613. /package/app/{.next → .next-cli-build}/static/chunks/app/callback/page-97a750f0d51c3dbe.js +0 -0
  1614. /package/app/{.next → .next-cli-build}/static/chunks/app/landing/page-bf42a9c80c1e6776.js +0 -0
  1615. /package/app/{.next → .next-cli-build}/static/chunks/framework-711ef29bc66f648c.js +0 -0
  1616. /package/app/{.next → .next-cli-build}/static/chunks/main-app-d5f2701c08554961.js +0 -0
  1617. /package/app/{.next → .next-cli-build}/static/chunks/main-b8d198db3858ff3e.js +0 -0
  1618. /package/app/{.next → .next-cli-build}/static/chunks/next/dist/client/components/builtin/global-error-8d51a00b6c966622.js +0 -0
  1619. /package/app/{.next → .next-cli-build}/static/chunks/polyfills-42372ed130431b0a.js +0 -0
  1620. /package/app/{.next → .next-cli-build}/static/css/599369d853c61df7.css +0 -0
  1621. /package/app/{.next → .next-cli-build}/static/media/material-symbols-outlined.1060ac06.woff2 +0 -0
@@ -1,1016 +0,0 @@
1
- /*!
2
- Copyright 2013 Lovell Fuller and others.
3
- SPDX-License-Identifier: Apache-2.0
4
- */
5
-
6
- const is = require('./is');
7
-
8
- /**
9
- * How accurate an operation should be.
10
- * @member
11
- * @private
12
- */
13
- const vipsPrecision = {
14
- integer: 'integer',
15
- float: 'float',
16
- approximate: 'approximate'
17
- };
18
-
19
- /**
20
- * Rotate the output image.
21
- *
22
- * The provided angle is converted to a valid positive degree rotation.
23
- * For example, `-450` will produce a 270 degree rotation.
24
- *
25
- * When rotating by an angle other than a multiple of 90,
26
- * the background colour can be provided with the `background` option.
27
- *
28
- * For backwards compatibility, if no angle is provided, `.autoOrient()` will be called.
29
- *
30
- * Only one rotation can occur per pipeline (aside from an initial call without
31
- * arguments to orient via EXIF data). Previous calls to `rotate` in the same
32
- * pipeline will be ignored.
33
- *
34
- * Multi-page images can only be rotated by 180 degrees.
35
- *
36
- * Method order is important when rotating, resizing and/or extracting regions,
37
- * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`.
38
- *
39
- * @example
40
- * const rotateThenResize = await sharp(input)
41
- * .rotate(90)
42
- * .resize({ width: 16, height: 8, fit: 'fill' })
43
- * .toBuffer();
44
- * const resizeThenRotate = await sharp(input)
45
- * .resize({ width: 16, height: 8, fit: 'fill' })
46
- * .rotate(90)
47
- * .toBuffer();
48
- *
49
- * @param {number} [angle=auto] angle of rotation.
50
- * @param {Object} [options] - if present, is an Object with optional attributes.
51
- * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
52
- * @returns {Sharp}
53
- * @throws {Error} Invalid parameters
54
- */
55
- function rotate (angle, options) {
56
- if (!is.defined(angle)) {
57
- return this.autoOrient();
58
- }
59
- if (this.options.angle || this.options.rotationAngle) {
60
- this.options.debuglog('ignoring previous rotate options');
61
- this.options.angle = 0;
62
- this.options.rotationAngle = 0;
63
- }
64
- if (is.integer(angle) && !(angle % 90)) {
65
- this.options.angle = angle;
66
- } else if (is.number(angle)) {
67
- this.options.rotationAngle = angle;
68
- if (is.object(options) && options.background) {
69
- this._setBackgroundColourOption('rotationBackground', options.background);
70
- }
71
- } else {
72
- throw is.invalidParameterError('angle', 'numeric', angle);
73
- }
74
- return this;
75
- }
76
-
77
- /**
78
- * Auto-orient based on the EXIF `Orientation` tag, then remove the tag.
79
- * Mirroring is supported and may infer the use of a flip operation.
80
- *
81
- * Previous or subsequent use of `rotate(angle)` and either `flip()` or `flop()`
82
- * will logically occur after auto-orientation, regardless of call order.
83
- *
84
- * @example
85
- * const output = await sharp(input).autoOrient().toBuffer();
86
- *
87
- * @example
88
- * const pipeline = sharp()
89
- * .autoOrient()
90
- * .resize(null, 200)
91
- * .toBuffer(function (err, outputBuffer, info) {
92
- * // outputBuffer contains 200px high JPEG image data,
93
- * // auto-oriented using EXIF Orientation tag
94
- * // info.width and info.height contain the dimensions of the resized image
95
- * });
96
- * readableStream.pipe(pipeline);
97
- *
98
- * @returns {Sharp}
99
- */
100
- function autoOrient () {
101
- this.options.input.autoOrient = true;
102
- return this;
103
- }
104
-
105
- /**
106
- * Mirror the image vertically (up-down) about the x-axis.
107
- * This always occurs before rotation, if any.
108
- *
109
- * This operation does not work correctly with multi-page images.
110
- *
111
- * @example
112
- * const output = await sharp(input).flip().toBuffer();
113
- *
114
- * @param {Boolean} [flip=true]
115
- * @returns {Sharp}
116
- */
117
- function flip (flip) {
118
- this.options.flip = is.bool(flip) ? flip : true;
119
- return this;
120
- }
121
-
122
- /**
123
- * Mirror the image horizontally (left-right) about the y-axis.
124
- * This always occurs before rotation, if any.
125
- *
126
- * @example
127
- * const output = await sharp(input).flop().toBuffer();
128
- *
129
- * @param {Boolean} [flop=true]
130
- * @returns {Sharp}
131
- */
132
- function flop (flop) {
133
- this.options.flop = is.bool(flop) ? flop : true;
134
- return this;
135
- }
136
-
137
- /**
138
- * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any.
139
- *
140
- * You must provide an array of length 4 or a 2x2 affine transformation matrix.
141
- * By default, new pixels are filled with a black background. You can provide a background colour with the `background` option.
142
- * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `sharp.interpolators` Object e.g. `sharp.interpolators.nohalo`.
143
- *
144
- * In the case of a 2x2 matrix, the transform is:
145
- * - X = `matrix[0, 0]` \* (x + `idx`) + `matrix[0, 1]` \* (y + `idy`) + `odx`
146
- * - Y = `matrix[1, 0]` \* (x + `idx`) + `matrix[1, 1]` \* (y + `idy`) + `ody`
147
- *
148
- * where:
149
- * - x and y are the coordinates in input image.
150
- * - X and Y are the coordinates in output image.
151
- * - (0,0) is the upper left corner.
152
- *
153
- * @since 0.27.0
154
- *
155
- * @example
156
- * const pipeline = sharp()
157
- * .affine([[1, 0.3], [0.1, 0.7]], {
158
- * background: 'white',
159
- * interpolator: sharp.interpolators.nohalo
160
- * })
161
- * .toBuffer((err, outputBuffer, info) => {
162
- * // outputBuffer contains the transformed image
163
- * // info.width and info.height contain the new dimensions
164
- * });
165
- *
166
- * inputStream
167
- * .pipe(pipeline);
168
- *
169
- * @param {Array<Array<number>>|Array<number>} matrix - affine transformation matrix
170
- * @param {Object} [options] - if present, is an Object with optional attributes.
171
- * @param {String|Object} [options.background="#000000"] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
172
- * @param {Number} [options.idx=0] - input horizontal offset
173
- * @param {Number} [options.idy=0] - input vertical offset
174
- * @param {Number} [options.odx=0] - output horizontal offset
175
- * @param {Number} [options.ody=0] - output vertical offset
176
- * @param {String} [options.interpolator=sharp.interpolators.bicubic] - interpolator
177
- * @returns {Sharp}
178
- * @throws {Error} Invalid parameters
179
- */
180
- function affine (matrix, options) {
181
- const flatMatrix = [].concat(...matrix);
182
- if (flatMatrix.length === 4 && flatMatrix.every(is.number)) {
183
- this.options.affineMatrix = flatMatrix;
184
- } else {
185
- throw is.invalidParameterError('matrix', '1x4 or 2x2 array', matrix);
186
- }
187
-
188
- if (is.defined(options)) {
189
- if (is.object(options)) {
190
- this._setBackgroundColourOption('affineBackground', options.background);
191
- if (is.defined(options.idx)) {
192
- if (is.number(options.idx)) {
193
- this.options.affineIdx = options.idx;
194
- } else {
195
- throw is.invalidParameterError('options.idx', 'number', options.idx);
196
- }
197
- }
198
- if (is.defined(options.idy)) {
199
- if (is.number(options.idy)) {
200
- this.options.affineIdy = options.idy;
201
- } else {
202
- throw is.invalidParameterError('options.idy', 'number', options.idy);
203
- }
204
- }
205
- if (is.defined(options.odx)) {
206
- if (is.number(options.odx)) {
207
- this.options.affineOdx = options.odx;
208
- } else {
209
- throw is.invalidParameterError('options.odx', 'number', options.odx);
210
- }
211
- }
212
- if (is.defined(options.ody)) {
213
- if (is.number(options.ody)) {
214
- this.options.affineOdy = options.ody;
215
- } else {
216
- throw is.invalidParameterError('options.ody', 'number', options.ody);
217
- }
218
- }
219
- if (is.defined(options.interpolator)) {
220
- if (is.inArray(options.interpolator, Object.values(this.constructor.interpolators))) {
221
- this.options.affineInterpolator = options.interpolator;
222
- } else {
223
- throw is.invalidParameterError('options.interpolator', 'valid interpolator name', options.interpolator);
224
- }
225
- }
226
- } else {
227
- throw is.invalidParameterError('options', 'object', options);
228
- }
229
- }
230
-
231
- return this;
232
- }
233
-
234
- /**
235
- * Sharpen the image.
236
- *
237
- * When used without parameters, performs a fast, mild sharpen of the output image.
238
- *
239
- * When a `sigma` is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space.
240
- * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available.
241
- *
242
- * See {@link https://www.libvips.org/API/current/method.Image.sharpen.html libvips sharpen} operation.
243
- *
244
- * @example
245
- * const data = await sharp(input).sharpen().toBuffer();
246
- *
247
- * @example
248
- * const data = await sharp(input).sharpen({ sigma: 2 }).toBuffer();
249
- *
250
- * @example
251
- * const data = await sharp(input)
252
- * .sharpen({
253
- * sigma: 2,
254
- * m1: 0,
255
- * m2: 3,
256
- * x1: 3,
257
- * y2: 15,
258
- * y3: 15,
259
- * })
260
- * .toBuffer();
261
- *
262
- * @param {Object|number} [options] - if present, is an Object with attributes
263
- * @param {number} [options.sigma] - the sigma of the Gaussian mask, where `sigma = 1 + radius / 2`, between 0.000001 and 10
264
- * @param {number} [options.m1=1.0] - the level of sharpening to apply to "flat" areas, between 0 and 1000000
265
- * @param {number} [options.m2=2.0] - the level of sharpening to apply to "jagged" areas, between 0 and 1000000
266
- * @param {number} [options.x1=2.0] - threshold between "flat" and "jagged", between 0 and 1000000
267
- * @param {number} [options.y2=10.0] - maximum amount of brightening, between 0 and 1000000
268
- * @param {number} [options.y3=20.0] - maximum amount of darkening, between 0 and 1000000
269
- * @param {number} [flat] - (deprecated) see `options.m1`.
270
- * @param {number} [jagged] - (deprecated) see `options.m2`.
271
- * @returns {Sharp}
272
- * @throws {Error} Invalid parameters
273
- */
274
- function sharpen (options, flat, jagged) {
275
- if (!is.defined(options)) {
276
- // No arguments: default to mild sharpen
277
- this.options.sharpenSigma = -1;
278
- } else if (is.bool(options)) {
279
- // Deprecated boolean argument: apply mild sharpen?
280
- this.options.sharpenSigma = options ? -1 : 0;
281
- } else if (is.number(options) && is.inRange(options, 0.01, 10000)) {
282
- // Deprecated numeric argument: specific sigma
283
- this.options.sharpenSigma = options;
284
- // Deprecated control over flat areas
285
- if (is.defined(flat)) {
286
- if (is.number(flat) && is.inRange(flat, 0, 10000)) {
287
- this.options.sharpenM1 = flat;
288
- } else {
289
- throw is.invalidParameterError('flat', 'number between 0 and 10000', flat);
290
- }
291
- }
292
- // Deprecated control over jagged areas
293
- if (is.defined(jagged)) {
294
- if (is.number(jagged) && is.inRange(jagged, 0, 10000)) {
295
- this.options.sharpenM2 = jagged;
296
- } else {
297
- throw is.invalidParameterError('jagged', 'number between 0 and 10000', jagged);
298
- }
299
- }
300
- } else if (is.plainObject(options)) {
301
- if (is.number(options.sigma) && is.inRange(options.sigma, 0.000001, 10)) {
302
- this.options.sharpenSigma = options.sigma;
303
- } else {
304
- throw is.invalidParameterError('options.sigma', 'number between 0.000001 and 10', options.sigma);
305
- }
306
- if (is.defined(options.m1)) {
307
- if (is.number(options.m1) && is.inRange(options.m1, 0, 1000000)) {
308
- this.options.sharpenM1 = options.m1;
309
- } else {
310
- throw is.invalidParameterError('options.m1', 'number between 0 and 1000000', options.m1);
311
- }
312
- }
313
- if (is.defined(options.m2)) {
314
- if (is.number(options.m2) && is.inRange(options.m2, 0, 1000000)) {
315
- this.options.sharpenM2 = options.m2;
316
- } else {
317
- throw is.invalidParameterError('options.m2', 'number between 0 and 1000000', options.m2);
318
- }
319
- }
320
- if (is.defined(options.x1)) {
321
- if (is.number(options.x1) && is.inRange(options.x1, 0, 1000000)) {
322
- this.options.sharpenX1 = options.x1;
323
- } else {
324
- throw is.invalidParameterError('options.x1', 'number between 0 and 1000000', options.x1);
325
- }
326
- }
327
- if (is.defined(options.y2)) {
328
- if (is.number(options.y2) && is.inRange(options.y2, 0, 1000000)) {
329
- this.options.sharpenY2 = options.y2;
330
- } else {
331
- throw is.invalidParameterError('options.y2', 'number between 0 and 1000000', options.y2);
332
- }
333
- }
334
- if (is.defined(options.y3)) {
335
- if (is.number(options.y3) && is.inRange(options.y3, 0, 1000000)) {
336
- this.options.sharpenY3 = options.y3;
337
- } else {
338
- throw is.invalidParameterError('options.y3', 'number between 0 and 1000000', options.y3);
339
- }
340
- }
341
- } else {
342
- throw is.invalidParameterError('sigma', 'number between 0.01 and 10000', options);
343
- }
344
- return this;
345
- }
346
-
347
- /**
348
- * Apply median filter.
349
- * When used without parameters the default window is 3x3.
350
- *
351
- * @example
352
- * const output = await sharp(input).median().toBuffer();
353
- *
354
- * @example
355
- * const output = await sharp(input).median(5).toBuffer();
356
- *
357
- * @param {number} [size=3] square mask size: size x size
358
- * @returns {Sharp}
359
- * @throws {Error} Invalid parameters
360
- */
361
- function median (size) {
362
- if (!is.defined(size)) {
363
- // No arguments: default to 3x3
364
- this.options.medianSize = 3;
365
- } else if (is.integer(size) && is.inRange(size, 1, 1000)) {
366
- // Numeric argument: specific sigma
367
- this.options.medianSize = size;
368
- } else {
369
- throw is.invalidParameterError('size', 'integer between 1 and 1000', size);
370
- }
371
- return this;
372
- }
373
-
374
- /**
375
- * Blur the image.
376
- *
377
- * When used without parameters, performs a fast 3x3 box blur (equivalent to a box linear filter).
378
- *
379
- * When a `sigma` is provided, performs a slower, more accurate Gaussian blur.
380
- *
381
- * @example
382
- * const boxBlurred = await sharp(input)
383
- * .blur()
384
- * .toBuffer();
385
- *
386
- * @example
387
- * const gaussianBlurred = await sharp(input)
388
- * .blur(5)
389
- * .toBuffer();
390
- *
391
- * @param {Object|number|Boolean} [options]
392
- * @param {number} [options.sigma] a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2`.
393
- * @param {string} [options.precision='integer'] How accurate the operation should be, one of: integer, float, approximate.
394
- * @param {number} [options.minAmplitude=0.2] A value between 0.001 and 1. A smaller value will generate a larger, more accurate mask.
395
- * @returns {Sharp}
396
- * @throws {Error} Invalid parameters
397
- */
398
- function blur (options) {
399
- let sigma;
400
- if (is.number(options)) {
401
- sigma = options;
402
- } else if (is.plainObject(options)) {
403
- if (!is.number(options.sigma)) {
404
- throw is.invalidParameterError('options.sigma', 'number between 0.3 and 1000', sigma);
405
- }
406
- sigma = options.sigma;
407
- if ('precision' in options) {
408
- if (is.string(vipsPrecision[options.precision])) {
409
- this.options.precision = vipsPrecision[options.precision];
410
- } else {
411
- throw is.invalidParameterError('precision', 'one of: integer, float, approximate', options.precision);
412
- }
413
- }
414
- if ('minAmplitude' in options) {
415
- if (is.number(options.minAmplitude) && is.inRange(options.minAmplitude, 0.001, 1)) {
416
- this.options.minAmpl = options.minAmplitude;
417
- } else {
418
- throw is.invalidParameterError('minAmplitude', 'number between 0.001 and 1', options.minAmplitude);
419
- }
420
- }
421
- }
422
-
423
- if (!is.defined(options)) {
424
- // No arguments: default to mild blur
425
- this.options.blurSigma = -1;
426
- } else if (is.bool(options)) {
427
- // Boolean argument: apply mild blur?
428
- this.options.blurSigma = options ? -1 : 0;
429
- } else if (is.number(sigma) && is.inRange(sigma, 0.3, 1000)) {
430
- // Numeric argument: specific sigma
431
- this.options.blurSigma = sigma;
432
- } else {
433
- throw is.invalidParameterError('sigma', 'number between 0.3 and 1000', sigma);
434
- }
435
-
436
- return this;
437
- }
438
-
439
- /**
440
- * Expand foreground objects using the dilate morphological operator.
441
- *
442
- * @example
443
- * const output = await sharp(input)
444
- * .dilate()
445
- * .toBuffer();
446
- *
447
- * @param {Number} [width=1] dilation width in pixels.
448
- * @returns {Sharp}
449
- * @throws {Error} Invalid parameters
450
- */
451
- function dilate (width) {
452
- if (!is.defined(width)) {
453
- this.options.dilateWidth = 1;
454
- } else if (is.integer(width) && width > 0) {
455
- this.options.dilateWidth = width;
456
- } else {
457
- throw is.invalidParameterError('dilate', 'positive integer', dilate);
458
- }
459
- return this;
460
- }
461
-
462
- /**
463
- * Shrink foreground objects using the erode morphological operator.
464
- *
465
- * @example
466
- * const output = await sharp(input)
467
- * .erode()
468
- * .toBuffer();
469
- *
470
- * @param {Number} [width=1] erosion width in pixels.
471
- * @returns {Sharp}
472
- * @throws {Error} Invalid parameters
473
- */
474
- function erode (width) {
475
- if (!is.defined(width)) {
476
- this.options.erodeWidth = 1;
477
- } else if (is.integer(width) && width > 0) {
478
- this.options.erodeWidth = width;
479
- } else {
480
- throw is.invalidParameterError('erode', 'positive integer', erode);
481
- }
482
- return this;
483
- }
484
-
485
- /**
486
- * Merge alpha transparency channel, if any, with a background, then remove the alpha channel.
487
- *
488
- * See also {@link /api-channel#removealpha removeAlpha}.
489
- *
490
- * @example
491
- * await sharp(rgbaInput)
492
- * .flatten({ background: '#F0A703' })
493
- * .toBuffer();
494
- *
495
- * @param {Object} [options]
496
- * @param {string|Object} [options.background={r: 0, g: 0, b: 0}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black.
497
- * @returns {Sharp}
498
- */
499
- function flatten (options) {
500
- this.options.flatten = is.bool(options) ? options : true;
501
- if (is.object(options)) {
502
- this._setBackgroundColourOption('flattenBackground', options.background);
503
- }
504
- return this;
505
- }
506
-
507
- /**
508
- * Ensure the image has an alpha channel
509
- * with all white pixel values made fully transparent.
510
- *
511
- * Existing alpha channel values for non-white pixels remain unchanged.
512
- *
513
- * This feature is experimental and the API may change.
514
- *
515
- * @since 0.32.1
516
- *
517
- * @example
518
- * await sharp(rgbInput)
519
- * .unflatten()
520
- * .toBuffer();
521
- *
522
- * @example
523
- * await sharp(rgbInput)
524
- * .threshold(128, { grayscale: false }) // converter bright pixels to white
525
- * .unflatten()
526
- * .toBuffer();
527
- */
528
- function unflatten () {
529
- this.options.unflatten = true;
530
- return this;
531
- }
532
-
533
- /**
534
- * Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of `1/gamma`
535
- * then increasing the encoding (brighten) post-resize at a factor of `gamma`.
536
- * This can improve the perceived brightness of a resized image in non-linear colour spaces.
537
- * JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation
538
- * when applying a gamma correction.
539
- *
540
- * Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases.
541
- *
542
- * @param {number} [gamma=2.2] value between 1.0 and 3.0.
543
- * @param {number} [gammaOut] value between 1.0 and 3.0. (optional, defaults to same as `gamma`)
544
- * @returns {Sharp}
545
- * @throws {Error} Invalid parameters
546
- */
547
- function gamma (gamma, gammaOut) {
548
- if (!is.defined(gamma)) {
549
- // Default gamma correction of 2.2 (sRGB)
550
- this.options.gamma = 2.2;
551
- } else if (is.number(gamma) && is.inRange(gamma, 1, 3)) {
552
- this.options.gamma = gamma;
553
- } else {
554
- throw is.invalidParameterError('gamma', 'number between 1.0 and 3.0', gamma);
555
- }
556
- if (!is.defined(gammaOut)) {
557
- // Default gamma correction for output is same as input
558
- this.options.gammaOut = this.options.gamma;
559
- } else if (is.number(gammaOut) && is.inRange(gammaOut, 1, 3)) {
560
- this.options.gammaOut = gammaOut;
561
- } else {
562
- throw is.invalidParameterError('gammaOut', 'number between 1.0 and 3.0', gammaOut);
563
- }
564
- return this;
565
- }
566
-
567
- /**
568
- * Produce the "negative" of the image.
569
- *
570
- * @example
571
- * const output = await sharp(input)
572
- * .negate()
573
- * .toBuffer();
574
- *
575
- * @example
576
- * const output = await sharp(input)
577
- * .negate({ alpha: false })
578
- * .toBuffer();
579
- *
580
- * @param {Object} [options]
581
- * @param {Boolean} [options.alpha=true] Whether or not to negate any alpha channel
582
- * @returns {Sharp}
583
- */
584
- function negate (options) {
585
- this.options.negate = is.bool(options) ? options : true;
586
- if (is.plainObject(options) && 'alpha' in options) {
587
- if (!is.bool(options.alpha)) {
588
- throw is.invalidParameterError('alpha', 'should be boolean value', options.alpha);
589
- } else {
590
- this.options.negateAlpha = options.alpha;
591
- }
592
- }
593
- return this;
594
- }
595
-
596
- /**
597
- * Enhance output image contrast by stretching its luminance to cover a full dynamic range.
598
- *
599
- * Uses a histogram-based approach, taking a default range of 1% to 99% to reduce sensitivity to noise at the extremes.
600
- *
601
- * Luminance values below the `lower` percentile will be underexposed by clipping to zero.
602
- * Luminance values above the `upper` percentile will be overexposed by clipping to the max pixel value.
603
- *
604
- * @example
605
- * const output = await sharp(input)
606
- * .normalise()
607
- * .toBuffer();
608
- *
609
- * @example
610
- * const output = await sharp(input)
611
- * .normalise({ lower: 0, upper: 100 })
612
- * .toBuffer();
613
- *
614
- * @param {Object} [options]
615
- * @param {number} [options.lower=1] - Percentile below which luminance values will be underexposed.
616
- * @param {number} [options.upper=99] - Percentile above which luminance values will be overexposed.
617
- * @returns {Sharp}
618
- */
619
- function normalise (options) {
620
- if (is.plainObject(options)) {
621
- if (is.defined(options.lower)) {
622
- if (is.number(options.lower) && is.inRange(options.lower, 0, 99)) {
623
- this.options.normaliseLower = options.lower;
624
- } else {
625
- throw is.invalidParameterError('lower', 'number between 0 and 99', options.lower);
626
- }
627
- }
628
- if (is.defined(options.upper)) {
629
- if (is.number(options.upper) && is.inRange(options.upper, 1, 100)) {
630
- this.options.normaliseUpper = options.upper;
631
- } else {
632
- throw is.invalidParameterError('upper', 'number between 1 and 100', options.upper);
633
- }
634
- }
635
- }
636
- if (this.options.normaliseLower >= this.options.normaliseUpper) {
637
- throw is.invalidParameterError('range', 'lower to be less than upper',
638
- `${this.options.normaliseLower} >= ${this.options.normaliseUpper}`);
639
- }
640
- this.options.normalise = true;
641
- return this;
642
- }
643
-
644
- /**
645
- * Alternative spelling of normalise.
646
- *
647
- * @example
648
- * const output = await sharp(input)
649
- * .normalize()
650
- * .toBuffer();
651
- *
652
- * @param {Object} [options]
653
- * @param {number} [options.lower=1] - Percentile below which luminance values will be underexposed.
654
- * @param {number} [options.upper=99] - Percentile above which luminance values will be overexposed.
655
- * @returns {Sharp}
656
- */
657
- function normalize (options) {
658
- return this.normalise(options);
659
- }
660
-
661
- /**
662
- * Perform contrast limiting adaptive histogram equalization
663
- * {@link https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE CLAHE}.
664
- *
665
- * This will, in general, enhance the clarity of the image by bringing out darker details.
666
- *
667
- * @since 0.28.3
668
- *
669
- * @example
670
- * const output = await sharp(input)
671
- * .clahe({
672
- * width: 3,
673
- * height: 3,
674
- * })
675
- * .toBuffer();
676
- *
677
- * @param {Object} options
678
- * @param {number} options.width - Integral width of the search window, in pixels.
679
- * @param {number} options.height - Integral height of the search window, in pixels.
680
- * @param {number} [options.maxSlope=3] - Integral level of brightening, between 0 and 100, where 0 disables contrast limiting.
681
- * @returns {Sharp}
682
- * @throws {Error} Invalid parameters
683
- */
684
- function clahe (options) {
685
- if (is.plainObject(options)) {
686
- if (is.integer(options.width) && options.width > 0) {
687
- this.options.claheWidth = options.width;
688
- } else {
689
- throw is.invalidParameterError('width', 'integer greater than zero', options.width);
690
- }
691
- if (is.integer(options.height) && options.height > 0) {
692
- this.options.claheHeight = options.height;
693
- } else {
694
- throw is.invalidParameterError('height', 'integer greater than zero', options.height);
695
- }
696
- if (is.defined(options.maxSlope)) {
697
- if (is.integer(options.maxSlope) && is.inRange(options.maxSlope, 0, 100)) {
698
- this.options.claheMaxSlope = options.maxSlope;
699
- } else {
700
- throw is.invalidParameterError('maxSlope', 'integer between 0 and 100', options.maxSlope);
701
- }
702
- }
703
- } else {
704
- throw is.invalidParameterError('options', 'plain object', options);
705
- }
706
- return this;
707
- }
708
-
709
- /**
710
- * Convolve the image with the specified kernel.
711
- *
712
- * @example
713
- * sharp(input)
714
- * .convolve({
715
- * width: 3,
716
- * height: 3,
717
- * kernel: [-1, 0, 1, -2, 0, 2, -1, 0, 1]
718
- * })
719
- * .raw()
720
- * .toBuffer(function(err, data, info) {
721
- * // data contains the raw pixel data representing the convolution
722
- * // of the input image with the horizontal Sobel operator
723
- * });
724
- *
725
- * @param {Object} kernel
726
- * @param {number} kernel.width - width of the kernel in pixels.
727
- * @param {number} kernel.height - height of the kernel in pixels.
728
- * @param {Array<number>} kernel.kernel - Array of length `width*height` containing the kernel values.
729
- * @param {number} [kernel.scale=sum] - the scale of the kernel in pixels.
730
- * @param {number} [kernel.offset=0] - the offset of the kernel in pixels.
731
- * @returns {Sharp}
732
- * @throws {Error} Invalid parameters
733
- */
734
- function convolve (kernel) {
735
- if (!is.object(kernel) || !Array.isArray(kernel.kernel) ||
736
- !is.integer(kernel.width) || !is.integer(kernel.height) ||
737
- !is.inRange(kernel.width, 3, 1001) || !is.inRange(kernel.height, 3, 1001) ||
738
- kernel.height * kernel.width !== kernel.kernel.length
739
- ) {
740
- // must pass in a kernel
741
- throw new Error('Invalid convolution kernel');
742
- }
743
- // Default scale is sum of kernel values
744
- if (!is.integer(kernel.scale)) {
745
- kernel.scale = kernel.kernel.reduce((a, b) => a + b, 0);
746
- }
747
- // Clip scale to a minimum value of 1
748
- if (kernel.scale < 1) {
749
- kernel.scale = 1;
750
- }
751
- if (!is.integer(kernel.offset)) {
752
- kernel.offset = 0;
753
- }
754
- this.options.convKernel = kernel;
755
- return this;
756
- }
757
-
758
- /**
759
- * Any pixel value greater than or equal to the threshold value will be set to 255, otherwise it will be set to 0.
760
- * @param {number} [threshold=128] - a value in the range 0-255 representing the level at which the threshold will be applied.
761
- * @param {Object} [options]
762
- * @param {Boolean} [options.greyscale=true] - convert to single channel greyscale.
763
- * @param {Boolean} [options.grayscale=true] - alternative spelling for greyscale.
764
- * @returns {Sharp}
765
- * @throws {Error} Invalid parameters
766
- */
767
- function threshold (threshold, options) {
768
- if (!is.defined(threshold)) {
769
- this.options.threshold = 128;
770
- } else if (is.bool(threshold)) {
771
- this.options.threshold = threshold ? 128 : 0;
772
- } else if (is.integer(threshold) && is.inRange(threshold, 0, 255)) {
773
- this.options.threshold = threshold;
774
- } else {
775
- throw is.invalidParameterError('threshold', 'integer between 0 and 255', threshold);
776
- }
777
- if (!is.object(options) || options.greyscale === true || options.grayscale === true) {
778
- this.options.thresholdGrayscale = true;
779
- } else {
780
- this.options.thresholdGrayscale = false;
781
- }
782
- return this;
783
- }
784
-
785
- /**
786
- * Perform a bitwise boolean operation with operand image.
787
- *
788
- * This operation creates an output image where each pixel is the result of
789
- * the selected bitwise boolean `operation` between the corresponding pixels of the input images.
790
- *
791
- * @param {Buffer|string} operand - Buffer containing image data or string containing the path to an image file.
792
- * @param {string} operator - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively.
793
- * @param {Object} [options]
794
- * @param {Object} [options.raw] - describes operand when using raw pixel data.
795
- * @param {number} [options.raw.width]
796
- * @param {number} [options.raw.height]
797
- * @param {number} [options.raw.channels]
798
- * @returns {Sharp}
799
- * @throws {Error} Invalid parameters
800
- */
801
- function boolean (operand, operator, options) {
802
- this.options.boolean = this._createInputDescriptor(operand, options);
803
- if (is.string(operator) && is.inArray(operator, ['and', 'or', 'eor'])) {
804
- this.options.booleanOp = operator;
805
- } else {
806
- throw is.invalidParameterError('operator', 'one of: and, or, eor', operator);
807
- }
808
- return this;
809
- }
810
-
811
- /**
812
- * Apply the linear formula `a` * input + `b` to the image to adjust image levels.
813
- *
814
- * When a single number is provided, it will be used for all image channels.
815
- * When an array of numbers is provided, the array length must match the number of channels.
816
- *
817
- * @example
818
- * await sharp(input)
819
- * .linear(0.5, 2)
820
- * .toBuffer();
821
- *
822
- * @example
823
- * await sharp(rgbInput)
824
- * .linear(
825
- * [0.25, 0.5, 0.75],
826
- * [150, 100, 50]
827
- * )
828
- * .toBuffer();
829
- *
830
- * @param {(number|number[])} [a=[]] multiplier
831
- * @param {(number|number[])} [b=[]] offset
832
- * @returns {Sharp}
833
- * @throws {Error} Invalid parameters
834
- */
835
- function linear (a, b) {
836
- if (!is.defined(a) && is.number(b)) {
837
- a = 1.0;
838
- } else if (is.number(a) && !is.defined(b)) {
839
- b = 0.0;
840
- }
841
- if (!is.defined(a)) {
842
- this.options.linearA = [];
843
- } else if (is.number(a)) {
844
- this.options.linearA = [a];
845
- } else if (Array.isArray(a) && a.length && a.every(is.number)) {
846
- this.options.linearA = a;
847
- } else {
848
- throw is.invalidParameterError('a', 'number or array of numbers', a);
849
- }
850
- if (!is.defined(b)) {
851
- this.options.linearB = [];
852
- } else if (is.number(b)) {
853
- this.options.linearB = [b];
854
- } else if (Array.isArray(b) && b.length && b.every(is.number)) {
855
- this.options.linearB = b;
856
- } else {
857
- throw is.invalidParameterError('b', 'number or array of numbers', b);
858
- }
859
- if (this.options.linearA.length !== this.options.linearB.length) {
860
- throw new Error('Expected a and b to be arrays of the same length');
861
- }
862
- return this;
863
- }
864
-
865
- /**
866
- * Recombine the image with the specified matrix.
867
- *
868
- * @since 0.21.1
869
- *
870
- * @example
871
- * sharp(input)
872
- * .recomb([
873
- * [0.3588, 0.7044, 0.1368],
874
- * [0.2990, 0.5870, 0.1140],
875
- * [0.2392, 0.4696, 0.0912],
876
- * ])
877
- * .raw()
878
- * .toBuffer(function(err, data, info) {
879
- * // data contains the raw pixel data after applying the matrix
880
- * // With this example input, a sepia filter has been applied
881
- * });
882
- *
883
- * @param {Array<Array<number>>} inputMatrix - 3x3 or 4x4 Recombination matrix
884
- * @returns {Sharp}
885
- * @throws {Error} Invalid parameters
886
- */
887
- function recomb (inputMatrix) {
888
- if (!Array.isArray(inputMatrix)) {
889
- throw is.invalidParameterError('inputMatrix', 'array', inputMatrix);
890
- }
891
- if (inputMatrix.length !== 3 && inputMatrix.length !== 4) {
892
- throw is.invalidParameterError('inputMatrix', '3x3 or 4x4 array', inputMatrix.length);
893
- }
894
- const recombMatrix = inputMatrix.flat().map(Number);
895
- if (recombMatrix.length !== 9 && recombMatrix.length !== 16) {
896
- throw is.invalidParameterError('inputMatrix', 'cardinality of 9 or 16', recombMatrix.length);
897
- }
898
- this.options.recombMatrix = recombMatrix;
899
- return this;
900
- }
901
-
902
- /**
903
- * Transforms the image using brightness, saturation, hue rotation, and lightness.
904
- * Brightness and lightness both operate on luminance, with the difference being that
905
- * brightness is multiplicative whereas lightness is additive.
906
- *
907
- * @since 0.22.1
908
- *
909
- * @example
910
- * // increase brightness by a factor of 2
911
- * const output = await sharp(input)
912
- * .modulate({
913
- * brightness: 2
914
- * })
915
- * .toBuffer();
916
- *
917
- * @example
918
- * // hue-rotate by 180 degrees
919
- * const output = await sharp(input)
920
- * .modulate({
921
- * hue: 180
922
- * })
923
- * .toBuffer();
924
- *
925
- * @example
926
- * // increase lightness by +50
927
- * const output = await sharp(input)
928
- * .modulate({
929
- * lightness: 50
930
- * })
931
- * .toBuffer();
932
- *
933
- * @example
934
- * // decrease brightness and saturation while also hue-rotating by 90 degrees
935
- * const output = await sharp(input)
936
- * .modulate({
937
- * brightness: 0.5,
938
- * saturation: 0.5,
939
- * hue: 90,
940
- * })
941
- * .toBuffer();
942
- *
943
- * @param {Object} [options]
944
- * @param {number} [options.brightness] Brightness multiplier
945
- * @param {number} [options.saturation] Saturation multiplier
946
- * @param {number} [options.hue] Degrees for hue rotation
947
- * @param {number} [options.lightness] Lightness addend
948
- * @returns {Sharp}
949
- */
950
- function modulate (options) {
951
- if (!is.plainObject(options)) {
952
- throw is.invalidParameterError('options', 'plain object', options);
953
- }
954
- if ('brightness' in options) {
955
- if (is.number(options.brightness) && options.brightness >= 0) {
956
- this.options.brightness = options.brightness;
957
- } else {
958
- throw is.invalidParameterError('brightness', 'number above zero', options.brightness);
959
- }
960
- }
961
- if ('saturation' in options) {
962
- if (is.number(options.saturation) && options.saturation >= 0) {
963
- this.options.saturation = options.saturation;
964
- } else {
965
- throw is.invalidParameterError('saturation', 'number above zero', options.saturation);
966
- }
967
- }
968
- if ('hue' in options) {
969
- if (is.integer(options.hue)) {
970
- this.options.hue = options.hue % 360;
971
- } else {
972
- throw is.invalidParameterError('hue', 'number', options.hue);
973
- }
974
- }
975
- if ('lightness' in options) {
976
- if (is.number(options.lightness)) {
977
- this.options.lightness = options.lightness;
978
- } else {
979
- throw is.invalidParameterError('lightness', 'number', options.lightness);
980
- }
981
- }
982
- return this;
983
- }
984
-
985
- /**
986
- * Decorate the Sharp prototype with operation-related functions.
987
- * @module Sharp
988
- * @private
989
- */
990
- module.exports = (Sharp) => {
991
- Object.assign(Sharp.prototype, {
992
- autoOrient,
993
- rotate,
994
- flip,
995
- flop,
996
- affine,
997
- sharpen,
998
- erode,
999
- dilate,
1000
- median,
1001
- blur,
1002
- flatten,
1003
- unflatten,
1004
- gamma,
1005
- negate,
1006
- normalise,
1007
- normalize,
1008
- clahe,
1009
- convolve,
1010
- threshold,
1011
- boolean,
1012
- linear,
1013
- recomb,
1014
- modulate
1015
- });
1016
- };