zevairouter 1.0.38 → 1.0.40

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 (1127) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  3. package/cli/app/.next-cli-build/app-path-routes-manifest.json +24 -8
  4. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  5. package/cli/app/.next-cli-build/prerender-manifest.json +48 -0
  6. package/cli/app/.next-cli-build/routes-manifest.json +98 -0
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js +2 -2
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js +2 -2
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  35. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  36. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  37. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  38. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  39. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  40. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  41. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  42. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  43. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  44. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  45. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  46. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  47. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  48. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  49. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  50. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  56. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  57. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  59. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  60. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  61. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  62. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  63. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  64. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -0
  65. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -0
  66. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -0
  67. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  68. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  69. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  70. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -0
  71. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -0
  72. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -0
  73. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  74. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  75. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  76. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  77. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  78. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  79. package/cli/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  80. package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  81. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  82. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  83. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  84. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  85. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  86. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  87. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  88. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  89. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  90. package/cli/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  91. package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  92. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  93. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  94. package/cli/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  95. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  96. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  97. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  98. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  99. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  100. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  101. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  102. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  103. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  105. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  107. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  108. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  109. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  111. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  113. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
  114. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  115. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  117. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  119. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  120. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  121. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  123. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
  125. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  129. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  130. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  132. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  135. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  137. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  138. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  139. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  140. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  142. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  143. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  145. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  146. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  147. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  148. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  149. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  151. package/cli/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  153. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
  155. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/context/route.js +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
  159. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -0
  160. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -0
  161. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route_client-reference-manifest.js +1 -0
  162. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -0
  163. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -0
  164. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route_client-reference-manifest.js +1 -0
  165. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -0
  166. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -0
  167. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route_client-reference-manifest.js +1 -0
  168. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -0
  169. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -0
  170. package/cli/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -0
  171. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -0
  172. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -0
  173. package/cli/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -0
  174. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -0
  175. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -0
  176. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -0
  177. package/cli/app/.next-cli-build/server/app/api/health/route.js +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/init/route.js +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  188. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  190. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  199. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  200. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  202. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  203. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  204. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  205. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  207. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  208. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  209. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
  216. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  217. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  218. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  219. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
  220. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
  221. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
  222. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
  223. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
  224. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
  225. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route.js +1 -1
  226. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  227. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  228. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  229. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/route.js +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/[jobId]/route.js.nft.json +1 -1
  231. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/latest/route.js +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/latest/route.js.nft.json +1 -1
  233. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/route.js +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/oauth/autoclaw/bulk-import/route.js.nft.json +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +1 -1
  236. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
  241. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js +1 -1
  244. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
  247. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js +1 -1
  248. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
  255. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
  256. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  265. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  266. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  277. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  278. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  279. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js +1 -1
  280. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
  281. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js +1 -1
  282. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
  283. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js +1 -1
  284. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
  285. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  286. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  287. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  288. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  289. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  290. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  291. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js +1 -1
  292. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  293. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  294. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  295. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js +1 -1
  296. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
  297. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js +1 -1
  298. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
  299. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js +1 -1
  300. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
  301. package/cli/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  302. package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  303. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  304. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  305. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  306. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  307. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  308. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  309. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  310. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  311. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  312. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  313. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  314. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  315. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  316. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  317. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js +1 -1
  318. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
  319. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  320. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  321. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  322. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  323. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  324. package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  325. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  326. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  327. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  328. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  329. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  330. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  331. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  332. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  333. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  334. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  335. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  336. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  337. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  338. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  339. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  340. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  341. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  342. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  343. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js +3 -0
  344. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -0
  345. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route_client-reference-manifest.js +1 -0
  346. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js +3 -0
  347. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -0
  348. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -0
  349. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +3 -0
  350. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -0
  351. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route_client-reference-manifest.js +1 -0
  352. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js +3 -0
  353. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -0
  354. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route_client-reference-manifest.js +1 -0
  355. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +3 -0
  356. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -0
  357. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route_client-reference-manifest.js +1 -0
  358. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js +3 -0
  359. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -0
  360. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -0
  361. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +3 -0
  362. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -0
  363. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route_client-reference-manifest.js +1 -0
  364. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  365. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  366. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  367. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  368. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  369. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  370. package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  371. package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  372. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  373. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  374. package/cli/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  375. package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  376. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  377. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  378. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  379. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  380. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  381. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  382. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  383. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  384. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  385. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  386. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  387. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  388. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  389. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  390. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  391. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  392. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  393. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  394. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  395. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  396. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  397. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  398. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  399. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  400. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  401. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  402. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  403. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  404. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js +1 -1
  405. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
  406. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  407. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  408. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  409. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  410. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  411. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  412. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  413. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  414. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  415. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  416. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  417. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  418. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  419. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  420. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  421. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  422. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  423. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  424. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  425. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  426. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  427. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  428. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  429. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  430. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  431. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  432. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  433. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  434. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  435. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  436. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  437. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  438. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  439. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  440. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  441. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  442. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  443. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  444. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  445. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  446. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  447. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  448. package/cli/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  449. package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  450. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  451. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  452. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  453. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  454. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  455. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  456. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  457. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  458. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  459. package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  460. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  461. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  462. package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  463. package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  464. package/cli/app/.next-cli-build/server/app/callback/page.js +2 -2
  465. package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  466. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  467. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  468. package/cli/app/.next-cli-build/server/app/callback.rsc +4 -4
  469. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  470. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  471. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  472. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  473. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  474. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  475. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  476. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +6 -6
  477. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  478. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  479. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  480. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  481. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +6 -6
  482. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  483. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +4 -4
  484. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +2 -2
  485. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  486. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  487. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  488. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  489. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  490. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  491. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  492. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  493. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  494. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  495. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  496. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  497. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  498. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  499. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  500. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  501. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  502. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  503. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  504. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  505. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  506. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  507. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  508. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  509. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  510. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  511. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  512. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  513. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  514. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  515. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  516. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +6 -6
  517. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  518. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  519. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  520. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  521. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +6 -6
  522. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  523. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +4 -4
  524. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +2 -2
  525. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  526. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  527. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  528. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  529. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  530. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  531. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  532. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  533. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  534. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  535. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  536. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  537. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  538. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  539. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  540. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  541. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  542. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  543. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  544. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  545. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  546. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  547. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  548. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  549. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  550. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  551. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  552. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  553. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  554. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  555. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  556. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  557. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  558. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  559. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  560. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  561. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  562. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  563. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  564. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  565. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  566. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  567. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  568. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  569. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  570. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  571. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  572. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  573. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  574. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  575. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  576. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  577. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  578. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  579. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  580. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  581. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  582. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  583. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  584. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  585. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  586. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  587. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  588. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  589. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  590. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  591. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  592. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  593. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  594. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  595. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  596. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  597. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -0
  598. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.meta +17 -0
  599. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +23 -0
  600. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +6 -0
  601. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +5 -0
  602. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  603. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  604. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +23 -0
  605. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +6 -0
  606. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +8 -0
  607. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +5 -0
  608. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  609. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  610. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  611. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  612. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  613. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  614. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  615. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  616. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  617. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  618. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  619. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  620. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  621. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  622. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  623. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  624. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  625. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  626. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  627. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  628. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  629. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  630. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  631. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -0
  632. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.meta +17 -0
  633. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +23 -0
  634. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -0
  635. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +5 -0
  636. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  637. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  638. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +23 -0
  639. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +6 -0
  640. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +8 -0
  641. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +5 -0
  642. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  643. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  644. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  645. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  646. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  647. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  648. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  649. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  650. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  651. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  652. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  653. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  654. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  655. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  656. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  657. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  658. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  659. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  660. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  661. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  662. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  663. package/cli/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  664. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  665. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  666. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  667. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  668. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  669. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  670. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  671. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  672. package/cli/app/.next-cli-build/server/app/index.rsc +4 -4
  673. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  674. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  675. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  676. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  677. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  678. package/cli/app/.next-cli-build/server/app/landing/page.js +2 -2
  679. package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  680. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  681. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  682. package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
  683. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  684. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  685. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  686. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  687. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  688. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  689. package/cli/app/.next-cli-build/server/app/login/page.js +2 -2
  690. package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  691. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  692. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  693. package/cli/app/.next-cli-build/server/app/login.rsc +5 -5
  694. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  695. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  696. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  697. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  698. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  699. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  700. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  701. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  702. package/cli/app/.next-cli-build/server/app/page.js +2 -2
  703. package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  704. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  705. package/cli/app/.next-cli-build/server/app-paths-manifest.json +24 -8
  706. package/cli/app/.next-cli-build/server/chunks/1939.js +1 -1
  707. package/cli/app/.next-cli-build/server/chunks/2007.js +3 -0
  708. package/cli/app/.next-cli-build/server/chunks/3104.js +1 -1
  709. package/cli/app/.next-cli-build/server/chunks/3110.js +3 -3
  710. package/cli/app/.next-cli-build/server/chunks/318.js +1 -1
  711. package/cli/app/.next-cli-build/server/chunks/412.js +1 -1
  712. package/cli/app/.next-cli-build/server/chunks/4253.js +3 -0
  713. package/cli/app/.next-cli-build/server/chunks/4746.js +1 -1
  714. package/cli/app/.next-cli-build/server/chunks/6896.js +1 -1
  715. package/cli/app/.next-cli-build/server/chunks/7153.js +1 -1
  716. package/cli/app/.next-cli-build/server/chunks/7276.js +10 -0
  717. package/cli/app/.next-cli-build/server/chunks/8255.js +1 -1
  718. package/cli/app/.next-cli-build/server/chunks/8450.js +1 -0
  719. package/cli/app/.next-cli-build/server/chunks/8895.js +3 -3
  720. package/cli/app/.next-cli-build/server/chunks/891.js +1 -1
  721. package/cli/app/.next-cli-build/server/chunks/9489.js +1 -1
  722. package/cli/app/.next-cli-build/server/functions-config-manifest.json +6 -0
  723. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  724. package/cli/app/.next-cli-build/server/middleware.js +2 -2
  725. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  726. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  727. package/cli/app/.next-cli-build/static/Fgc4vdsr6a_wWu8yVkotQ/_buildManifest.js +1 -0
  728. package/cli/app/.next-cli-build/static/chunks/{1321-6e91d87d2a4816b9.js → 1321-fe2fcab7940ae8d5.js} +1 -1
  729. package/cli/app/.next-cli-build/static/chunks/{5497-2a485830a005737d.js → 5497-d5966352b59ffb11.js} +1 -1
  730. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-3b1ead2c6cc4a94f.js +1 -0
  731. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-43e7f2ac85929b77.js +1 -0
  732. package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-a2310c1193a3c663.js +1 -0
  733. package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-a2310c1193a3c663.js +1 -0
  734. package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-a2310c1193a3c663.js +1 -0
  735. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-a2310c1193a3c663.js +1 -0
  736. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-a2310c1193a3c663.js +1 -0
  737. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-a2310c1193a3c663.js +1 -0
  738. package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-a2310c1193a3c663.js +1 -0
  739. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-a2310c1193a3c663.js +1 -0
  740. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-a2310c1193a3c663.js +1 -0
  741. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-a2310c1193a3c663.js +1 -0
  742. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-a2310c1193a3c663.js +1 -0
  743. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-a2310c1193a3c663.js +1 -0
  744. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-a2310c1193a3c663.js +1 -0
  745. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-a2310c1193a3c663.js +1 -0
  746. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-a2310c1193a3c663.js +1 -0
  747. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-a2310c1193a3c663.js +1 -0
  748. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-a2310c1193a3c663.js +1 -0
  749. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-a2310c1193a3c663.js +1 -0
  750. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-a2310c1193a3c663.js +1 -0
  751. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-a2310c1193a3c663.js +1 -0
  752. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-a2310c1193a3c663.js +1 -0
  753. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-a2310c1193a3c663.js +1 -0
  754. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-a2310c1193a3c663.js +1 -0
  755. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-a2310c1193a3c663.js +1 -0
  756. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-a2310c1193a3c663.js +1 -0
  757. package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-a2310c1193a3c663.js +1 -0
  758. package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-a2310c1193a3c663.js +1 -0
  759. package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-a2310c1193a3c663.js +1 -0
  760. package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-a2310c1193a3c663.js +1 -0
  761. package/cli/app/.next-cli-build/static/chunks/app/api/context/route-a2310c1193a3c663.js +1 -0
  762. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-a2310c1193a3c663.js +1 -0
  763. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-a2310c1193a3c663.js +1 -0
  764. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-a2310c1193a3c663.js +1 -0
  765. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-a2310c1193a3c663.js +1 -0
  766. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-a2310c1193a3c663.js +1 -0
  767. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-a2310c1193a3c663.js +1 -0
  768. package/cli/app/.next-cli-build/static/chunks/app/api/health/route-a2310c1193a3c663.js +1 -0
  769. package/cli/app/.next-cli-build/static/chunks/app/api/init/route-a2310c1193a3c663.js +1 -0
  770. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-a2310c1193a3c663.js +1 -0
  771. package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-a2310c1193a3c663.js +1 -0
  772. package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-a2310c1193a3c663.js +1 -0
  773. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-a2310c1193a3c663.js +1 -0
  774. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-a2310c1193a3c663.js +1 -0
  775. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-a2310c1193a3c663.js +1 -0
  776. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-a2310c1193a3c663.js +1 -0
  777. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-a2310c1193a3c663.js +1 -0
  778. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-a2310c1193a3c663.js +1 -0
  779. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-a2310c1193a3c663.js +1 -0
  780. package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-a2310c1193a3c663.js +1 -0
  781. package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-a2310c1193a3c663.js +1 -0
  782. package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-a2310c1193a3c663.js +1 -0
  783. package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-a2310c1193a3c663.js +1 -0
  784. package/cli/app/.next-cli-build/static/chunks/app/api/models/route-a2310c1193a3c663.js +1 -0
  785. package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-a2310c1193a3c663.js +1 -0
  786. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-a2310c1193a3c663.js +1 -0
  787. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  788. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  789. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  790. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  791. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-a2310c1193a3c663.js +1 -0
  792. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  793. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  794. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  795. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  796. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/route-a2310c1193a3c663.js +1 -0
  797. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  798. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  799. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  800. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  801. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-a2310c1193a3c663.js +1 -0
  802. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-a2310c1193a3c663.js +1 -0
  803. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-a2310c1193a3c663.js +1 -0
  804. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  805. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  806. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  807. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  808. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-a2310c1193a3c663.js +1 -0
  809. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-a2310c1193a3c663.js +1 -0
  810. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-a2310c1193a3c663.js +1 -0
  811. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-a2310c1193a3c663.js +1 -0
  812. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-a2310c1193a3c663.js +1 -0
  813. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-a2310c1193a3c663.js +1 -0
  814. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-a2310c1193a3c663.js +1 -0
  815. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-a2310c1193a3c663.js +1 -0
  816. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-a2310c1193a3c663.js +1 -0
  817. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  818. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  819. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  820. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  821. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-a2310c1193a3c663.js +1 -0
  822. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-a2310c1193a3c663.js +1 -0
  823. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-a2310c1193a3c663.js +1 -0
  824. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-a2310c1193a3c663.js +1 -0
  825. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  826. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  827. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  828. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  829. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-a2310c1193a3c663.js +1 -0
  830. package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-a2310c1193a3c663.js +1 -0
  831. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-a2310c1193a3c663.js +1 -0
  832. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-a2310c1193a3c663.js +1 -0
  833. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-a2310c1193a3c663.js +1 -0
  834. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-a2310c1193a3c663.js +1 -0
  835. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-a2310c1193a3c663.js +1 -0
  836. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-a2310c1193a3c663.js +1 -0
  837. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-a2310c1193a3c663.js +1 -0
  838. package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-a2310c1193a3c663.js +1 -0
  839. package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-a2310c1193a3c663.js +1 -0
  840. package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-a2310c1193a3c663.js +1 -0
  841. package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-a2310c1193a3c663.js +1 -0
  842. package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-a2310c1193a3c663.js +1 -0
  843. package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-a2310c1193a3c663.js +1 -0
  844. package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-a2310c1193a3c663.js +1 -0
  845. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-a2310c1193a3c663.js +1 -0
  846. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-a2310c1193a3c663.js +1 -0
  847. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-a2310c1193a3c663.js +1 -0
  848. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-a2310c1193a3c663.js +1 -0
  849. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-a2310c1193a3c663.js +1 -0
  850. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-a2310c1193a3c663.js +1 -0
  851. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-a2310c1193a3c663.js +1 -0
  852. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-a2310c1193a3c663.js +1 -0
  853. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-a2310c1193a3c663.js +1 -0
  854. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-a2310c1193a3c663.js +1 -0
  855. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-a2310c1193a3c663.js +1 -0
  856. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-a2310c1193a3c663.js +1 -0
  857. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-a2310c1193a3c663.js +1 -0
  858. package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-a2310c1193a3c663.js +1 -0
  859. package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-a2310c1193a3c663.js +1 -0
  860. package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-a2310c1193a3c663.js +1 -0
  861. package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-a2310c1193a3c663.js +1 -0
  862. package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-a2310c1193a3c663.js +1 -0
  863. package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-a2310c1193a3c663.js +1 -0
  864. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-a2310c1193a3c663.js +1 -0
  865. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-a2310c1193a3c663.js +1 -0
  866. package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-a2310c1193a3c663.js +1 -0
  867. package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-a2310c1193a3c663.js +1 -0
  868. package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-a2310c1193a3c663.js +1 -0
  869. package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-a2310c1193a3c663.js +1 -0
  870. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-a2310c1193a3c663.js +1 -0
  871. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-a2310c1193a3c663.js +1 -0
  872. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-a2310c1193a3c663.js +1 -0
  873. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-a2310c1193a3c663.js +1 -0
  874. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-a2310c1193a3c663.js +1 -0
  875. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-a2310c1193a3c663.js +1 -0
  876. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-a2310c1193a3c663.js +1 -0
  877. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-a2310c1193a3c663.js +1 -0
  878. package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-a2310c1193a3c663.js +1 -0
  879. package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-a2310c1193a3c663.js +1 -0
  880. package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-a2310c1193a3c663.js +1 -0
  881. package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-a2310c1193a3c663.js +1 -0
  882. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-a2310c1193a3c663.js +1 -0
  883. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-a2310c1193a3c663.js +1 -0
  884. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-a2310c1193a3c663.js +1 -0
  885. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-a2310c1193a3c663.js +1 -0
  886. package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-a2310c1193a3c663.js +1 -0
  887. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-a2310c1193a3c663.js +1 -0
  888. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-a2310c1193a3c663.js +1 -0
  889. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-a2310c1193a3c663.js +1 -0
  890. package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-a2310c1193a3c663.js +1 -0
  891. package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-a2310c1193a3c663.js +1 -0
  892. package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-a2310c1193a3c663.js +1 -0
  893. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-a2310c1193a3c663.js +1 -0
  894. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-a2310c1193a3c663.js +1 -0
  895. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-a2310c1193a3c663.js +1 -0
  896. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-a2310c1193a3c663.js +1 -0
  897. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-a2310c1193a3c663.js +1 -0
  898. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-a2310c1193a3c663.js +1 -0
  899. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-a2310c1193a3c663.js +1 -0
  900. package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-a2310c1193a3c663.js +1 -0
  901. package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-a2310c1193a3c663.js +1 -0
  902. package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-a2310c1193a3c663.js +1 -0
  903. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-a2310c1193a3c663.js +1 -0
  904. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-a2310c1193a3c663.js +1 -0
  905. package/cli/app/.next-cli-build/static/chunks/app/api/version/route-a2310c1193a3c663.js +1 -0
  906. package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-a2310c1193a3c663.js +1 -0
  907. package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-a2310c1193a3c663.js +1 -0
  908. package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-a2310c1193a3c663.js +1 -0
  909. package/cli/app/.next-cli-build/static/chunks/app/page-a2310c1193a3c663.js +1 -0
  910. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-a2310c1193a3c663.js +1 -0
  911. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-a2310c1193a3c663.js +1 -0
  912. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-a2310c1193a3c663.js +1 -0
  913. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-a2310c1193a3c663.js +1 -0
  914. package/cli/app/.next-cli-build/static/css/528817c12142b028.css +1 -0
  915. package/cli/app/package.json +1 -1
  916. package/cli/package.json +1 -1
  917. package/open-sse/handlers/chatCore.js +46 -1
  918. package/open-sse/rtk/headroom.js +348 -0
  919. package/open-sse/rtk/pxpipe.js +104 -0
  920. package/open-sse/services/clinepassModels.js +63 -0
  921. package/open-sse/services/copilotModels.js +155 -0
  922. package/open-sse/utils/sessionManager.js +149 -0
  923. package/package.json +1 -1
  924. package/src/app/(dashboard)/dashboard/endpoint/endpointConstants.js +32 -0
  925. package/src/app/(dashboard)/dashboard/pxpipe/PxpipeClient.js +283 -0
  926. package/src/app/(dashboard)/dashboard/pxpipe/page.js +5 -0
  927. package/src/app/(dashboard)/dashboard/token-saver/TokenSaverClient.js +1015 -0
  928. package/src/app/(dashboard)/dashboard/token-saver/page.js +5 -0
  929. package/src/app/api/headroom/extras/route.js +46 -0
  930. package/src/app/api/headroom/proxy/[...path]/route.js +104 -0
  931. package/src/app/api/headroom/restart/route.js +35 -0
  932. package/src/app/api/headroom/start/route.js +35 -0
  933. package/src/app/api/headroom/status/route.js +18 -0
  934. package/src/app/api/headroom/stop/route.js +14 -0
  935. package/src/app/api/providers/[id]/models/route.js +48 -27
  936. package/src/app/api/pxpipe/health/route.js +16 -0
  937. package/src/app/api/pxpipe/install/route.js +20 -0
  938. package/src/app/api/pxpipe/logs/route.js +18 -0
  939. package/src/app/api/pxpipe/restart/route.js +16 -0
  940. package/src/app/api/pxpipe/start/route.js +26 -0
  941. package/src/app/api/pxpipe/stats/route.js +14 -0
  942. package/src/app/api/pxpipe/status/route.js +21 -0
  943. package/src/app/api/pxpipe/stop/route.js +16 -0
  944. package/src/app/api/v1/models/route.js +17 -0
  945. package/src/dashboardGuard.js +10 -0
  946. package/src/lib/db/repos/settingsRepo.js +9 -0
  947. package/src/lib/headroom/detect.js +192 -0
  948. package/src/lib/headroom/process.js +260 -0
  949. package/src/lib/pxpipe/events.js +125 -0
  950. package/src/lib/pxpipe/install.js +123 -0
  951. package/src/lib/pxpipe/loader.js +70 -0
  952. package/src/lib/pxpipe/service.js +49 -0
  953. package/src/shared/components/Sidebar.js +1 -0
  954. package/src/sse/handlers/chat.js +24 -0
  955. package/cli/app/.next-cli-build/server/chunks/8335.js +0 -10
  956. package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-47cd0604103a80c1.js +0 -1
  957. package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-47cd0604103a80c1.js +0 -1
  958. package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-47cd0604103a80c1.js +0 -1
  959. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-47cd0604103a80c1.js +0 -1
  960. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-47cd0604103a80c1.js +0 -1
  961. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-47cd0604103a80c1.js +0 -1
  962. package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-47cd0604103a80c1.js +0 -1
  963. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-47cd0604103a80c1.js +0 -1
  964. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-47cd0604103a80c1.js +0 -1
  965. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-47cd0604103a80c1.js +0 -1
  966. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-47cd0604103a80c1.js +0 -1
  967. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-47cd0604103a80c1.js +0 -1
  968. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-47cd0604103a80c1.js +0 -1
  969. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-47cd0604103a80c1.js +0 -1
  970. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-47cd0604103a80c1.js +0 -1
  971. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-47cd0604103a80c1.js +0 -1
  972. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-47cd0604103a80c1.js +0 -1
  973. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-47cd0604103a80c1.js +0 -1
  974. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-47cd0604103a80c1.js +0 -1
  975. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-47cd0604103a80c1.js +0 -1
  976. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-47cd0604103a80c1.js +0 -1
  977. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-47cd0604103a80c1.js +0 -1
  978. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-47cd0604103a80c1.js +0 -1
  979. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-47cd0604103a80c1.js +0 -1
  980. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-47cd0604103a80c1.js +0 -1
  981. package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-47cd0604103a80c1.js +0 -1
  982. package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-47cd0604103a80c1.js +0 -1
  983. package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-47cd0604103a80c1.js +0 -1
  984. package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-47cd0604103a80c1.js +0 -1
  985. package/cli/app/.next-cli-build/static/chunks/app/api/context/route-47cd0604103a80c1.js +0 -1
  986. package/cli/app/.next-cli-build/static/chunks/app/api/health/route-47cd0604103a80c1.js +0 -1
  987. package/cli/app/.next-cli-build/static/chunks/app/api/init/route-47cd0604103a80c1.js +0 -1
  988. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-47cd0604103a80c1.js +0 -1
  989. package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-47cd0604103a80c1.js +0 -1
  990. package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-47cd0604103a80c1.js +0 -1
  991. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-47cd0604103a80c1.js +0 -1
  992. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-47cd0604103a80c1.js +0 -1
  993. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-47cd0604103a80c1.js +0 -1
  994. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-47cd0604103a80c1.js +0 -1
  995. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-47cd0604103a80c1.js +0 -1
  996. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-47cd0604103a80c1.js +0 -1
  997. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-47cd0604103a80c1.js +0 -1
  998. package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-47cd0604103a80c1.js +0 -1
  999. package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-47cd0604103a80c1.js +0 -1
  1000. package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-47cd0604103a80c1.js +0 -1
  1001. package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-47cd0604103a80c1.js +0 -1
  1002. package/cli/app/.next-cli-build/static/chunks/app/api/models/route-47cd0604103a80c1.js +0 -1
  1003. package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-47cd0604103a80c1.js +0 -1
  1004. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-47cd0604103a80c1.js +0 -1
  1005. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1006. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1007. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1008. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1009. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-47cd0604103a80c1.js +0 -1
  1010. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1011. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1012. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1013. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1014. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/route-47cd0604103a80c1.js +0 -1
  1015. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1016. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1017. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1018. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1019. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-47cd0604103a80c1.js +0 -1
  1020. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-47cd0604103a80c1.js +0 -1
  1021. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-47cd0604103a80c1.js +0 -1
  1022. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1023. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1024. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1025. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1026. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-47cd0604103a80c1.js +0 -1
  1027. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-47cd0604103a80c1.js +0 -1
  1028. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-47cd0604103a80c1.js +0 -1
  1029. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-47cd0604103a80c1.js +0 -1
  1030. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-47cd0604103a80c1.js +0 -1
  1031. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-47cd0604103a80c1.js +0 -1
  1032. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-47cd0604103a80c1.js +0 -1
  1033. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-47cd0604103a80c1.js +0 -1
  1034. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-47cd0604103a80c1.js +0 -1
  1035. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1036. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1037. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1038. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1039. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-47cd0604103a80c1.js +0 -1
  1040. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-47cd0604103a80c1.js +0 -1
  1041. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-47cd0604103a80c1.js +0 -1
  1042. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-47cd0604103a80c1.js +0 -1
  1043. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1044. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1045. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1046. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1047. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-47cd0604103a80c1.js +0 -1
  1048. package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-47cd0604103a80c1.js +0 -1
  1049. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-47cd0604103a80c1.js +0 -1
  1050. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-47cd0604103a80c1.js +0 -1
  1051. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-47cd0604103a80c1.js +0 -1
  1052. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-47cd0604103a80c1.js +0 -1
  1053. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-47cd0604103a80c1.js +0 -1
  1054. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-47cd0604103a80c1.js +0 -1
  1055. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-47cd0604103a80c1.js +0 -1
  1056. package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-47cd0604103a80c1.js +0 -1
  1057. package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-47cd0604103a80c1.js +0 -1
  1058. package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-47cd0604103a80c1.js +0 -1
  1059. package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-47cd0604103a80c1.js +0 -1
  1060. package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-47cd0604103a80c1.js +0 -1
  1061. package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-47cd0604103a80c1.js +0 -1
  1062. package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-47cd0604103a80c1.js +0 -1
  1063. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-47cd0604103a80c1.js +0 -1
  1064. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-47cd0604103a80c1.js +0 -1
  1065. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-47cd0604103a80c1.js +0 -1
  1066. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-47cd0604103a80c1.js +0 -1
  1067. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-47cd0604103a80c1.js +0 -1
  1068. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-47cd0604103a80c1.js +0 -1
  1069. package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-47cd0604103a80c1.js +0 -1
  1070. package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-47cd0604103a80c1.js +0 -1
  1071. package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-47cd0604103a80c1.js +0 -1
  1072. package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-47cd0604103a80c1.js +0 -1
  1073. package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-47cd0604103a80c1.js +0 -1
  1074. package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-47cd0604103a80c1.js +0 -1
  1075. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-47cd0604103a80c1.js +0 -1
  1076. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-47cd0604103a80c1.js +0 -1
  1077. package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-47cd0604103a80c1.js +0 -1
  1078. package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-47cd0604103a80c1.js +0 -1
  1079. package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-47cd0604103a80c1.js +0 -1
  1080. package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-47cd0604103a80c1.js +0 -1
  1081. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-47cd0604103a80c1.js +0 -1
  1082. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-47cd0604103a80c1.js +0 -1
  1083. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-47cd0604103a80c1.js +0 -1
  1084. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-47cd0604103a80c1.js +0 -1
  1085. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-47cd0604103a80c1.js +0 -1
  1086. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-47cd0604103a80c1.js +0 -1
  1087. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-47cd0604103a80c1.js +0 -1
  1088. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-47cd0604103a80c1.js +0 -1
  1089. package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-47cd0604103a80c1.js +0 -1
  1090. package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-47cd0604103a80c1.js +0 -1
  1091. package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-47cd0604103a80c1.js +0 -1
  1092. package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-47cd0604103a80c1.js +0 -1
  1093. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-47cd0604103a80c1.js +0 -1
  1094. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-47cd0604103a80c1.js +0 -1
  1095. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-47cd0604103a80c1.js +0 -1
  1096. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-47cd0604103a80c1.js +0 -1
  1097. package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-47cd0604103a80c1.js +0 -1
  1098. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-47cd0604103a80c1.js +0 -1
  1099. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-47cd0604103a80c1.js +0 -1
  1100. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-47cd0604103a80c1.js +0 -1
  1101. package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-47cd0604103a80c1.js +0 -1
  1102. package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-47cd0604103a80c1.js +0 -1
  1103. package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-47cd0604103a80c1.js +0 -1
  1104. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-47cd0604103a80c1.js +0 -1
  1105. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-47cd0604103a80c1.js +0 -1
  1106. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-47cd0604103a80c1.js +0 -1
  1107. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-47cd0604103a80c1.js +0 -1
  1108. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-47cd0604103a80c1.js +0 -1
  1109. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-47cd0604103a80c1.js +0 -1
  1110. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-47cd0604103a80c1.js +0 -1
  1111. package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-47cd0604103a80c1.js +0 -1
  1112. package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-47cd0604103a80c1.js +0 -1
  1113. package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-47cd0604103a80c1.js +0 -1
  1114. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-47cd0604103a80c1.js +0 -1
  1115. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-47cd0604103a80c1.js +0 -1
  1116. package/cli/app/.next-cli-build/static/chunks/app/api/version/route-47cd0604103a80c1.js +0 -1
  1117. package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-47cd0604103a80c1.js +0 -1
  1118. package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-47cd0604103a80c1.js +0 -1
  1119. package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-47cd0604103a80c1.js +0 -1
  1120. package/cli/app/.next-cli-build/static/chunks/app/page-47cd0604103a80c1.js +0 -1
  1121. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-47cd0604103a80c1.js +0 -1
  1122. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-47cd0604103a80c1.js +0 -1
  1123. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-47cd0604103a80c1.js +0 -1
  1124. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-47cd0604103a80c1.js +0 -1
  1125. package/cli/app/.next-cli-build/static/css/66603789c5d0bb89.css +0 -1
  1126. package/cli/app/.next-cli-build/static/r3r8UzNCpFb_r_5RqCNis/_buildManifest.js +0 -1
  1127. /package/cli/app/.next-cli-build/static/{r3r8UzNCpFb_r_5RqCNis → Fgc4vdsr6a_wWu8yVkotQ}/_ssgManifest.js +0 -0
@@ -0,0 +1,1015 @@
1
+ "use client";
2
+
3
+ import { useState, useEffect, useCallback, useRef } from "react";
4
+ import { Card, Button, Input, Modal, Toggle, ConfirmModal } from "@/shared/components";
5
+ import { useCopyToClipboard } from "@/shared/hooks/useCopyToClipboard";
6
+ import { getCurrentLocale, onLocaleChange } from "@/i18n/runtime";
7
+ import {
8
+ WENYAN_LOCALES,
9
+ CAVEMAN_LEVELS,
10
+ PONYTAIL_LEVELS,
11
+ } from "../endpoint/endpointConstants";
12
+
13
+ export default function TokenSaverClient() {
14
+ const [rtkEnabled, setRtkEnabledState] = useState(true);
15
+ const [headroomEnabled, setHeadroomEnabled] = useState(false);
16
+ const [headroomUrl, setHeadroomUrl] = useState("http://localhost:8787");
17
+ const [headroomStatus, setHeadroomStatus] = useState({
18
+ installed: false,
19
+ running: false,
20
+ python: null,
21
+ loading: true,
22
+ });
23
+ const [showHeadroomInstallModal, setShowHeadroomInstallModal] =
24
+ useState(false);
25
+ const [headroomActionLoading, setHeadroomActionLoading] = useState(false);
26
+ const [headroomActionError, setHeadroomActionError] = useState("");
27
+ const [headroomExtras, setHeadroomExtras] = useState({
28
+ version: null,
29
+ extras: { code: false, ml: false },
30
+ available: ["code", "ml"],
31
+ loading: false,
32
+ });
33
+ const [pendingExtras, setPendingExtras] = useState([]);
34
+ const [extrasActionLoading, setExtrasActionLoading] = useState(false);
35
+ const [extrasActionError, setExtrasActionError] = useState("");
36
+ const [removingExtra, setRemovingExtra] = useState(null);
37
+ const [installLog, setInstallLog] = useState("");
38
+ const [extrasConfirm, setExtrasConfirm] = useState(null);
39
+ const [codeAware, setCodeAware] = useState(false);
40
+ const [kompress, setKompress] = useState(true);
41
+ const [restartingProxy, setRestartingProxy] = useState(false);
42
+ const logPollRef = useRef(null);
43
+ const [cavemanEnabled, setCavemanEnabled] = useState(false);
44
+ const [cavemanLevel, setCavemanLevel] = useState("full");
45
+ const [ponytailEnabled, setPonytailEnabled] = useState(false);
46
+ const [ponytailLevel, setPonytailLevel] = useState("full");
47
+ const [pxpipeEnabled, setPxpipeEnabled] = useState(false);
48
+ const [pxpipeMinChars, setPxpipeMinChars] = useState(25000);
49
+ const [pxpipeStatus, setPxpipeStatus] = useState({
50
+ installed: false,
51
+ installing: false,
52
+ running: false,
53
+ version: null,
54
+ loading: true,
55
+ });
56
+ const [pxpipeHealth, setPxpipeHealth] = useState(null);
57
+ const [showPxpipeModal, setShowPxpipeModal] = useState(false);
58
+ const [pxpipeActionLoading, setPxpipeActionLoading] = useState(false);
59
+ const [pxpipeActionError, setPxpipeActionError] = useState("");
60
+ const [locale, setLocale] = useState("en");
61
+
62
+ const { copied, copy } = useCopyToClipboard();
63
+
64
+ useEffect(() => {
65
+ setLocale(getCurrentLocale());
66
+ return onLocaleChange(() => setLocale(getCurrentLocale()));
67
+ }, []);
68
+
69
+ const isWenyanLocale = WENYAN_LOCALES.includes(locale);
70
+ const visibleCavemanLevels = isWenyanLocale
71
+ ? CAVEMAN_LEVELS
72
+ : CAVEMAN_LEVELS.filter((lvl) => !lvl.wenyan);
73
+
74
+ useEffect(() => {
75
+ const current = CAVEMAN_LEVELS.find((lvl) => lvl.id === cavemanLevel);
76
+ if (current?.wenyan && !isWenyanLocale) {
77
+ setCavemanLevel("ultra");
78
+ patchSetting({ cavemanLevel: "ultra" });
79
+ }
80
+ }, [isWenyanLocale, cavemanLevel]);
81
+
82
+ const patchSetting = async (patch) => {
83
+ try {
84
+ await fetch("/api/settings", {
85
+ method: "PATCH",
86
+ headers: { "Content-Type": "application/json" },
87
+ body: JSON.stringify(patch),
88
+ });
89
+ } catch (error) {
90
+ console.log("Error updating setting:", error);
91
+ }
92
+ };
93
+
94
+ const handleRtkEnabled = async (value) => {
95
+ try {
96
+ const res = await fetch("/api/settings", {
97
+ method: "PATCH",
98
+ headers: { "Content-Type": "application/json" },
99
+ body: JSON.stringify({ rtkEnabled: value }),
100
+ });
101
+ if (res.ok) setRtkEnabledState(value);
102
+ } catch (error) {
103
+ console.log("Error updating rtkEnabled:", error);
104
+ }
105
+ };
106
+
107
+ const handleCavemanEnabled = (value) => {
108
+ setCavemanEnabled(value);
109
+ patchSetting({ cavemanEnabled: value });
110
+ };
111
+
112
+ const handleHeadroomEnabled = (value) => {
113
+ const nextUrl = headroomUrl.trim() || "http://localhost:8787";
114
+ setHeadroomUrl(nextUrl);
115
+ setHeadroomEnabled(value);
116
+ patchSetting({ headroomEnabled: value, headroomUrl: nextUrl });
117
+ };
118
+
119
+ const handleHeadroomUrlBlur = async () => {
120
+ const next = headroomUrl.trim() || "http://localhost:8787";
121
+ setHeadroomUrl(next);
122
+ await patchSetting({ headroomUrl: next });
123
+ refreshHeadroomStatus();
124
+ };
125
+
126
+ const refreshHeadroomStatus = useCallback(async () => {
127
+ setHeadroomStatus((s) => ({ ...s, loading: true }));
128
+ try {
129
+ const res = await fetch("/api/headroom/status", {
130
+ headers: { "Cache-Control": "no-store" },
131
+ });
132
+ const data = await res.json();
133
+ setHeadroomStatus({ ...data, loading: false });
134
+ if (!data?.installed) {
135
+ setHeadroomExtras({
136
+ version: null,
137
+ extras: { code: false, ml: false },
138
+ available: ["code", "ml"],
139
+ loading: false,
140
+ });
141
+ setPendingExtras([]);
142
+ return;
143
+ }
144
+ try {
145
+ const er = await fetch("/api/headroom/extras", {
146
+ headers: { "Cache-Control": "no-store" },
147
+ });
148
+ if (!er.ok) throw new Error("extras status failed");
149
+ const ed = await er.json();
150
+ setHeadroomExtras((s) => ({
151
+ ...s,
152
+ version: ed.version ?? null,
153
+ extras: ed.extras || { code: false, ml: false },
154
+ available: ed.available || ["code", "ml"],
155
+ loading: false,
156
+ }));
157
+ setPendingExtras([]);
158
+ } catch {
159
+ setHeadroomExtras({
160
+ version: null,
161
+ extras: { code: false, ml: false },
162
+ available: ["code", "ml"],
163
+ loading: false,
164
+ });
165
+ setPendingExtras([]);
166
+ }
167
+ } catch {
168
+ setHeadroomStatus({
169
+ installed: false,
170
+ running: false,
171
+ python: null,
172
+ loading: false,
173
+ });
174
+ setHeadroomExtras({
175
+ version: null,
176
+ extras: { code: false, ml: false },
177
+ available: ["code", "ml"],
178
+ loading: false,
179
+ });
180
+ setPendingExtras([]);
181
+ }
182
+ }, []);
183
+
184
+ const handleHeadroomStart = useCallback(async () => {
185
+ setHeadroomActionError("");
186
+ setHeadroomActionLoading(true);
187
+ try {
188
+ const res = await fetch("/api/headroom/start", { method: "POST" });
189
+ const data = await res.json().catch(() => ({}));
190
+ if (!res.ok) throw new Error(data.error || "Failed to start proxy");
191
+ await refreshHeadroomStatus();
192
+ } catch (e) {
193
+ setHeadroomActionError(e.message);
194
+ } finally {
195
+ setHeadroomActionLoading(false);
196
+ }
197
+ }, [refreshHeadroomStatus]);
198
+
199
+ const handleHeadroomStop = useCallback(async () => {
200
+ setHeadroomActionLoading(true);
201
+ try {
202
+ await fetch("/api/headroom/stop", { method: "POST" });
203
+ await refreshHeadroomStatus();
204
+ } finally {
205
+ setHeadroomActionLoading(false);
206
+ }
207
+ }, [refreshHeadroomStatus]);
208
+
209
+ const togglePendingExtra = (extra) => {
210
+ setPendingExtras((cur) =>
211
+ cur.includes(extra) ? cur.filter((e) => e !== extra) : [...cur, extra]
212
+ );
213
+ };
214
+
215
+ // Poll the install log tail while a pip install/uninstall is running.
216
+ const startLogPolling = useCallback(() => {
217
+ setInstallLog("");
218
+ if (logPollRef.current) clearInterval(logPollRef.current);
219
+ const tick = async () => {
220
+ try {
221
+ const r = await fetch("/api/headroom/extras?log=1", {
222
+ headers: { "Cache-Control": "no-store" },
223
+ });
224
+ const d = await r.json().catch(() => ({}));
225
+ if (typeof d.log === "string") setInstallLog(d.log);
226
+ } catch { /* ignore transient poll errors */ }
227
+ };
228
+ tick();
229
+ logPollRef.current = setInterval(tick, 1500);
230
+ }, []);
231
+
232
+ const stopLogPolling = useCallback(() => {
233
+ if (logPollRef.current) {
234
+ clearInterval(logPollRef.current);
235
+ logPollRef.current = null;
236
+ }
237
+ }, []);
238
+
239
+ useEffect(() => () => stopLogPolling(), [stopLogPolling]);
240
+
241
+ const installExtrasConfirmed = useCallback(async () => {
242
+ if (pendingExtras.length === 0) return;
243
+ setExtrasActionLoading(true);
244
+ setExtrasActionError("");
245
+ startLogPolling();
246
+ try {
247
+ const res = await fetch("/api/headroom/extras", {
248
+ method: "POST",
249
+ headers: { "Content-Type": "application/json" },
250
+ body: JSON.stringify({ extras: pendingExtras }),
251
+ });
252
+ const data = await res.json().catch(() => ({}));
253
+ if (!res.ok) throw new Error(data.error || "Install failed");
254
+ setHeadroomExtras((s) => ({
255
+ ...s,
256
+ version: data.version ?? s.version,
257
+ extras: data.extras || s.extras,
258
+ }));
259
+ setPendingExtras([]);
260
+ } catch (e) {
261
+ setExtrasActionError(e.message);
262
+ } finally {
263
+ stopLogPolling();
264
+ setExtrasActionLoading(false);
265
+ }
266
+ }, [pendingExtras, startLogPolling, stopLogPolling]);
267
+
268
+ const removeExtraConfirmed = useCallback(async (extra) => {
269
+ setRemovingExtra(extra);
270
+ setExtrasActionError("");
271
+ startLogPolling();
272
+ try {
273
+ const res = await fetch("/api/headroom/extras", {
274
+ method: "DELETE",
275
+ headers: { "Content-Type": "application/json" },
276
+ body: JSON.stringify({ extras: [extra] }),
277
+ });
278
+ const data = await res.json().catch(() => ({}));
279
+ if (!res.ok) throw new Error(data.error || "Remove failed");
280
+ setHeadroomExtras((s) => ({
281
+ ...s,
282
+ version: data.version ?? s.version,
283
+ extras: data.extras || s.extras,
284
+ }));
285
+ } catch (e) {
286
+ setExtrasActionError(e.message);
287
+ } finally {
288
+ stopLogPolling();
289
+ setRemovingExtra(null);
290
+ }
291
+ }, [startLogPolling, stopLogPolling]);
292
+
293
+ const handleInstallExtras = useCallback(() => {
294
+ if (pendingExtras.length === 0) return;
295
+ // Warn about the heavy ~1GB torch download before installing [ml].
296
+ if (pendingExtras.includes("ml")) {
297
+ setExtrasConfirm({
298
+ title: "Install [ml]",
299
+ message: "[ml] downloads ~1 GB (torch + huggingface-hub). Continue?",
300
+ confirmText: "Install",
301
+ variant: "primary",
302
+ onConfirm: installExtrasConfirmed,
303
+ });
304
+ return;
305
+ }
306
+ installExtrasConfirmed();
307
+ }, [pendingExtras, installExtrasConfirmed]);
308
+
309
+ const handleRemoveExtra = useCallback((extra) => {
310
+ setExtrasConfirm({
311
+ title: `Remove [${extra}]`,
312
+ message: `Remove [${extra}] and its packages?`,
313
+ confirmText: "Remove",
314
+ variant: "danger",
315
+ onConfirm: () => removeExtraConfirmed(extra),
316
+ });
317
+ }, [removeExtraConfirmed]);
318
+
319
+ // Toggle an extra's active state (persist setting), then restart the proxy so
320
+ // the new --code-aware / --disable-kompress flags take effect.
321
+ const toggleExtraActive = useCallback(async (extra, value) => {
322
+ setExtrasActionError("");
323
+ if (extra === "code") setCodeAware(value);
324
+ if (extra === "ml") setKompress(value);
325
+ const key = extra === "code" ? "headroomCodeAware" : "headroomKompress";
326
+ await patchSetting({ [key]: value });
327
+ if (!headroomStatus.running) return;
328
+ setRestartingProxy(true);
329
+ try {
330
+ const res = await fetch("/api/headroom/restart", { method: "POST" });
331
+ const data = await res.json().catch(() => ({}));
332
+ if (!res.ok) throw new Error(data.error || "Restart failed");
333
+ await refreshHeadroomStatus();
334
+ } catch (e) {
335
+ setExtrasActionError(e.message);
336
+ } finally {
337
+ setRestartingProxy(false);
338
+ }
339
+ }, [headroomStatus.running, refreshHeadroomStatus]);
340
+
341
+ const handleCavemanLevel = (level) => {
342
+ setCavemanLevel(level);
343
+ patchSetting({ cavemanLevel: level });
344
+ };
345
+
346
+ const handlePonytailEnabled = (value) => {
347
+ setPonytailEnabled(value);
348
+ patchSetting({ ponytailEnabled: value });
349
+ };
350
+
351
+ const handlePonytailLevel = (level) => {
352
+ setPonytailLevel(level);
353
+ patchSetting({ ponytailLevel: level });
354
+ };
355
+
356
+ const refreshPxpipeStatus = useCallback(async () => {
357
+ setPxpipeStatus((s) => ({ ...s, loading: true }));
358
+ try {
359
+ const res = await fetch("/api/pxpipe/status", {
360
+ headers: { "Cache-Control": "no-store" },
361
+ });
362
+ const data = await res.json();
363
+ setPxpipeStatus({ ...data, loading: false });
364
+ if (typeof data.minChars === "number") setPxpipeMinChars(data.minChars);
365
+ } catch {
366
+ setPxpipeStatus({ installed: false, installing: false, running: false, version: null, loading: false });
367
+ }
368
+ }, []);
369
+
370
+ const runPxpipeHealth = useCallback(async () => {
371
+ try {
372
+ const res = await fetch("/api/pxpipe/health", { method: "POST" });
373
+ setPxpipeHealth(await res.json());
374
+ } catch (e) {
375
+ setPxpipeHealth({ healthy: false, checks: [], error: e.message });
376
+ }
377
+ }, []);
378
+
379
+ const pxpipeAction = useCallback(
380
+ async (endpoint) => {
381
+ setPxpipeActionError("");
382
+ setPxpipeActionLoading(true);
383
+ try {
384
+ const res = await fetch(`/api/pxpipe/${endpoint}`, { method: "POST" });
385
+ const data = await res.json().catch(() => ({}));
386
+ if (!res.ok) throw new Error(data.error || `PXPIPE ${endpoint} failed`);
387
+ await refreshPxpipeStatus();
388
+ await runPxpipeHealth();
389
+ } catch (e) {
390
+ setPxpipeActionError(e.message);
391
+ } finally {
392
+ setPxpipeActionLoading(false);
393
+ }
394
+ },
395
+ [refreshPxpipeStatus, runPxpipeHealth]
396
+ );
397
+
398
+ const handlePxpipeEnabled = (value) => {
399
+ setPxpipeEnabled(value);
400
+ patchSetting({ pxpipeEnabled: value });
401
+ };
402
+
403
+ const handlePxpipeMinCharsBlur = () => {
404
+ const next = Math.max(0, Number(pxpipeMinChars) || 25000);
405
+ setPxpipeMinChars(next);
406
+ patchSetting({ pxpipeMinChars: next });
407
+ };
408
+
409
+ useEffect(() => {
410
+ const loadSettings = async () => {
411
+ try {
412
+ const res = await fetch("/api/settings");
413
+ if (res.ok) {
414
+ const data = await res.json();
415
+ setRtkEnabledState(data.rtkEnabled !== false);
416
+ setHeadroomEnabled(!!data.headroomEnabled);
417
+ setHeadroomUrl(data.headroomUrl || "http://localhost:8787");
418
+ setCodeAware(data.headroomCodeAware === true);
419
+ setKompress(data.headroomKompress !== false);
420
+ setCavemanEnabled(!!data.cavemanEnabled);
421
+ setCavemanLevel(data.cavemanLevel || "full");
422
+ setPonytailEnabled(!!data.ponytailEnabled);
423
+ setPonytailLevel(data.ponytailLevel || "full");
424
+ setPxpipeEnabled(!!data.pxpipeEnabled);
425
+ if (typeof data.pxpipeMinChars === "number") setPxpipeMinChars(data.pxpipeMinChars);
426
+ refreshHeadroomStatus();
427
+ // PRD: run the PXPIPE health check automatically when the page opens
428
+ refreshPxpipeStatus().then(runPxpipeHealth);
429
+ }
430
+ } catch {}
431
+ };
432
+ loadSettings();
433
+ }, [refreshHeadroomStatus, refreshPxpipeStatus, runPxpipeHealth]);
434
+
435
+ const headroomRunning = !!headroomStatus.running;
436
+ const headroomStatusLabel = headroomStatus.loading
437
+ ? "Checking…"
438
+ : headroomRunning
439
+ ? "Running"
440
+ : headroomStatus.localUrl !== false && !headroomStatus.installed
441
+ ? "Not installed"
442
+ : headroomStatus.localUrl !== false
443
+ ? "Stopped"
444
+ : "External";
445
+ const headroomLocalUrl = headroomStatus.localUrl !== false;
446
+ const headroomCanStart = !!headroomStatus.canStart;
447
+ const headroomManaged =
448
+ headroomLocalUrl && !!headroomStatus.managedPid;
449
+
450
+ const pxpipeHealthy = pxpipeHealth?.healthy === true;
451
+ const pxpipeStatusLabel = pxpipeStatus.loading
452
+ ? "Checking…"
453
+ : pxpipeStatus.installing
454
+ ? "Installing…"
455
+ : !pxpipeStatus.installed
456
+ ? "Not installed"
457
+ : pxpipeHealthy
458
+ ? "Healthy"
459
+ : pxpipeStatus.running
460
+ ? "Running"
461
+ : "Stopped";
462
+ const pxpipeChipClass =
463
+ pxpipeHealthy || pxpipeStatus.running
464
+ ? "bg-success/15 text-success"
465
+ : "bg-warning/15 text-warning";
466
+
467
+ return (
468
+ <div className="space-y-6 p-6">
469
+ <Card id="rtk">
470
+ <div className="flex items-center justify-between mb-2">
471
+ <h2 className="text-lg font-semibold flex items-center gap-2">
472
+ <span className="material-symbols-outlined text-primary">
473
+ bolt
474
+ </span>
475
+ Token Saver
476
+ </h2>
477
+ </div>
478
+ <div className="flex items-center justify-between pt-2 pb-4 border-b border-border gap-4">
479
+ <div className="min-w-0 flex-1">
480
+ <p className="font-medium">
481
+ Compress tool output{" "}
482
+ <a
483
+ href="https://github.com/rtk-ai/rtk"
484
+ target="_blank"
485
+ rel="noreferrer"
486
+ className="text-xs font-normal text-primary underline hover:opacity-80"
487
+ >
488
+ (RTK)
489
+ </a>
490
+ </p>
491
+ <p className="text-sm text-text-muted">
492
+ git/grep/ls/tree/logs → 60-90% fewer input tokens
493
+ </p>
494
+ </div>
495
+ <Toggle
496
+ checked={rtkEnabled}
497
+ onChange={() => handleRtkEnabled(!rtkEnabled)}
498
+ />
499
+ </div>
500
+ <div className="flex items-center justify-between py-4 gap-4 flex-wrap">
501
+ <div className="min-w-0 flex-1">
502
+ <div className="flex items-center gap-3 flex-wrap">
503
+ <p className="font-medium">
504
+ Compress context{" "}
505
+ <a
506
+ href="https://github.com/chopratejas/headroom"
507
+ target="_blank"
508
+ rel="noreferrer"
509
+ className="text-xs font-normal text-primary underline hover:opacity-80"
510
+ >
511
+ (Headroom)
512
+ </a>
513
+ </p>
514
+ <span
515
+ className={`text-xs px-2 py-0.5 rounded ${headroomRunning ? "bg-success/15 text-success" : "bg-warning/15 text-warning"}`}
516
+ >
517
+ {headroomStatusLabel}
518
+ </span>
519
+ <button
520
+ type="button"
521
+ onClick={() => setShowHeadroomInstallModal(true)}
522
+ className="text-xs text-primary underline hover:opacity-80"
523
+ >
524
+ {headroomRunning ? "Manage" : "Setup"}
525
+ </button>
526
+ </div>
527
+ <p className="text-sm text-text-muted mt-1">
528
+ Compress prompts via /v1/compress before routing to the model
529
+ </p>
530
+ </div>
531
+ <Toggle
532
+ checked={headroomEnabled && headroomRunning}
533
+ disabled={!headroomRunning}
534
+ onChange={() => handleHeadroomEnabled(!headroomEnabled)}
535
+ />
536
+ </div>
537
+ {headroomStatus.installed && (
538
+ <div className="mb-3 ml-1 pl-3 pb-4 border-l-2 border-border">
539
+ <div className="flex items-center gap-2 flex-wrap">
540
+ <span className="text-xs text-text-muted">
541
+ Compression extras
542
+ {headroomExtras.version ? ` · v${headroomExtras.version}` : ""}:
543
+ </span>
544
+ {headroomExtras.available.map((extra) => {
545
+ const installed = !!headroomExtras.extras[extra];
546
+ const pending = pendingExtras.includes(extra);
547
+ const extraTitle =
548
+ extra === "code"
549
+ ? "tree-sitter AST compression for code responses"
550
+ : "Kompress-v2 HF model for prose/agentic traces (~+1GB)";
551
+
552
+ if (installed) {
553
+ const active = extra === "code" ? codeAware : kompress;
554
+ return (
555
+ <div
556
+ key={extra}
557
+ className="flex items-center gap-1.5 text-xs px-2 py-1 rounded border border-success/40 bg-success/5 text-text"
558
+ title={extraTitle}
559
+ >
560
+ <Toggle
561
+ size="sm"
562
+ checked={active}
563
+ disabled={restartingProxy}
564
+ onChange={() => toggleExtraActive(extra, !active)}
565
+ />
566
+ <span className="font-medium">[{extra}]</span>
567
+ <button
568
+ type="button"
569
+ onClick={() => handleRemoveExtra(extra)}
570
+ disabled={removingExtra === extra}
571
+ className="ml-1 text-error underline hover:opacity-80 disabled:opacity-50"
572
+ title={`Uninstall [${extra}]`}
573
+ >
574
+ {removingExtra === extra ? "Uninstalling…" : "Uninstall"}
575
+ </button>
576
+ </div>
577
+ );
578
+ }
579
+
580
+ return (
581
+ <label
582
+ key={extra}
583
+ className={`flex items-center gap-1.5 text-xs px-2 py-1 rounded border cursor-pointer transition-colors ${
584
+ pending
585
+ ? "border-primary bg-primary/10 text-primary"
586
+ : "border-border text-text-muted hover:bg-surface-2"
587
+ }`}
588
+ title={extraTitle}
589
+ >
590
+ <input
591
+ type="checkbox"
592
+ className="w-3 h-3"
593
+ checked={pending}
594
+ onChange={() => togglePendingExtra(extra)}
595
+ />
596
+ <span className="font-medium">[{extra}]</span>
597
+ <span className="opacity-70">not installed</span>
598
+ </label>
599
+ );
600
+ })}
601
+ {pendingExtras.length > 0 && (
602
+ <button
603
+ onClick={handleInstallExtras}
604
+ disabled={extrasActionLoading}
605
+ className="text-xs px-2.5 py-1 rounded bg-primary text-white hover:opacity-90 disabled:opacity-50"
606
+ >
607
+ {extrasActionLoading
608
+ ? "Installing…"
609
+ : `Install [proxy,${pendingExtras.join(",")}]`}
610
+ </button>
611
+ )}
612
+ </div>
613
+ {extrasActionError && (
614
+ <p className="text-xs text-error mt-1">{extrasActionError}</p>
615
+ )}
616
+ {restartingProxy && (
617
+ <p className="text-xs text-text-muted mt-1">Restarting proxy…</p>
618
+ )}
619
+ {(extrasActionLoading || removingExtra) && installLog && (
620
+ <pre className="mt-2 max-h-32 overflow-auto rounded bg-surface-2 p-2 text-[10px] leading-tight text-text-muted whitespace-pre-wrap">
621
+ {installLog}
622
+ </pre>
623
+ )}
624
+ <p className="text-xs text-text-muted mt-1">
625
+ Installing adds the package; use <code>on</code>/<code>off</code>{" "}
626
+ to activate it (restarts the proxy). Default install is{" "}
627
+ <code>[proxy]</code> only (SmartCrusher for JSON). Adding{" "}
628
+ <code>[code]</code> enables AST compression
629
+ (Python/JS/TS/Go/Rust/Java/C/C++/Perl). Adding <code>[ml]</code>{" "}
630
+ enables the Kompress-v2 HF model for prose/agentic traces but
631
+ adds ~1 GB (torch + huggingface-hub).
632
+ </p>
633
+ </div>
634
+ )}
635
+ <div className="flex items-center justify-between pt-4 border-t border-border gap-4 flex-wrap">
636
+ <div className="min-w-0 flex-1">
637
+ <p className="font-medium">
638
+ Compress LLM output{" "}
639
+ <a
640
+ href="https://github.com/JuliusBrussee/caveman"
641
+ target="_blank"
642
+ rel="noreferrer"
643
+ className="text-xs font-normal text-primary underline hover:opacity-80"
644
+ >
645
+ (Caveman)
646
+ </a>
647
+ </p>
648
+ <p className="text-sm text-text-muted">
649
+ Terse-style system prompt → ~65% fewer output tokens (up to 87%)
650
+ </p>
651
+ </div>
652
+ <div className="flex items-center gap-3 shrink-0">
653
+ {cavemanEnabled && (
654
+ <div className="flex flex-col items-end gap-1">
655
+ <div className="flex items-center gap-1.5">
656
+ {visibleCavemanLevels.map((lvl) => (
657
+ <button
658
+ key={lvl.id}
659
+ onClick={() => handleCavemanLevel(lvl.id)}
660
+ className={`px-3 py-1.5 rounded text-xs font-medium border transition-colors ${
661
+ cavemanLevel === lvl.id
662
+ ? "bg-primary text-white border-primary"
663
+ : "bg-transparent border-border text-text-muted hover:bg-surface-2"
664
+ }`}
665
+ title={lvl.desc}
666
+ >
667
+ {lvl.label}
668
+ </button>
669
+ ))}
670
+ </div>
671
+ <p className="text-xs text-primary">
672
+ {
673
+ CAVEMAN_LEVELS.find((lvl) => lvl.id === cavemanLevel)
674
+ ?.desc
675
+ }
676
+ </p>
677
+ </div>
678
+ )}
679
+ <Toggle
680
+ checked={cavemanEnabled}
681
+ onChange={() => handleCavemanEnabled(!cavemanEnabled)}
682
+ />
683
+ </div>
684
+ </div>
685
+ <div className="flex items-center justify-between pt-4 mt-4 border-t border-border gap-4 flex-wrap">
686
+ <div className="min-w-0 flex-1">
687
+ <p className="font-medium">
688
+ Lazy senior dev{" "}
689
+ <a
690
+ href="https://github.com/DietrichGebert/ponytail"
691
+ target="_blank"
692
+ rel="noreferrer"
693
+ className="text-xs font-normal text-primary underline hover:opacity-80"
694
+ >
695
+ (Ponytail)
696
+ </a>
697
+ </p>
698
+ <p className="text-sm text-text-muted">
699
+ Bias the model toward minimal code: YAGNI, reuse stdlib,
700
+ deletion over addition
701
+ </p>
702
+ </div>
703
+ <div className="flex items-center gap-3 shrink-0">
704
+ {ponytailEnabled && (
705
+ <div className="flex flex-col items-end gap-1">
706
+ <div className="flex items-center gap-1.5">
707
+ {PONYTAIL_LEVELS.map((lvl) => (
708
+ <button
709
+ key={lvl.id}
710
+ onClick={() => handlePonytailLevel(lvl.id)}
711
+ className={`px-3 py-1.5 rounded text-xs font-medium border transition-colors ${
712
+ ponytailLevel === lvl.id
713
+ ? "bg-primary text-white border-primary"
714
+ : "bg-transparent border-border text-text-muted hover:bg-surface-2"
715
+ }`}
716
+ title={lvl.desc}
717
+ >
718
+ {lvl.label}
719
+ </button>
720
+ ))}
721
+ </div>
722
+ <p className="text-xs text-primary">
723
+ {
724
+ PONYTAIL_LEVELS.find((lvl) => lvl.id === ponytailLevel)
725
+ ?.desc
726
+ }
727
+ </p>
728
+ </div>
729
+ )}
730
+ <Toggle
731
+ checked={ponytailEnabled}
732
+ onChange={() => handlePonytailEnabled(!ponytailEnabled)}
733
+ />
734
+ </div>
735
+ </div>
736
+ {/* PXPIPE hidden from UI — experimental, not exposed to users yet */}
737
+ {false && (
738
+ <div className="flex items-center justify-between pt-4 mt-4 border-t border-border gap-4 flex-wrap">
739
+ <div className="min-w-0 flex-1">
740
+ <div className="flex items-center gap-3 flex-wrap">
741
+ <p className="font-medium">
742
+ Compress prompts as images{" "}
743
+ <a
744
+ href="https://github.com/teamchong/pxpipe"
745
+ target="_blank"
746
+ rel="noreferrer"
747
+ className="text-xs font-normal text-primary underline hover:opacity-80"
748
+ >
749
+ (PXPIPE)
750
+ </a>
751
+ </p>
752
+ <span className={`text-xs px-2 py-0.5 rounded ${pxpipeChipClass}`}>
753
+ {pxpipeStatusLabel}
754
+ </span>
755
+ <button
756
+ type="button"
757
+ onClick={() => setShowPxpipeModal(true)}
758
+ className="text-xs text-primary underline hover:opacity-80"
759
+ >
760
+ {pxpipeStatus.installed ? "Manage" : "Setup"}
761
+ </button>
762
+ <a
763
+ href="/dashboard/pxpipe"
764
+ className="text-xs text-primary underline hover:opacity-80"
765
+ >
766
+ Dashboard
767
+ </a>
768
+ </div>
769
+ <p className="text-sm text-text-muted mt-1">
770
+ Transforms large textual context into optimized images before
771
+ sending to the LLM. Ideal for huge prompts, tool outputs and long
772
+ conversations.
773
+ </p>
774
+ </div>
775
+ <Toggle
776
+ checked={pxpipeEnabled}
777
+ disabled={!pxpipeStatus.installed}
778
+ onChange={() => handlePxpipeEnabled(!pxpipeEnabled)}
779
+ />
780
+ </div>
781
+ )}
782
+ </Card>
783
+
784
+ <Modal
785
+ isOpen={showHeadroomInstallModal}
786
+ title={headroomRunning ? "Headroom" : "Setup Headroom"}
787
+ onClose={() => setShowHeadroomInstallModal(false)}
788
+ >
789
+ <div className="flex flex-col gap-4">
790
+ <div className="flex items-center justify-between text-sm">
791
+ <span>Status</span>
792
+ <span
793
+ className={headroomRunning ? "text-success" : "text-warning"}
794
+ >
795
+ {headroomStatusLabel}
796
+ </span>
797
+ </div>
798
+ {headroomRunning && (
799
+ <a
800
+ href="/api/headroom/proxy/dashboard"
801
+ target="_blank"
802
+ rel="noreferrer"
803
+ className="w-full rounded border border-border px-4 py-2 text-center text-sm hover:bg-surface-2"
804
+ >
805
+ Open Headroom Dashboard
806
+ </a>
807
+ )}
808
+ <div className="flex flex-col gap-1">
809
+ <p className="text-sm font-medium">Proxy URL</p>
810
+ <Input
811
+ value={headroomUrl}
812
+ onChange={(e) => setHeadroomUrl(e.target.value)}
813
+ onBlur={handleHeadroomUrlBlur}
814
+ placeholder="http://localhost:8787"
815
+ className="font-mono text-sm"
816
+ />
817
+ <p className="text-xs text-text-muted">
818
+ Use a local proxy for Start/Stop, or an external Docker sidecar
819
+ like http://headroom:8787.
820
+ </p>
821
+ </div>
822
+ {headroomManaged ? (
823
+ <Button
824
+ onClick={handleHeadroomStop}
825
+ variant="ghost"
826
+ fullWidth
827
+ disabled={headroomActionLoading}
828
+ >
829
+ {headroomActionLoading ? "Stopping…" : "Stop Headroom"}
830
+ </Button>
831
+ ) : headroomRunning ? (
832
+ <p className="text-sm text-success">
833
+ Headroom proxy is reachable. You can enable the token saver.
834
+ </p>
835
+ ) : headroomCanStart ? (
836
+ <Button
837
+ onClick={handleHeadroomStart}
838
+ fullWidth
839
+ disabled={headroomActionLoading}
840
+ >
841
+ {headroomActionLoading ? "Starting…" : "Start Headroom"}
842
+ </Button>
843
+ ) : !headroomLocalUrl ? (
844
+ <p className="text-sm text-warning">
845
+ Start Headroom separately at the configured URL, then recheck.
846
+ </p>
847
+ ) : !headroomStatus.python ? (
848
+ <p className="text-sm text-warning">
849
+ Python ≥ 3.10 required for local managed mode. Install Python
850
+ first, or use an external proxy URL.
851
+ </p>
852
+ ) : (
853
+ <div className="flex flex-col gap-1">
854
+ <p className="text-sm font-medium">Install then click Start:</p>
855
+ <div className="flex items-center gap-2">
856
+ <pre className="flex-1 rounded bg-black/5 dark:bg-white/5 p-2 text-xs font-mono overflow-x-auto">
857
+ {`pip install "headroom-ai[proxy]"`}
858
+ </pre>
859
+ <Button
860
+ size="sm"
861
+ variant="ghost"
862
+ onClick={() =>
863
+ copy(`pip install "headroom-ai[proxy]"`)
864
+ }
865
+ >
866
+ {copied ? "Copied" : "Copy"}
867
+ </Button>
868
+ </div>
869
+ </div>
870
+ )}
871
+ {headroomActionError && (
872
+ <p className="text-sm text-warning">{headroomActionError}</p>
873
+ )}
874
+ <div className="flex gap-2">
875
+ <Button
876
+ onClick={() => refreshHeadroomStatus()}
877
+ variant="ghost"
878
+ fullWidth
879
+ >
880
+ Recheck
881
+ </Button>
882
+ <Button
883
+ onClick={() => setShowHeadroomInstallModal(false)}
884
+ fullWidth
885
+ >
886
+ Done
887
+ </Button>
888
+ </div>
889
+ </div>
890
+ </Modal>
891
+
892
+ <Modal
893
+ isOpen={false}
894
+ title={pxpipeStatus.installed ? "PXPIPE" : "Setup PXPIPE"}
895
+ onClose={() => setShowPxpipeModal(false)}
896
+ >
897
+ <div className="flex flex-col gap-4">
898
+ <p className="text-sm text-text-muted">
899
+ Compress prompts using multimodal encoding. Runs in-process — no
900
+ extra server or environment variables required.
901
+ </p>
902
+ <div className="flex items-center justify-between text-sm">
903
+ <span>Status</span>
904
+ <span className={pxpipeHealthy || pxpipeStatus.running ? "text-success" : "text-warning"}>
905
+ {pxpipeStatusLabel}
906
+ {pxpipeStatus.version ? ` · v${pxpipeStatus.version}` : ""}
907
+ </span>
908
+ </div>
909
+ {pxpipeHealth?.checks?.length > 0 && (
910
+ <div className="flex flex-col gap-1 rounded border border-border p-3">
911
+ <p className="text-sm font-medium mb-1">Health check</p>
912
+ {pxpipeHealth.checks.map((check) => (
913
+ <div key={check.id} className="flex items-center justify-between text-xs">
914
+ <span className={check.ok ? "text-success" : "text-warning"}>
915
+ {check.ok ? "●" : "○"} {check.label}
916
+ </span>
917
+ {check.detail && (
918
+ <span className="text-text-muted font-mono truncate max-w-[50%]">{check.detail}</span>
919
+ )}
920
+ </div>
921
+ ))}
922
+ {pxpipeHealth.error && (
923
+ <p className="text-xs text-warning mt-1">{pxpipeHealth.error}</p>
924
+ )}
925
+ </div>
926
+ )}
927
+ {!pxpipeStatus.installed ? (
928
+ <div className="flex flex-col gap-2">
929
+ <p className="text-sm text-warning">PXPIPE is not installed.</p>
930
+ <Button
931
+ onClick={() => pxpipeAction("install")}
932
+ fullWidth
933
+ disabled={pxpipeActionLoading || pxpipeStatus.installing}
934
+ >
935
+ {pxpipeActionLoading || pxpipeStatus.installing ? "Installing…" : "Install"}
936
+ </Button>
937
+ <p className="text-xs text-text-muted">
938
+ Installs the npm package <code className="font-mono">pxpipe-proxy</code> into
939
+ the ZevaiRouter data directory. May take a few minutes.
940
+ </p>
941
+ </div>
942
+ ) : (
943
+ <div className="grid grid-cols-2 gap-2">
944
+ {pxpipeStatus.running ? (
945
+ <>
946
+ <Button onClick={() => pxpipeAction("restart")} variant="ghost" disabled={pxpipeActionLoading}>
947
+ Restart
948
+ </Button>
949
+ <Button onClick={() => pxpipeAction("stop")} variant="ghost" disabled={pxpipeActionLoading}>
950
+ Stop
951
+ </Button>
952
+ </>
953
+ ) : (
954
+ <Button onClick={() => pxpipeAction("start")} disabled={pxpipeActionLoading}>
955
+ {pxpipeActionLoading ? "Starting…" : "Start"}
956
+ </Button>
957
+ )}
958
+ <Button onClick={() => pxpipeAction("install")} variant="ghost" disabled={pxpipeActionLoading}>
959
+ Repair
960
+ </Button>
961
+ <a
962
+ href="/dashboard/pxpipe#logs"
963
+ className="col-span-2 rounded border border-border px-4 py-2 text-center text-sm hover:bg-surface-2"
964
+ >
965
+ Open Logs
966
+ </a>
967
+ </div>
968
+ )}
969
+ <div className="flex flex-col gap-1">
970
+ <p className="text-sm font-medium">Minimum prompt size (chars)</p>
971
+ <Input
972
+ value={String(pxpipeMinChars)}
973
+ onChange={(e) => setPxpipeMinChars(e.target.value)}
974
+ onBlur={handlePxpipeMinCharsBlur}
975
+ placeholder="25000"
976
+ className="font-mono text-sm"
977
+ />
978
+ <p className="text-xs text-text-muted">
979
+ Requests smaller than this bypass PXPIPE and are sent as-is.
980
+ </p>
981
+ </div>
982
+ {pxpipeActionError && (
983
+ <p className="text-sm text-warning">{pxpipeActionError}</p>
984
+ )}
985
+ <div className="flex gap-2">
986
+ <Button
987
+ onClick={() => refreshPxpipeStatus().then(runPxpipeHealth)}
988
+ variant="ghost"
989
+ fullWidth
990
+ >
991
+ Recheck
992
+ </Button>
993
+ <Button onClick={() => setShowPxpipeModal(false)} fullWidth>
994
+ Done
995
+ </Button>
996
+ </div>
997
+ </div>
998
+ </Modal>
999
+
1000
+ <ConfirmModal
1001
+ isOpen={!!extrasConfirm}
1002
+ onClose={() => setExtrasConfirm(null)}
1003
+ onConfirm={() => {
1004
+ const fn = extrasConfirm?.onConfirm;
1005
+ setExtrasConfirm(null);
1006
+ fn?.();
1007
+ }}
1008
+ title={extrasConfirm?.title}
1009
+ message={extrasConfirm?.message}
1010
+ confirmText={extrasConfirm?.confirmText}
1011
+ variant={extrasConfirm?.variant}
1012
+ />
1013
+ </div>
1014
+ );
1015
+ }