zevairouter 1.0.39 → 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 (1125) hide show
  1. package/CHANGELOG.md +10 -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 +2 -2
  710. package/cli/app/.next-cli-build/server/chunks/412.js +1 -1
  711. package/cli/app/.next-cli-build/server/chunks/4253.js +3 -0
  712. package/cli/app/.next-cli-build/server/chunks/4746.js +1 -1
  713. package/cli/app/.next-cli-build/server/chunks/6896.js +1 -1
  714. package/cli/app/.next-cli-build/server/chunks/7153.js +1 -1
  715. package/cli/app/.next-cli-build/server/chunks/7276.js +10 -0
  716. package/cli/app/.next-cli-build/server/chunks/8255.js +1 -1
  717. package/cli/app/.next-cli-build/server/chunks/8450.js +1 -0
  718. package/cli/app/.next-cli-build/server/chunks/8895.js +3 -3
  719. package/cli/app/.next-cli-build/server/chunks/891.js +1 -1
  720. package/cli/app/.next-cli-build/server/chunks/9489.js +1 -1
  721. package/cli/app/.next-cli-build/server/functions-config-manifest.json +6 -0
  722. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  723. package/cli/app/.next-cli-build/server/middleware.js +2 -2
  724. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  725. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  726. package/cli/app/.next-cli-build/static/Fgc4vdsr6a_wWu8yVkotQ/_buildManifest.js +1 -0
  727. package/cli/app/.next-cli-build/static/chunks/{1321-53a57ac6c933faea.js → 1321-fe2fcab7940ae8d5.js} +1 -1
  728. package/cli/app/.next-cli-build/static/chunks/{5497-2a485830a005737d.js → 5497-d5966352b59ffb11.js} +1 -1
  729. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/page-3b1ead2c6cc4a94f.js +1 -0
  730. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-43e7f2ac85929b77.js +1 -0
  731. package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-a2310c1193a3c663.js +1 -0
  732. package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-a2310c1193a3c663.js +1 -0
  733. package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-a2310c1193a3c663.js +1 -0
  734. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-a2310c1193a3c663.js +1 -0
  735. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-a2310c1193a3c663.js +1 -0
  736. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-a2310c1193a3c663.js +1 -0
  737. package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-a2310c1193a3c663.js +1 -0
  738. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-a2310c1193a3c663.js +1 -0
  739. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-a2310c1193a3c663.js +1 -0
  740. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-a2310c1193a3c663.js +1 -0
  741. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-a2310c1193a3c663.js +1 -0
  742. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-a2310c1193a3c663.js +1 -0
  743. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-a2310c1193a3c663.js +1 -0
  744. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-a2310c1193a3c663.js +1 -0
  745. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-a2310c1193a3c663.js +1 -0
  746. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-a2310c1193a3c663.js +1 -0
  747. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-a2310c1193a3c663.js +1 -0
  748. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-a2310c1193a3c663.js +1 -0
  749. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-a2310c1193a3c663.js +1 -0
  750. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-a2310c1193a3c663.js +1 -0
  751. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-a2310c1193a3c663.js +1 -0
  752. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-a2310c1193a3c663.js +1 -0
  753. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-a2310c1193a3c663.js +1 -0
  754. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-a2310c1193a3c663.js +1 -0
  755. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-a2310c1193a3c663.js +1 -0
  756. package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-a2310c1193a3c663.js +1 -0
  757. package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-a2310c1193a3c663.js +1 -0
  758. package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-a2310c1193a3c663.js +1 -0
  759. package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-a2310c1193a3c663.js +1 -0
  760. package/cli/app/.next-cli-build/static/chunks/app/api/context/route-a2310c1193a3c663.js +1 -0
  761. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-a2310c1193a3c663.js +1 -0
  762. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-a2310c1193a3c663.js +1 -0
  763. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-a2310c1193a3c663.js +1 -0
  764. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-a2310c1193a3c663.js +1 -0
  765. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-a2310c1193a3c663.js +1 -0
  766. package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-a2310c1193a3c663.js +1 -0
  767. package/cli/app/.next-cli-build/static/chunks/app/api/health/route-a2310c1193a3c663.js +1 -0
  768. package/cli/app/.next-cli-build/static/chunks/app/api/init/route-a2310c1193a3c663.js +1 -0
  769. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-a2310c1193a3c663.js +1 -0
  770. package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-a2310c1193a3c663.js +1 -0
  771. package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-a2310c1193a3c663.js +1 -0
  772. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-a2310c1193a3c663.js +1 -0
  773. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-a2310c1193a3c663.js +1 -0
  774. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-a2310c1193a3c663.js +1 -0
  775. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-a2310c1193a3c663.js +1 -0
  776. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-a2310c1193a3c663.js +1 -0
  777. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-a2310c1193a3c663.js +1 -0
  778. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-a2310c1193a3c663.js +1 -0
  779. package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-a2310c1193a3c663.js +1 -0
  780. package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-a2310c1193a3c663.js +1 -0
  781. package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-a2310c1193a3c663.js +1 -0
  782. package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-a2310c1193a3c663.js +1 -0
  783. package/cli/app/.next-cli-build/static/chunks/app/api/models/route-a2310c1193a3c663.js +1 -0
  784. package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-a2310c1193a3c663.js +1 -0
  785. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-a2310c1193a3c663.js +1 -0
  786. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  787. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  788. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  789. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  790. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-a2310c1193a3c663.js +1 -0
  791. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  792. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  793. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  794. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  795. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/route-a2310c1193a3c663.js +1 -0
  796. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  797. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  798. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  799. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  800. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-a2310c1193a3c663.js +1 -0
  801. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-a2310c1193a3c663.js +1 -0
  802. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-a2310c1193a3c663.js +1 -0
  803. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  804. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  805. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  806. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  807. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-a2310c1193a3c663.js +1 -0
  808. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-a2310c1193a3c663.js +1 -0
  809. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-a2310c1193a3c663.js +1 -0
  810. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-a2310c1193a3c663.js +1 -0
  811. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-a2310c1193a3c663.js +1 -0
  812. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-a2310c1193a3c663.js +1 -0
  813. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-a2310c1193a3c663.js +1 -0
  814. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-a2310c1193a3c663.js +1 -0
  815. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-a2310c1193a3c663.js +1 -0
  816. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  817. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  818. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  819. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  820. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-a2310c1193a3c663.js +1 -0
  821. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-a2310c1193a3c663.js +1 -0
  822. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-a2310c1193a3c663.js +1 -0
  823. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-a2310c1193a3c663.js +1 -0
  824. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-a2310c1193a3c663.js +1 -0
  825. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-a2310c1193a3c663.js +1 -0
  826. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-a2310c1193a3c663.js +1 -0
  827. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-a2310c1193a3c663.js +1 -0
  828. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-a2310c1193a3c663.js +1 -0
  829. package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-a2310c1193a3c663.js +1 -0
  830. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-a2310c1193a3c663.js +1 -0
  831. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-a2310c1193a3c663.js +1 -0
  832. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-a2310c1193a3c663.js +1 -0
  833. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-a2310c1193a3c663.js +1 -0
  834. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-a2310c1193a3c663.js +1 -0
  835. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-a2310c1193a3c663.js +1 -0
  836. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-a2310c1193a3c663.js +1 -0
  837. package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-a2310c1193a3c663.js +1 -0
  838. package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-a2310c1193a3c663.js +1 -0
  839. package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-a2310c1193a3c663.js +1 -0
  840. package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-a2310c1193a3c663.js +1 -0
  841. package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-a2310c1193a3c663.js +1 -0
  842. package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-a2310c1193a3c663.js +1 -0
  843. package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-a2310c1193a3c663.js +1 -0
  844. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-a2310c1193a3c663.js +1 -0
  845. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-a2310c1193a3c663.js +1 -0
  846. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-a2310c1193a3c663.js +1 -0
  847. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-a2310c1193a3c663.js +1 -0
  848. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-a2310c1193a3c663.js +1 -0
  849. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-a2310c1193a3c663.js +1 -0
  850. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-a2310c1193a3c663.js +1 -0
  851. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-a2310c1193a3c663.js +1 -0
  852. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-a2310c1193a3c663.js +1 -0
  853. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-a2310c1193a3c663.js +1 -0
  854. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-a2310c1193a3c663.js +1 -0
  855. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-a2310c1193a3c663.js +1 -0
  856. package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-a2310c1193a3c663.js +1 -0
  857. package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-a2310c1193a3c663.js +1 -0
  858. package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-a2310c1193a3c663.js +1 -0
  859. package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-a2310c1193a3c663.js +1 -0
  860. package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-a2310c1193a3c663.js +1 -0
  861. package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-a2310c1193a3c663.js +1 -0
  862. package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-a2310c1193a3c663.js +1 -0
  863. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-a2310c1193a3c663.js +1 -0
  864. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-a2310c1193a3c663.js +1 -0
  865. package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-a2310c1193a3c663.js +1 -0
  866. package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-a2310c1193a3c663.js +1 -0
  867. package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-a2310c1193a3c663.js +1 -0
  868. package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-a2310c1193a3c663.js +1 -0
  869. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-a2310c1193a3c663.js +1 -0
  870. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-a2310c1193a3c663.js +1 -0
  871. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-a2310c1193a3c663.js +1 -0
  872. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-a2310c1193a3c663.js +1 -0
  873. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-a2310c1193a3c663.js +1 -0
  874. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-a2310c1193a3c663.js +1 -0
  875. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-a2310c1193a3c663.js +1 -0
  876. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-a2310c1193a3c663.js +1 -0
  877. package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-a2310c1193a3c663.js +1 -0
  878. package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-a2310c1193a3c663.js +1 -0
  879. package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-a2310c1193a3c663.js +1 -0
  880. package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-a2310c1193a3c663.js +1 -0
  881. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-a2310c1193a3c663.js +1 -0
  882. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-a2310c1193a3c663.js +1 -0
  883. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-a2310c1193a3c663.js +1 -0
  884. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-a2310c1193a3c663.js +1 -0
  885. package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-a2310c1193a3c663.js +1 -0
  886. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-a2310c1193a3c663.js +1 -0
  887. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-a2310c1193a3c663.js +1 -0
  888. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-a2310c1193a3c663.js +1 -0
  889. package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-a2310c1193a3c663.js +1 -0
  890. package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-a2310c1193a3c663.js +1 -0
  891. package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-a2310c1193a3c663.js +1 -0
  892. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-a2310c1193a3c663.js +1 -0
  893. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-a2310c1193a3c663.js +1 -0
  894. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-a2310c1193a3c663.js +1 -0
  895. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-a2310c1193a3c663.js +1 -0
  896. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-a2310c1193a3c663.js +1 -0
  897. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-a2310c1193a3c663.js +1 -0
  898. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-a2310c1193a3c663.js +1 -0
  899. package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-a2310c1193a3c663.js +1 -0
  900. package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-a2310c1193a3c663.js +1 -0
  901. package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-a2310c1193a3c663.js +1 -0
  902. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-a2310c1193a3c663.js +1 -0
  903. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-a2310c1193a3c663.js +1 -0
  904. package/cli/app/.next-cli-build/static/chunks/app/api/version/route-a2310c1193a3c663.js +1 -0
  905. package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-a2310c1193a3c663.js +1 -0
  906. package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-a2310c1193a3c663.js +1 -0
  907. package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-a2310c1193a3c663.js +1 -0
  908. package/cli/app/.next-cli-build/static/chunks/app/page-a2310c1193a3c663.js +1 -0
  909. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-a2310c1193a3c663.js +1 -0
  910. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-a2310c1193a3c663.js +1 -0
  911. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-a2310c1193a3c663.js +1 -0
  912. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-a2310c1193a3c663.js +1 -0
  913. package/cli/app/.next-cli-build/static/css/528817c12142b028.css +1 -0
  914. package/cli/app/package.json +1 -1
  915. package/cli/package.json +1 -1
  916. package/open-sse/handlers/chatCore.js +46 -1
  917. package/open-sse/rtk/headroom.js +348 -0
  918. package/open-sse/rtk/pxpipe.js +104 -0
  919. package/open-sse/services/clinepassModels.js +63 -0
  920. package/open-sse/services/copilotModels.js +155 -0
  921. package/package.json +1 -1
  922. package/src/app/(dashboard)/dashboard/endpoint/endpointConstants.js +32 -0
  923. package/src/app/(dashboard)/dashboard/pxpipe/PxpipeClient.js +283 -0
  924. package/src/app/(dashboard)/dashboard/pxpipe/page.js +5 -0
  925. package/src/app/(dashboard)/dashboard/token-saver/TokenSaverClient.js +1015 -0
  926. package/src/app/(dashboard)/dashboard/token-saver/page.js +5 -0
  927. package/src/app/api/headroom/extras/route.js +46 -0
  928. package/src/app/api/headroom/proxy/[...path]/route.js +104 -0
  929. package/src/app/api/headroom/restart/route.js +35 -0
  930. package/src/app/api/headroom/start/route.js +35 -0
  931. package/src/app/api/headroom/status/route.js +18 -0
  932. package/src/app/api/headroom/stop/route.js +14 -0
  933. package/src/app/api/providers/[id]/models/route.js +48 -27
  934. package/src/app/api/pxpipe/health/route.js +16 -0
  935. package/src/app/api/pxpipe/install/route.js +20 -0
  936. package/src/app/api/pxpipe/logs/route.js +18 -0
  937. package/src/app/api/pxpipe/restart/route.js +16 -0
  938. package/src/app/api/pxpipe/start/route.js +26 -0
  939. package/src/app/api/pxpipe/stats/route.js +14 -0
  940. package/src/app/api/pxpipe/status/route.js +21 -0
  941. package/src/app/api/pxpipe/stop/route.js +16 -0
  942. package/src/app/api/v1/models/route.js +17 -0
  943. package/src/dashboardGuard.js +10 -0
  944. package/src/lib/db/repos/settingsRepo.js +9 -0
  945. package/src/lib/headroom/detect.js +192 -0
  946. package/src/lib/headroom/process.js +260 -0
  947. package/src/lib/pxpipe/events.js +125 -0
  948. package/src/lib/pxpipe/install.js +123 -0
  949. package/src/lib/pxpipe/loader.js +70 -0
  950. package/src/lib/pxpipe/service.js +49 -0
  951. package/src/shared/components/Sidebar.js +1 -0
  952. package/src/sse/handlers/chat.js +24 -0
  953. package/cli/app/.next-cli-build/server/chunks/8335.js +0 -10
  954. package/cli/app/.next-cli-build/static/9lvqG1bZ9y7Wzit-RVeNQ/_buildManifest.js +0 -1
  955. package/cli/app/.next-cli-build/static/chunks/app/_global-error/page-47cd0604103a80c1.js +0 -1
  956. package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/route-47cd0604103a80c1.js +0 -1
  957. package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/route-47cd0604103a80c1.js +0 -1
  958. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-47cd0604103a80c1.js +0 -1
  959. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-47cd0604103a80c1.js +0 -1
  960. package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-47cd0604103a80c1.js +0 -1
  961. package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-47cd0604103a80c1.js +0 -1
  962. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-47cd0604103a80c1.js +0 -1
  963. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-47cd0604103a80c1.js +0 -1
  964. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-47cd0604103a80c1.js +0 -1
  965. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-47cd0604103a80c1.js +0 -1
  966. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-47cd0604103a80c1.js +0 -1
  967. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-47cd0604103a80c1.js +0 -1
  968. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-47cd0604103a80c1.js +0 -1
  969. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-47cd0604103a80c1.js +0 -1
  970. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-47cd0604103a80c1.js +0 -1
  971. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-47cd0604103a80c1.js +0 -1
  972. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-47cd0604103a80c1.js +0 -1
  973. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-47cd0604103a80c1.js +0 -1
  974. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-47cd0604103a80c1.js +0 -1
  975. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-47cd0604103a80c1.js +0 -1
  976. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-47cd0604103a80c1.js +0 -1
  977. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-47cd0604103a80c1.js +0 -1
  978. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-47cd0604103a80c1.js +0 -1
  979. package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-47cd0604103a80c1.js +0 -1
  980. package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-47cd0604103a80c1.js +0 -1
  981. package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-47cd0604103a80c1.js +0 -1
  982. package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-47cd0604103a80c1.js +0 -1
  983. package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-47cd0604103a80c1.js +0 -1
  984. package/cli/app/.next-cli-build/static/chunks/app/api/context/route-47cd0604103a80c1.js +0 -1
  985. package/cli/app/.next-cli-build/static/chunks/app/api/health/route-47cd0604103a80c1.js +0 -1
  986. package/cli/app/.next-cli-build/static/chunks/app/api/init/route-47cd0604103a80c1.js +0 -1
  987. package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-47cd0604103a80c1.js +0 -1
  988. package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-47cd0604103a80c1.js +0 -1
  989. package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-47cd0604103a80c1.js +0 -1
  990. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-47cd0604103a80c1.js +0 -1
  991. package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-47cd0604103a80c1.js +0 -1
  992. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-47cd0604103a80c1.js +0 -1
  993. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-47cd0604103a80c1.js +0 -1
  994. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-47cd0604103a80c1.js +0 -1
  995. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-47cd0604103a80c1.js +0 -1
  996. package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-47cd0604103a80c1.js +0 -1
  997. package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-47cd0604103a80c1.js +0 -1
  998. package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-47cd0604103a80c1.js +0 -1
  999. package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-47cd0604103a80c1.js +0 -1
  1000. package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-47cd0604103a80c1.js +0 -1
  1001. package/cli/app/.next-cli-build/static/chunks/app/api/models/route-47cd0604103a80c1.js +0 -1
  1002. package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-47cd0604103a80c1.js +0 -1
  1003. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-47cd0604103a80c1.js +0 -1
  1004. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1005. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1006. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1007. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1008. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-47cd0604103a80c1.js +0 -1
  1009. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1010. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1011. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1012. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1013. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/autoclaw/bulk-import/route-47cd0604103a80c1.js +0 -1
  1014. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1015. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1016. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1017. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1018. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-47cd0604103a80c1.js +0 -1
  1019. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-47cd0604103a80c1.js +0 -1
  1020. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-47cd0604103a80c1.js +0 -1
  1021. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1022. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1023. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1024. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1025. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-47cd0604103a80c1.js +0 -1
  1026. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-47cd0604103a80c1.js +0 -1
  1027. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-47cd0604103a80c1.js +0 -1
  1028. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-47cd0604103a80c1.js +0 -1
  1029. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-47cd0604103a80c1.js +0 -1
  1030. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-47cd0604103a80c1.js +0 -1
  1031. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-47cd0604103a80c1.js +0 -1
  1032. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-47cd0604103a80c1.js +0 -1
  1033. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-47cd0604103a80c1.js +0 -1
  1034. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1035. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1036. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1037. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1038. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-47cd0604103a80c1.js +0 -1
  1039. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-47cd0604103a80c1.js +0 -1
  1040. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-47cd0604103a80c1.js +0 -1
  1041. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-47cd0604103a80c1.js +0 -1
  1042. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-47cd0604103a80c1.js +0 -1
  1043. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-47cd0604103a80c1.js +0 -1
  1044. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-47cd0604103a80c1.js +0 -1
  1045. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-47cd0604103a80c1.js +0 -1
  1046. package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-47cd0604103a80c1.js +0 -1
  1047. package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-47cd0604103a80c1.js +0 -1
  1048. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-47cd0604103a80c1.js +0 -1
  1049. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-47cd0604103a80c1.js +0 -1
  1050. package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-47cd0604103a80c1.js +0 -1
  1051. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-47cd0604103a80c1.js +0 -1
  1052. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-47cd0604103a80c1.js +0 -1
  1053. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-47cd0604103a80c1.js +0 -1
  1054. package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-47cd0604103a80c1.js +0 -1
  1055. package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-47cd0604103a80c1.js +0 -1
  1056. package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-47cd0604103a80c1.js +0 -1
  1057. package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-47cd0604103a80c1.js +0 -1
  1058. package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-47cd0604103a80c1.js +0 -1
  1059. package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-47cd0604103a80c1.js +0 -1
  1060. package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-47cd0604103a80c1.js +0 -1
  1061. package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-47cd0604103a80c1.js +0 -1
  1062. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-47cd0604103a80c1.js +0 -1
  1063. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-47cd0604103a80c1.js +0 -1
  1064. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-47cd0604103a80c1.js +0 -1
  1065. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-47cd0604103a80c1.js +0 -1
  1066. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-47cd0604103a80c1.js +0 -1
  1067. package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-47cd0604103a80c1.js +0 -1
  1068. package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-47cd0604103a80c1.js +0 -1
  1069. package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-47cd0604103a80c1.js +0 -1
  1070. package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-47cd0604103a80c1.js +0 -1
  1071. package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-47cd0604103a80c1.js +0 -1
  1072. package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-47cd0604103a80c1.js +0 -1
  1073. package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-47cd0604103a80c1.js +0 -1
  1074. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-47cd0604103a80c1.js +0 -1
  1075. package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-47cd0604103a80c1.js +0 -1
  1076. package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-47cd0604103a80c1.js +0 -1
  1077. package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-47cd0604103a80c1.js +0 -1
  1078. package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-47cd0604103a80c1.js +0 -1
  1079. package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-47cd0604103a80c1.js +0 -1
  1080. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-47cd0604103a80c1.js +0 -1
  1081. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-47cd0604103a80c1.js +0 -1
  1082. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-47cd0604103a80c1.js +0 -1
  1083. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-47cd0604103a80c1.js +0 -1
  1084. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-47cd0604103a80c1.js +0 -1
  1085. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-47cd0604103a80c1.js +0 -1
  1086. package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-47cd0604103a80c1.js +0 -1
  1087. package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-47cd0604103a80c1.js +0 -1
  1088. package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-47cd0604103a80c1.js +0 -1
  1089. package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-47cd0604103a80c1.js +0 -1
  1090. package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-47cd0604103a80c1.js +0 -1
  1091. package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-47cd0604103a80c1.js +0 -1
  1092. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-47cd0604103a80c1.js +0 -1
  1093. package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-47cd0604103a80c1.js +0 -1
  1094. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-47cd0604103a80c1.js +0 -1
  1095. package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-47cd0604103a80c1.js +0 -1
  1096. package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-47cd0604103a80c1.js +0 -1
  1097. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-47cd0604103a80c1.js +0 -1
  1098. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-47cd0604103a80c1.js +0 -1
  1099. package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-47cd0604103a80c1.js +0 -1
  1100. package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-47cd0604103a80c1.js +0 -1
  1101. package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-47cd0604103a80c1.js +0 -1
  1102. package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-47cd0604103a80c1.js +0 -1
  1103. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-47cd0604103a80c1.js +0 -1
  1104. package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-47cd0604103a80c1.js +0 -1
  1105. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-47cd0604103a80c1.js +0 -1
  1106. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-47cd0604103a80c1.js +0 -1
  1107. package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-47cd0604103a80c1.js +0 -1
  1108. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-47cd0604103a80c1.js +0 -1
  1109. package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-47cd0604103a80c1.js +0 -1
  1110. package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-47cd0604103a80c1.js +0 -1
  1111. package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-47cd0604103a80c1.js +0 -1
  1112. package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-47cd0604103a80c1.js +0 -1
  1113. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-47cd0604103a80c1.js +0 -1
  1114. package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-47cd0604103a80c1.js +0 -1
  1115. package/cli/app/.next-cli-build/static/chunks/app/api/version/route-47cd0604103a80c1.js +0 -1
  1116. package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-47cd0604103a80c1.js +0 -1
  1117. package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-47cd0604103a80c1.js +0 -1
  1118. package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-47cd0604103a80c1.js +0 -1
  1119. package/cli/app/.next-cli-build/static/chunks/app/page-47cd0604103a80c1.js +0 -1
  1120. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-47cd0604103a80c1.js +0 -1
  1121. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-47cd0604103a80c1.js +0 -1
  1122. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-47cd0604103a80c1.js +0 -1
  1123. package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-47cd0604103a80c1.js +0 -1
  1124. package/cli/app/.next-cli-build/static/css/66603789c5d0bb89.css +0 -1
  1125. /package/cli/app/.next-cli-build/static/{9lvqG1bZ9y7Wzit-RVeNQ → Fgc4vdsr6a_wWu8yVkotQ}/_ssgManifest.js +0 -0
@@ -4,4 +4,4 @@
4
4
  `,children:[g.includes(e.name)&&(0,r.jsx)("span",{className:"material-symbols-outlined leading-none",style:{fontSize:"10px"},children:"check"}),e.name]},e.id)})})]}),Object.entries(L).map(([e,t])=>(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5 sticky top-0 bg-surface py-0.5",children:[(0,r.jsx)(o.A,{src:`/providers/${e}.png`,alt:t.name,size:14,fallbackText:(t.name||e).slice(0,2).toUpperCase(),fallbackColor:t.color}),(0,r.jsx)("span",{className:"text-xs font-medium text-primary",children:t.name}),(0,r.jsxs)("span",{className:"text-[10px] text-text-muted",children:["(",t.models.length,")"]})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:t.models.map(e=>{let t=n===e.value,s=e.isPlaceholder;return(0,r.jsx)("button",{onClick:()=>q(e),title:s?"Select to pre-fill, then edit model ID in the input":void 0,className:`
5
5
  px-2 py-1 rounded-xl text-xs font-medium transition-all border hover:cursor-pointer
6
6
  ${s?"border-dashed border-border text-text-muted hover:border-primary/50 hover:text-primary bg-surface italic":t?"bg-primary text-white border-primary":g.includes(e.value)?"bg-primary border-primary text-white hover:bg-primary-hover":"bg-surface border-border text-text-main hover:border-primary/50 hover:bg-primary/5"}
7
- `,children:(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[g.includes(e.value)&&!s&&(0,r.jsx)("span",{className:"material-symbols-outlined leading-none",style:{fontSize:"10px"},children:"check"}),s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[11px]",children:"edit"}),e.name]}):e.isCustom?(0,r.jsxs)(r.Fragment,{children:[e.name,(0,r.jsx)("span",{className:"text-[9px] opacity-60 font-normal",children:"custom"})]}):e.name]})},e.value)})})]},e)),0===Object.keys(L).length&&0===z.length&&(0,r.jsxs)("div",{className:"text-center py-4 text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-2xl mb-1 block",children:"search_off"}),(0,r.jsx)("p",{className:"text-xs",children:"No models found"})]})]})]})}x.propTypes={isOpen:n().bool.isRequired,onClose:n().func.isRequired,onSelect:n().func.isRequired,onDeselect:n().func,selectedModel:n().string,activeProviders:n().arrayOf(n().shape({provider:n().string.isRequired})),title:n().string,modelAliases:n().object,kindFilter:n().string,addedModelValues:n().arrayOf(n().string),closeOnSelect:n().bool}},73579:(e,t,s)=>{s.d(t,{default:()=>u});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(81127),o=s(11910),d=s(92542),c=s(56061),m=s(52679);function u({isOpen:e,connection:t,proxyPools:s,onSave:l,onClose:n}){let[x,p]=(0,a.useState)({name:"",priority:1,apiKey:""}),[h,b]=(0,a.useState)({azureEndpoint:"",apiVersion:"2024-10-01-preview",deployment:"",organization:""}),[f,g]=(0,a.useState)({accountId:""}),[j,v]=(0,a.useState)(!1),[y,N]=(0,a.useState)(null),[w,k]=(0,a.useState)(!1),[C,S]=(0,a.useState)(null),[I,T]=(0,a.useState)(!1);(0,a.useEffect)(()=>{t&&(p({name:t.name||"",priority:t.priority||1,apiKey:""}),"azure"===t.provider&&t.providerSpecificData&&b({azureEndpoint:t.providerSpecificData.azureEndpoint||"",apiVersion:t.providerSpecificData.apiVersion||"2024-10-01-preview",deployment:t.providerSpecificData.deployment||"",organization:t.providerSpecificData.organization||""}),"cloudflare-ai"===t.provider&&t.providerSpecificData&&g({accountId:t.providerSpecificData.accountId||""}),N(null),S(null))},[t]);let $=t?.authType==="oauth",A=t?.provider==="azure",P=t?.provider==="cloudflare-ai",O=!!t&&((0,m.mq)(t.provider)||(0,m.gb)(t.provider)),R=async()=>{if(t?.provider){v(!0),N(null);try{let e=await fetch(`/api/providers/${t.id}/test`,{method:"POST"}),s=await e.json();N(s.valid?"success":"failed")}catch{N("failed")}finally{v(!1)}}},E=async()=>{if(t?.provider&&x.apiKey){k(!0),S(null);try{let e=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t.provider,apiKey:x.apiKey,...A?{providerSpecificData:h}:{},...P?{providerSpecificData:f}:{}})}),s=await e.json();S(s.valid?"success":"failed")}catch{S("failed")}finally{k(!1)}}},M=async()=>{if(t){T(!0);try{let e={name:x.name,priority:x.priority};if(!$&&x.apiKey){e.apiKey=x.apiKey;let s="success"===C;if(!s)try{k(!0),S(null);let e=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t.provider,apiKey:x.apiKey,...A?{providerSpecificData:h}:{},...P?{providerSpecificData:f}:{}})});s=!!(await e.json()).valid,S(s?"success":"failed")}catch{S("failed")}finally{k(!1)}s&&(e.testStatus="active",e.lastError=null,e.lastErrorAt=null)}A&&(e.providerSpecificData={azureEndpoint:h.azureEndpoint,apiVersion:h.apiVersion,deployment:h.deployment,organization:h.organization}),P&&(e.providerSpecificData={accountId:f.accountId}),await l(e)}finally{T(!1)}}};return t?(0,r.jsx)(i.default,{isOpen:e,title:"Edit Connection",onClose:n,children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)(o.default,{label:"Name",value:x.name,onChange:e=>p({...x,name:e.target.value}),placeholder:$?"Account name":"Production Key"}),$&&t.email&&(0,r.jsxs)("div",{className:"bg-sidebar/50 p-3 rounded-lg",children:[(0,r.jsx)("p",{className:"text-sm text-text-muted mb-1",children:"Email"}),(0,r.jsx)("p",{className:"font-medium",children:t.email})]}),(0,r.jsx)(o.default,{label:"Priority",type:"number",value:x.priority,onChange:e=>p({...x,priority:Number.parseInt(e.target.value,10)||1})}),!$&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.default,{label:"API Key",type:"password",value:x.apiKey,onChange:e=>p({...x,apiKey:e.target.value}),placeholder:"Enter new API key",hint:"Leave blank to keep the current API key.",className:"flex-1"}),(0,r.jsx)("div",{className:"pt-6",children:(0,r.jsx)(d.default,{onClick:E,disabled:!x.apiKey||w||I,variant:"secondary",children:w?"Checking...":"Check"})})]}),C&&(0,r.jsx)(c.default,{variant:"success"===C?"success":"error",children:"success"===C?"Valid":"Invalid"})]}),A&&(0,r.jsxs)("div",{className:"bg-sidebar/50 p-4 rounded-lg border border-accent/20",children:[(0,r.jsx)("h3",{className:"font-semibold mb-3 text-sm",children:"Azure OpenAI Configuration"}),(0,r.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,r.jsx)(o.default,{label:"Azure Endpoint",value:h.azureEndpoint,onChange:e=>b({...h,azureEndpoint:e.target.value}),placeholder:"https://your-resource.openai.azure.com",hint:"Your Azure OpenAI resource endpoint URL"}),(0,r.jsx)(o.default,{label:"Deployment Name",value:h.deployment,onChange:e=>b({...h,deployment:e.target.value}),placeholder:"gpt-4",hint:"The deployment name in your Azure resource"}),(0,r.jsx)(o.default,{label:"API Version",value:h.apiVersion,onChange:e=>b({...h,apiVersion:e.target.value}),placeholder:"2024-10-01-preview",hint:"Azure OpenAI API version to use"}),(0,r.jsx)(o.default,{label:"Organization",value:h.organization,onChange:e=>b({...h,organization:e.target.value}),placeholder:"Organization ID",hint:"Required for billing"})]})]}),!O&&!A&&!P&&(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(d.default,{onClick:R,variant:"secondary",disabled:j,children:j?"Testing...":"Test Connection"}),y&&(0,r.jsx)(c.default,{variant:"success"===y?"success":"error",children:"success"===y?"Valid":"Failed"})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(d.default,{onClick:M,fullWidth:!0,disabled:I,children:I?"Saving...":"Save"}),(0,r.jsx)(d.default,{onClick:n,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}):null}u.propTypes={isOpen:n().bool.isRequired,connection:n().shape({id:n().string,name:n().string,email:n().string,priority:n().number,authType:n().string,provider:n().string,providerSpecificData:n().object}),proxyPools:n().arrayOf(n().shape({id:n().string,name:n().string})),onSave:n().func.isRequired,onClose:n().func.isRequired}},80752:(e,t,s)=>{s.d(t,{default:()=>m});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(1620),o=s(40197),d=s(81127);function c({icon:e,label:t,onClick:s,trailing:a,danger:l}){return(0,r.jsxs)("button",{onClick:s,className:`flex items-center gap-3 w-full px-4 py-2.5 text-sm transition-colors ${l?"text-red-500 hover:bg-red-500/10":"text-text-main hover:bg-black/5 dark:hover:bg-white/5"}`,children:[(0,r.jsx)("span",{className:`material-symbols-outlined text-[20px] ${l?"":"text-text-muted"}`,children:e}),(0,r.jsx)("span",{className:"flex-1 text-left",children:t}),a&&(0,r.jsx)("span",{className:"text-base",children:a})]})}function m({onLogout:e}){let[t,s]=(0,a.useState)(!1),[l,n]=(0,a.useState)(!1),[u,x]=(0,a.useState)(!1),[p,h]=(0,a.useState)(!1),{toggleTheme:b,isDark:f}=(0,i.D)(),g=(0,a.useRef)(null),j=async()=>{h(!0);try{await fetch("/api/version/shutdown",{method:"POST"})}catch(e){}h(!1),x(!1)};return(0,a.useEffect)(()=>{let e=e=>{g.current&&!g.current.contains(e.target)&&s(!1)};if(t)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"relative",ref:g,children:[(0,r.jsx)("button",{onClick:()=>s(e=>!e),className:"flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all",title:"Menu",children:(0,r.jsx)("span",{className:"material-symbols-outlined",children:"grid_view"})}),t&&(0,r.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-60 bg-surface border border-black/10 dark:border-white/10 rounded-xl shadow-2xl z-50 animate-in fade-in zoom-in-95 duration-150 overflow-hidden py-1",children:[(0,r.jsx)(c,{icon:"history",label:"Change Log",onClick:()=>{s(!1),n(!0)}}),(0,r.jsx)(c,{icon:f?"light_mode":"dark_mode",label:"Theme",onClick:()=>{b(),s(!1)}}),(0,r.jsx)(c,{icon:"power_settings_new",label:"Shutdown",danger:!0,onClick:()=>{s(!1),x(!0)}}),(0,r.jsx)(c,{icon:"logout",label:"Logout",danger:!0,onClick:()=>{s(!1),e()}})]})]}),(0,r.jsx)(o.default,{isOpen:l,onClose:()=>n(!1)}),(0,r.jsx)(d.ConfirmModal,{isOpen:u,onClose:()=>x(!1),onConfirm:j,title:"Close Proxy",message:"Are you sure you want to close the proxy server?",confirmText:"Close",cancelText:"Cancel",variant:"danger",loading:p})]})}c.propTypes={icon:n().string.isRequired,label:n().string.isRequired,onClick:n().func.isRequired,trailing:n().node,danger:n().bool},m.propTypes={onLogout:n().func.isRequired}},81127:(e,t,s)=>{s.d(t,{ConfirmModal:()=>d,default:()=>o});var r=s(95155),a=s(12115),l=s(31474),n=s(92542),i=s(97677);function o({isOpen:e,onClose:t,title:s,children:n,footer:d,size:c="md",closeOnOverlay:m=!0,showTrafficLights:u=!0,className:x}){return((0,a.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,a.useEffect)(()=>{let s=s=>{"Escape"===s.key&&e&&t()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,t]),e)?(0,r.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-[2px] fade-in",onClick:m?t:void 0}),(0,r.jsxs)("div",{className:(0,l.cn)("relative w-full bg-surface","border border-border-subtle","rounded-[14px] shadow-[var(--shadow-elev)]","fade-in",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[c],x),children:[(s||u)&&(0,r.jsxs)("div",{className:"flex items-center justify-between p-2 border-b border-border-subtle",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[u&&(0,r.jsxs)("div",{className:"hidden md:flex items-center gap-2 mr-4 ml-2",children:[(0,r.jsx)(i.default,{text:"Close",position:"top",color:"#FF5F56",children:(0,r.jsx)("button",{onClick:t,"aria-label":"Close",title:"Close",className:"w-4 h-4 rounded-full bg-[#FF5F56] hover:brightness-90 transition-all cursor-pointer flex items-center justify-center group/dot",children:(0,r.jsx)("span",{className:"text-[9px] font-bold text-white opacity-0 group-hover/dot:opacity-100 transition-opacity leading-none",children:"✕"})})}),(0,r.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"}),(0,r.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"})]}),s&&(0,r.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:s})]}),(0,r.jsx)("button",{onClick:t,"aria-label":"Close",className:"md:hidden p-1.5 rounded-[10px] text-text-muted hover:bg-surface-2 hover:text-text-main transition-colors",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,r.jsx)("div",{className:"p-6 max-h-[calc(85vh-100px)] overflow-y-auto custom-scrollbar",children:n}),d&&(0,r.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-border-subtle",children:d})]})]}):null}function d({isOpen:e,onClose:t,onConfirm:s,title:a="Confirm",message:l,confirmText:i="Confirm",cancelText:c="Cancel",variant:m="danger",loading:u=!1}){return(0,r.jsx)(o,{isOpen:e,onClose:t,title:a,size:"sm",footer:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.default,{variant:"ghost",onClick:t,disabled:u,children:c}),(0,r.jsx)(n.default,{variant:m,onClick:s,loading:u,children:i})]}),children:(0,r.jsx)("p",{className:"text-text-muted",children:l})})}},84588:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(31474);function l({children:e,title:t,subtitle:s,icon:n,action:i,padding:o="md",hover:d=!1,elev:c=!1,className:m,...u}){return(0,r.jsxs)("div",{className:(0,a.cn)("card-3d border border-border-subtle rounded-[14px]",c&&"card-3d-elev",d&&"hover:border-brand-500/30 cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[o],m),...u,children:[(t||i)&&(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,r.jsx)("div",{className:"p-2 rounded-[10px] bg-bg text-text-muted",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:n})}),(0,r.jsxs)("div",{children:[t&&(0,r.jsx)("h3",{className:"text-text-main font-semibold",children:t}),s&&(0,r.jsx)("p",{className:"text-sm text-text-muted",children:s})]})]}),i]}),e]})}l.Section=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-4 rounded-[10px]","bg-bg border border-border-subtle",t),...s,children:e})},l.Row=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50",t),...s,children:e})},l.ListItem=function({children:e,actions:t,className:s,...l}){return(0,r.jsxs)("div",{className:(0,a.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50 transition-colors",s),...l,children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:e}),t&&(0,r.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:t})]})}},90882:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497),o=s(11059);function d({isOpen:e,provider:t,providerInfo:s,onSuccess:l,onClose:n,oauthMeta:c,idcConfig:m}){let[u,x]=(0,a.useState)("waiting"),[p,h]=(0,a.useState)(null),[b,f]=(0,a.useState)(""),[g,j]=(0,a.useState)(null),[v,y]=(0,a.useState)(!1),[N,w]=(0,a.useState)(null),[k,C]=(0,a.useState)(!1),S=(0,a.useRef)(null),I=(0,a.useRef)(!1),{copied:T,copy:$}=(0,o.C)(),[A,P]=(0,a.useState)(!1),[O,R]=(0,a.useState)("/callback?code=..."),E=(0,a.useRef)(!1);(0,a.useEffect)(()=>{P("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname),R(`${window.location.origin}/callback?code=...`)},[]);let M=(0,a.useCallback)(async(e,s)=>{if(p)try{let r=await fetch(`/api/oauth/${t}/exchange`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,redirectUri:p.redirectUri,codeVerifier:p.codeVerifier,state:s,...c?{meta:c}:{}})}),a=await r.json();if(!r.ok)throw Error(a.error);x("success"),l?.()}catch(e){j(e.message),x("error")}},[p,t,l]),_=(0,a.useCallback)(async e=>{if(p?.state)try{let t=await fetch("/api/oauth/xai/manual-code",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,state:p.state})}),s=await t.json();if(!t.ok)throw Error(s.error);x("success"),l?.()}catch(e){j(e.message),x("error")}},[p,l]),z=(0,a.useCallback)(async(e,s,r,a,n)=>{I.current=!1,C(!0);let i=Date.now()+(Number.isFinite(n)&&n>0?n:12e4);for(;Date.now()<i;){if(I.current){console.log("[OAuthModal] Polling aborted"),C(!1);return}if(await new Promise(e=>setTimeout(e,1e3*r)),I.current){console.log("[OAuthModal] Polling aborted after sleep"),C(!1);return}try{let n=await fetch(`/api/oauth/${t}/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e,codeVerifier:s,extraData:a})}),i=await n.json();if(i.success){I.current=!0,x("success"),C(!1),l?.();return}if("expired_token"===i.error||"access_denied"===i.error)throw Error(i.errorDescription||i.error);"slow_down"===i.error&&(r=Math.min(r+5,30))}catch(e){j(e.message),x("error"),C(!1);return}}j("Authorization timeout"),x("error"),C(!1)},[t,l]),L=(0,a.useCallback)(async()=>{if(t)try{let e;if(j(null),["github","qwen","kiro","kimi-coding","kilocode","codebuddy","codebuddy-cn","qoder","grok-cli"].includes(t)){y(!0),x("waiting");let e=new URL(`/api/oauth/${t}/device-code`,window.location.origin);"kiro"===t&&m?.startUrl&&(e.searchParams.set("start_url",m.startUrl),m.region&&e.searchParams.set("region",m.region),e.searchParams.set("auth_method","idc"));let s=await fetch(e.toString()),r=await s.json();if(!s.ok)throw Error(r.error);w(r);let a=r.verification_uri_complete||r.verification_uri;a&&window.open(a,"_blank","noopener,noreferrer");let l="kiro"===t?{_clientId:r._clientId,_clientSecret:r._clientSecret,_region:r._region,_authMethod:r._authMethod,_startUrl:r._startUrl}:"qoder"===t?{_qoderNonce:r._qoderNonce,_qoderMachineId:r._qoderMachineId,_qoderVerifier:r.codeVerifier}:null;z(r.device_code,r.codeVerifier,r.interval||5,l,Number.isFinite(r.expires_in)&&r.expires_in>0?1e3*r.expires_in:void 0);return}let s=window.location.port||("https:"===window.location.protocol?"443":"80");e="codex"===t?"http://localhost:1455/auth/callback":"xai"===t?"http://127.0.0.1:56121/callback":`http://localhost:${s}/callback`;let r=new URL(`/api/oauth/${t}/authorize`,window.location.origin);r.searchParams.set("redirect_uri",e),c&&Object.entries(c).forEach(([e,t])=>{t&&r.searchParams.set(e,t)});let a=await fetch(r.toString()),l=await a.json();if(!a.ok)throw Error(l.error);let n=!1,i=!1;if("codex"===t)try{let t=new URL("/api/oauth/codex/start-proxy",window.location.origin);t.searchParams.set("app_port",s),t.searchParams.set("state",l.state),t.searchParams.set("code_verifier",l.codeVerifier),t.searchParams.set("redirect_uri",e);let r=await fetch(t.toString()),a=await r.json();n=a.success,i=!!a.serverSide}catch{n=!1}let o=!1,d=!1;if("xai"===t)try{let t=new URL("/api/oauth/xai/start-proxy",window.location.origin);t.searchParams.set("app_port",s),t.searchParams.set("state",l.state),t.searchParams.set("code_verifier",l.codeVerifier),t.searchParams.set("redirect_uri",e);let r=await fetch(t.toString()),a=await r.json();if(o=a.success,d=!!a.serverSide,!o&&"port_busy"===a.reason)throw Error("Port 56121 in use; close the conflicting process and retry")}catch(e){if(e?.message)throw e;o=!1}h({...l,redirectUri:e,codexServerSide:i,xaiServerSide:d}),"codex"===t&&n||"xai"===t&&o||A&&"codex"!==t&&"xai"!==t?(x("waiting"),S.current=window.open(l.authUrl,"oauth_popup","width=600,height=700"),S.current||x("input")):(x("input"),window.open(l.authUrl,"_blank"))}catch(e){j(e.message),x("error")}},[t,A,z,c,m]);(0,a.useEffect)(()=>{e&&t?(h(null),f(""),j(null),y(!1),w(null),C(!1),I.current=!1,L()):e||(I.current=!0,"codex"===t?fetch("/api/oauth/codex/stop-proxy").catch(()=>{}):"xai"===t&&fetch("/api/oauth/xai/stop-proxy").catch(()=>{}))},[e,t,L]),(0,a.useEffect)(()=>{let e=p?.codexServerSide?"codex":p?.xaiServerSide?"xai":null;if(!e||!p?.state||E.current)return;let t=!1,s=0,r=async()=>{if(!t&&!E.current){s+=1;try{let s=await fetch(`/api/oauth/${e}/poll-status?state=${encodeURIComponent(p.state)}`),r=await s.json();if(t||E.current)return;if("done"===r.status){E.current=!0,x("success"),l?.();return}if("error"===r.status){E.current=!0,j(r.error||"Authentication failed"),x("error");return}}catch{}if(s>=200){E.current=!0,j("Authentication timeout"),x("error");return}setTimeout(r,1500)}};return setTimeout(r,1500),()=>{t=!0}},[p,l]),(0,a.useEffect)(()=>{let e;if(!p)return;E.current=!1;let t=async e=>{if(E.current)return;let{code:t,state:s,error:r,errorDescription:a}=e;if(r){E.current=!0,j(a||r),x("error");return}t&&(E.current=!0,await M(t,s))},s=e=>{let s=e.origin.includes("localhost")||e.origin.includes("127.0.0.1"),r=e.origin===window.location.origin;(s||r)&&e.data?.type==="oauth_callback"&&t(e.data.data)};window.addEventListener("message",s);try{(e=new BroadcastChannel("oauth_callback")).onmessage=e=>t(e.data)}catch(e){console.log("BroadcastChannel not supported")}let r=e=>{if("oauth_callback"===e.key&&e.newValue)try{let s=JSON.parse(e.newValue);t(s),localStorage.removeItem("oauth_callback")}catch(e){console.log("Failed to parse localStorage data")}};window.addEventListener("storage",r);try{let e=localStorage.getItem("oauth_callback");if(e){let s=JSON.parse(e);s.timestamp&&Date.now()-s.timestamp<3e4&&t(s),localStorage.removeItem("oauth_callback")}}catch{}return()=>{window.removeEventListener("message",s),window.removeEventListener("storage",r),e&&e.close()}},[p,M]);let q=async()=>{try{j(null);let e=b.trim();if(e.startsWith("eyJ")&&e.includes("."))return void await M(e,null);if("xai"===t&&e&&!e.includes("://")&&!e.includes("?")&&!e.includes("code="))return void await _(e);if("kimchi"===t&&e&&!e.includes("://")&&!e.includes("?"))return void await M(e,null);let s=new URL(e),r=s.searchParams.get("code"),a=s.searchParams.get("token"),l=s.searchParams.get("state"),n=s.searchParams.get("error");if(n)throw Error(s.searchParams.get("error_description")||n);if(!r&&!a)throw Error("xai"===t?"Paste the callback URL or copied xAI code":"kimchi"===t?"No Kimchi token found in URL":"No authorization code found in URL");await M(a||r,l)}catch(e){j(e.message),x("error")}},U=(0,a.useCallback)(()=>{"codex"===t?fetch("/api/oauth/codex/stop-proxy").catch(()=>{}):"xai"===t&&fetch("/api/oauth/xai/stop-proxy").catch(()=>{}),n()},[n,t]);if(!t||!s)return null;let F="xai"===t,D="kimchi"===t,W=N?.verification_uri_complete||N?.verification_uri||"",B=F?"Connect Grok Build OAuth":`Connect ${s.name}`,K=F?"http://127.0.0.1:56121/callback?code=... or copied code":D?`${O.replace("code=...","token=...")} or copied token`:O;return(0,r.jsx)(i.aF,{isOpen:e,title:B,onClose:U,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[("waiting"===u||"input"===u)&&!v&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border border-border rounded-lg bg-sidebar/50",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-base text-primary animate-spin",children:"progress_activity"}),(0,r.jsx)("span",{className:"text-sm",children:F?"Waiting for Grok Build OAuth…":"Waiting for popup authorization…"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3 my-1",children:[(0,r.jsx)("div",{className:"flex-1 h-px bg-border"}),(0,r.jsx)("span",{className:"text-xs text-text-muted uppercase tracking-wider",children:"Or paste callback URL manually"}),(0,r.jsx)("div",{className:"flex-1 h-px bg-border"})]}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-sm font-medium mb-2",children:["Step 1: Open this ",F?"Grok Build OAuth URL":"URL"," in your browser"]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.pd,{value:p?.authUrl||"",readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(i.$n,{variant:"secondary",icon:"auth_url"===T?"check":"content_copy",onClick:()=>$(p?.authUrl,"auth_url"),disabled:!p?.authUrl,children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-sm font-medium mb-2",children:["Step 2: Paste the ","xai"===t?"callback URL or copied code":"kimchi"===t?"callback URL or token":"callback URL"," here"]}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"xai"===t?"If xAI shows a code instead of redirecting, paste that code here.":"kimchi"===t?"After authorization, paste the callback URL (with token=…) or the raw Kimchi token.":"After authorization, copy the full URL from your browser."}),(0,r.jsx)(i.pd,{value:b,onChange:e=>f(e.target.value),placeholder:K,className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:q,fullWidth:!0,disabled:!b,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:U,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"waiting"===u&&v&&N&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"text-center py-4",children:[(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Visit the login URL below and authorize:"}),(0,r.jsxs)("div",{className:"bg-sidebar p-4 rounded-lg mb-4",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Login URL"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("code",{className:"flex-1 text-sm break-all",children:W}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"login_url"===T?"check":"content_copy",onClick:()=>$(W,"login_url"),disabled:!W}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"open_in_new",onClick:()=>window.open(W,"_blank","noopener,noreferrer"),disabled:!W,children:"Open"})]})]}),(0,r.jsxs)("div",{className:"bg-primary/10 p-4 rounded-lg",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Your Code"}),(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,r.jsx)("p",{className:"text-2xl font-mono font-bold text-primary",children:N.user_code}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"user_code"===T?"check":"content_copy",onClick:()=>$(N.user_code,"user_code")})]})]})]}),k&&(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin",children:"progress_activity"}),"Waiting for authorization..."]})]}),"success"===u&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your ",s.name," account has been connected."]}),(0,r.jsx)(i.$n,{onClick:U,fullWidth:!0,children:"Done"})]}),"error"===u&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:g}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:L,variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(i.$n,{onClick:U,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}d.propTypes={isOpen:n().bool.isRequired,provider:n().string,providerInfo:n().shape({name:n().string}),onSuccess:n().func,onClose:n().func.isRequired,oauthMeta:n().object,idcConfig:n().shape({startUrl:n().string,region:n().string})}},91450:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(14051),l=s.n(a),n=s(38587);function i({children:e}){return(0,r.jsxs)("div",{className:"min-h-screen flex flex-col relative bg-bg transition-colors duration-500 overflow-x-hidden selection:bg-primary/20 selection:text-primary",children:[(0,r.jsx)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-primary/5 dark:bg-primary/5 rounded-full blur-[100px] pointer-events-none z-0"}),(0,r.jsx)("div",{className:"fixed bottom-0 right-0 w-[600px] h-[600px] bg-orange-200/20 dark:bg-orange-900/10 rounded-full blur-[120px] pointer-events-none z-0 translate-y-1/3 translate-x-1/3"}),(0,r.jsx)("div",{className:"absolute top-6 right-6 z-20",children:(0,r.jsx)(n.default,{variant:"card"})}),(0,r.jsx)("main",{className:"flex-1 flex flex-col items-center justify-center p-4 sm:p-6 z-10 w-full h-full",children:e})]})}i.propTypes={children:l().node.isRequired}},92173:(e,t,s)=>{s.d(t,{default:()=>c});var r=s(95155),a=s(98500),l=s.n(a),n=s(90620);let i=[{label:"Features",href:"#features"},{label:"Pricing",href:"#pricing"},{label:"Changelog",href:"#"}],o=[{label:"Documentation",href:"#"},{label:"API Reference",href:"#"},{label:"Help Center",href:"#"}],d=[{label:"About",href:"#"},{label:"Blog",href:"#"},{label:"Contact",href:"#"}];function c(){return(0,r.jsx)("footer",{className:"bg-bg border-t border-border pt-16 pb-12",children:(0,r.jsxs)("div",{className:"container mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-10 mb-12",children:[(0,r.jsxs)("div",{className:"col-span-2 lg:col-span-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,r.jsx)("div",{className:"size-6 text-primary",children:(0,r.jsx)("svg",{className:"w-full h-full",fill:"currentColor",viewBox:"0 0 48 48",children:(0,r.jsx)("path",{clipRule:"evenodd",d:"M12.0799 24L4 19.2479L9.95537 8.75216L18.04 13.4961L18.0446 4H29.9554L29.96 13.4961L38.0446 8.75216L44 19.2479L35.92 24L44 28.7521L38.0446 39.2479L29.96 34.5039L29.9554 44H18.0446L18.04 34.5039L9.95537 39.2479L4 28.7521L12.0799 24Z",fillRule:"evenodd"})})}),(0,r.jsx)("span",{className:"text-xl font-bold text-text-main",children:n.vQ.name})]}),(0,r.jsx)("p",{className:"text-text-muted mb-6 max-w-sm font-light",children:"The unified interface for modern AI infrastructure. Secure, observable, and scalable."}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"Twitter",children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"})})}),(0,r.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"GitHub",children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0 0 22 12.017C22 6.484 17.522 2 12 2z"})})})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Product"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:i.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Resources"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:o.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Company"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:d.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]})]}),(0,r.jsxs)("div",{className:"border-t border-border pt-8 flex flex-col md:flex-row justify-between items-center gap-4",children:[(0,r.jsxs)("p",{className:"text-sm text-text-muted",children:["\xa9 ",new Date().getFullYear()," ",n.vQ.name," Inc. All rights reserved."]}),(0,r.jsxs)("div",{className:"flex gap-6 text-sm text-text-muted",children:[(0,r.jsx)(l(),{href:"#",className:"hover:text-primary transition-colors",children:"Privacy Policy"}),(0,r.jsx)(l(),{href:"#",className:"hover:text-primary transition-colors",children:"Terms of Service"})]})]})]})})}},92542:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(31474);let l={primary:"bg-brand-500 hover:bg-brand-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",secondary:"bg-surface-2 hover:bg-surface-3 text-text-main border border-border disabled:opacity-50",outline:"border border-border text-text-main hover:bg-surface-2 hover:border-brand-500/40",ghost:"text-text-muted hover:bg-surface-2 hover:text-text-main",danger:"bg-red-500 hover:bg-red-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",success:"bg-green-600 hover:bg-green-700 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted"},n={sm:"h-7 px-3 text-xs rounded-[8px]",md:"h-9 px-4 text-sm rounded-[10px]",lg:"h-11 px-6 text-sm rounded-[10px]"};function i({children:e,variant:t="primary",size:s="md",icon:o,iconRight:d,disabled:c=!1,loading:m=!1,fullWidth:u=!1,className:x,...p}){return(0,r.jsxs)("button",{className:(0,a.cn)("inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer","active:scale-[0.97] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100",l[t],n[s],u&&"w-full",x),disabled:c||m,...p,children:[m?(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}):o?(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:o}):null,e,d&&!m&&(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:d})]})}},92622:(e,t,s)=>{s.d(t,{default:()=>y});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(98500),o=s.n(i),d=s(73321),c=s(31474),m=s(90620),u=s(52679),x=s(11059),p=s(92542),h=s(81127);let b=["embedding","image","tts","stt"],f="/dashboard/media-providers/web",g=[{href:"/dashboard/endpoint",label:"Endpoint",icon:"api"},{href:"/dashboard/providers",label:"Providers",icon:"dns"},{href:"/dashboard/combos",label:"Combos",icon:"layers"},{href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{href:"/dashboard/quota",label:"Quota Tracker",icon:"data_usage"},{href:"/dashboard/mitm",label:"MITM",icon:"security"},{href:"/dashboard/automation",label:"Automation",icon:"automation"},{href:"/dashboard/cli-tools",label:"CLI Tools",icon:"terminal"}],j=[{href:"/dashboard/console-log",label:"Console Log",icon:"terminal"},{href:"/dashboard/translator",label:"Translator",icon:"translate"}],v=[{href:"/dashboard/proxy-pools",label:"Proxy Pools",icon:"lan"},{href:"/dashboard/context",label:"Context Inject",icon:"psychology"}];function y({onClose:e}){let t=(0,d.usePathname)(),[s,l]=(0,a.useState)(!1),[n,i]=(0,a.useState)(!1),[w,k]=(0,a.useState)(null),[C,S]=(0,a.useState)(!1),[I,T]=(0,a.useState)(!1),[$,A]=(0,a.useState)(0),[P,O]=(0,a.useState)(!1),{copied:R,copy:E}=(0,x.C)(2e3),M=m.h0.installCmdLatest;(0,a.useEffect)(()=>{fetch("/api/settings").then(e=>e.json()).then(e=>{e.enableTranslator&&O(!0)}).catch(()=>{})},[]),(0,a.useEffect)(()=>{fetch("/api/version").then(e=>e.json()).then(e=>{e.hasUpdate&&k(e)}).catch(()=>{})},[]);let _=e=>"/dashboard/endpoint"===e?"/dashboard"===t||t.startsWith("/dashboard/endpoint"):t.startsWith(e),z=async()=>{try{await navigator.clipboard.writeText(M)}catch{}E(M);let e=m.h0.shutdownCountdownSec;A(e);let t=setInterval(()=>{A(e-=1),e<=0&&(clearInterval(t),fetch("/api/version/shutdown",{method:"POST"}).catch(()=>{}),i(!0))},1e3)};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("aside",{className:"flex w-72 flex-col border-r border-border-subtle bg-vibrancy backdrop-blur-xl transition-colors duration-300 min-h-full",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-6 pt-5 pb-2",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),(0,r.jsxs)("div",{className:"px-6 py-4 flex flex-col gap-2",children:[(0,r.jsxs)(o(),{href:"/dashboard",className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-9 rounded-[10px] bg-gradient-to-br from-brand-500 to-brand-700 shadow-[var(--shadow-warm)]",children:(0,r.jsxs)("svg",{viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-5 h-5",children:[(0,r.jsx)("path",{d:"M9.5 11H22.5L9.5 21H22.5",fill:"none",stroke:"white",strokeWidth:"2.8",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("circle",{cx:"9.5",cy:"11",r:"2.5",fill:"white"}),(0,r.jsx)("circle",{cx:"22.5",cy:"21",r:"2.5",fill:"white"})]})}),(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("h1",{className:"text-lg font-semibold tracking-tight text-text-main",children:m.vQ.name}),(0,r.jsxs)("span",{className:"text-xs text-text-muted",children:["v",m.vQ.version]})]})]}),w&&(0,r.jsxs)("div",{className:"flex flex-col gap-1.5 rounded p-1 -m-1",children:[(0,r.jsxs)("span",{className:"text-xs font-semibold text-green-600 dark:text-amber-500",children:["↑ New version available: v",w.latestVersion]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("button",{onClick:()=>S(!0),className:"px-2 py-1 rounded bg-green-600 hover:bg-green-700 dark:bg-amber-500 dark:hover:bg-amber-600 text-white text-[11px] font-semibold transition-colors cursor-pointer",children:"Update now"}),(0,r.jsx)("button",{onClick:()=>E(M),title:"Copy install command",className:"flex-1 text-left hover:opacity-80 transition-opacity cursor-pointer min-w-0",children:(0,r.jsx)("code",{className:"block text-[10px] text-green-600/80 dark:text-amber-400/70 font-mono truncate",children:R?"✓ copied!":M})})]})]})]}),(0,r.jsxs)("nav",{className:"flex-1 px-4 py-2 space-y-0.5 overflow-y-auto custom-scrollbar",children:[g.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",_(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",_(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-[13px] font-medium",children:t.label})]},t.href)),(0,r.jsxs)("div",{className:"pt-3 mt-2 space-y-0.5",children:[(0,r.jsx)("p",{className:"px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2",children:"System"}),(0,r.jsxs)("button",{onClick:()=>l(e=>!e),className:(0,c.cn)("w-full flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",t.startsWith("/dashboard/media-providers")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"perm_media"}),(0,r.jsx)("span",{className:"text-[13px] font-medium flex-1 text-left",children:"Media Providers"}),(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[14px] transition-transform",s&&"rotate-180"),children:"expand_more"})]}),s&&(0,r.jsxs)("div",{className:"pl-4",children:[u.rj.filter(e=>b.includes(e.id)).map(s=>(0,r.jsxs)(o(),{href:`/dashboard/media-providers/${s.id}`,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",t.startsWith(`/dashboard/media-providers/${s.id}`)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:s.icon}),(0,r.jsx)("span",{className:"text-sm",children:s.label})]},s.id)),(0,r.jsxs)(o(),{href:f,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",t.startsWith(f)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"travel_explore"}),(0,r.jsx)("span",{className:"text-sm",children:"Web Fetch & Search"})]},"web")]}),v.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",_(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",_(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-[13px] font-medium",children:t.label})]},t.href)),j.map(t=>"/dashboard/translator"!==t.href||P?(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",_(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",_(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-[13px] font-medium",children:t.label})]},t.href):null),(0,r.jsxs)(o(),{href:"/dashboard/profile",onClick:e,className:(0,c.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",_("/dashboard/profile")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",_("/dashboard/profile")?"fill-1":"group-hover:text-primary transition-colors"),children:"settings"}),(0,r.jsx)("span",{className:"text-[13px] font-medium",children:"Settings"})]})]})]})]}),(0,r.jsx)(h.ConfirmModal,{isOpen:C,onClose:()=>S(!1),onConfirm:()=>{S(!1),T(!0)},title:"Update ZevaiRouter",message:`Show install command for v${w?.latestVersion||""}? You can copy it and shutdown to install manually.`,confirmText:"Show Command",cancelText:"Cancel",variant:"primary"}),(n||I)&&(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm p-6",children:I?(0,r.jsx)(N,{latestVersion:w?.latestVersion,installCmd:M,copied:R,onCopyAndShutdown:z,onCancel:()=>{T(!1),A(0)},countdown:$,isDisconnected:n}):(0,r.jsxs)("div",{className:"text-center p-8",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-16 rounded-full bg-red-500/20 text-red-500 mx-auto mb-4",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"power_off"})}),(0,r.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Server Disconnected"}),(0,r.jsx)("p",{className:"text-text-muted mb-6",children:"The proxy server has been stopped."}),(0,r.jsx)(p.default,{variant:"secondary",onClick:()=>globalThis.location.reload(),children:"Reload Page"})]})})]})}function N({latestVersion:e,installCmd:t,copied:s,onCopyAndShutdown:a,onCancel:l,countdown:n,isDisconnected:i}){let o=n>0;return(0,r.jsxs)("div",{className:"w-full max-w-lg rounded-xl bg-neutral-900/95 border border-white/10 p-6 text-white",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-11 rounded-full bg-amber-500/20 text-amber-400",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[24px]",children:"content_copy"})}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("h2",{className:"text-lg font-semibold",children:["Update ZevaiRouter",e?` to v${e}`:""]}),(0,r.jsx)("p",{className:"text-xs text-white/60",children:i?"Server stopped. Paste the command into a terminal to install.":o?`Command copied. Server will stop in ${n}s...`:"Click the button below to copy the install command and shutdown."})]})]}),(0,r.jsx)("p",{className:"text-sm text-white/80 mb-2",children:"Install command:"}),(0,r.jsx)("div",{className:"w-full px-3 py-2 rounded bg-white/5 mb-4",children:(0,r.jsx)("code",{className:"text-xs font-mono text-amber-400 break-all",children:t})}),(0,r.jsxs)("ol",{className:"text-xs text-white/70 space-y-1 list-decimal list-inside mb-4",children:[(0,r.jsxs)("li",{children:["Click ",(0,r.jsx)("strong",{children:"Copy & Shutdown"})," below."]}),(0,r.jsx)("li",{children:"Paste the command into your terminal and press Enter."}),(0,r.jsxs)("li",{children:["Run ",(0,r.jsx)("code",{className:"px-1 rounded bg-white/10 text-green-400",children:"zevai"})," again after install."]})]}),i?(0,r.jsx)(p.default,{variant:"secondary",fullWidth:!0,onClick:()=>globalThis.location.reload(),children:"Reload Page"}):(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(p.default,{variant:"secondary",onClick:l,disabled:o,children:"Cancel"}),(0,r.jsx)(p.default,{variant:"primary",fullWidth:!0,onClick:a,disabled:o,children:s?"✓ Copied — shutting down...":o?`Shutting down in ${n}s`:"Copy & Shutdown"})]})]})}y.propTypes={onClose:n().func},N.propTypes={latestVersion:n().string,installCmd:n().string.isRequired,copied:n().bool,onCopyAndShutdown:n().func.isRequired,onCancel:n().func.isRequired,countdown:n().number,isDisconnected:n().bool}},94230:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497),o=s(11059);function d({isOpen:e,provider:t,onSuccess:s,onClose:l}){let[n,c]=(0,a.useState)("loading"),[m,u]=(0,a.useState)(""),[x,p]=(0,a.useState)(null),[h,b]=(0,a.useState)(""),[f,g]=(0,a.useState)(null),{copied:j,copy:v}=(0,o.C)();(0,a.useEffect)(()=>{e&&t&&(async()=>{try{g(null),c("loading");let e=await fetch(`/api/oauth/kiro/social-authorize?provider=${t}`),s=await e.json();if(!e.ok)throw Error(s.error);p(s),u(s.authUrl),c("input"),window.open(s.authUrl,"_blank")}catch(e){g(e.message),c("error")}})()},[e,t]);let y=async()=>{try{let e;g(null);try{e=new URL(h)}catch(e){throw Error("Invalid callback URL format")}let r=e.searchParams.get("code");e.searchParams.get("state");let a=e.searchParams.get("error");if(a)throw Error(e.searchParams.get("error_description")||a);if(!r)throw Error("No authorization code found in URL");let l=await fetch("/api/oauth/kiro/social-exchange",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:r,codeVerifier:x.codeVerifier,provider:t})}),n=await l.json();if(!l.ok)throw Error(n.error);c("success"),s?.()}catch(e){g(e.message),c("error")}},N="google"===t?"Google":"GitHub";return(0,r.jsx)(i.aF,{isOpen:e,title:`Connect Kiro via ${N}`,onClose:l,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:["loading"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Initializing..."}),(0,r.jsxs)("p",{className:"text-sm text-text-muted",children:["Setting up ",N," authentication"]})]}),"input"===n&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.pd,{value:m,readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(i.$n,{variant:"secondary",icon:"auth_url"===j?"check":"content_copy",onClick:()=>v(m,"auth_url"),children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser address bar."}),(0,r.jsx)(i.pd,{value:h,onChange:e=>b(e.target.value),placeholder:"kiro://kiro.kiroAgent/authenticate-success?code=...",className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:y,fullWidth:!0,disabled:!h,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:l,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your Kiro account via ",N," has been connected."]}),(0,r.jsx)(i.$n,{onClick:l,fullWidth:!0,children:"Done"})]}),"error"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:f}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:()=>c("input"),variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(i.$n,{onClick:l,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}d.propTypes={isOpen:n().bool.isRequired,provider:n().oneOf(["google","github"]).isRequired,onSuccess:n().func,onClose:n().func.isRequired}},95088:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497);let o="https://gitlab.com";function d({isOpen:e,providerInfo:t,onSuccess:s,onClose:l}){let n,[c,m]=(0,a.useState)(null),[u,x]=(0,a.useState)(o),[p,h]=(0,a.useState)(""),[b,f]=(0,a.useState)(""),[g,j]=(0,a.useState)(""),[v,y]=(0,a.useState)(!1),[N,w]=(0,a.useState)(null),[k,C]=(0,a.useState)(!1),[S,I]=(0,a.useState)(null),T=()=>{m(null),x(o),h(""),f(""),j(""),w(null),y(!1),C(!1),I(null),l()},$=async()=>{if(!g.trim())return void w("Personal Access Token is required");y(!0),w(null);try{let e=await fetch("/api/oauth/gitlab/pat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:g.trim(),baseUrl:u.trim()||o})}),t=await e.json();if(!e.ok)throw Error(t.error||"Authentication failed");s?.(),T()}catch(e){w(e.message)}finally{y(!1)}};return e?k&&S?(0,r.jsx)(i.LF,{isOpen:!0,provider:"gitlab",providerInfo:t,oauthMeta:S,onSuccess:()=>{s?.(),T()},onClose:()=>{C(!1),I(null)}}):(0,r.jsx)(i.aF,{isOpen:e,title:"Connect GitLab Duo",onClose:T,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[!c&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"text-sm text-text-muted",children:"Choose how to authenticate with GitLab Duo:"}),(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,r.jsxs)("button",{onClick:()=>m("oauth"),className:"flex flex-col items-center gap-2 p-4 rounded-lg border border-border hover:border-primary hover:bg-primary/5 transition-colors text-left",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-2xl text-primary",children:"lock_open"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:"OAuth App"}),(0,r.jsx)("p",{className:"text-xs text-text-muted",children:"Use a GitLab OAuth application"})]})]}),(0,r.jsxs)("button",{onClick:()=>m("pat"),className:"flex flex-col items-center gap-2 p-4 rounded-lg border border-border hover:border-primary hover:bg-primary/5 transition-colors text-left",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-2xl text-primary",children:"key"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:"Personal Access Token"}),(0,r.jsx)("p",{className:"text-xs text-text-muted",children:"Use a GitLab PAT with api scope"})]})]})]})]}),"oauth"===c&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("p",{className:"text-xs text-text-muted",children:["Create an OAuth app at"," ",(0,r.jsx)("a",{href:`${u.trim()||o}/-/profile/applications`,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"GitLab Applications"})," ","with redirect URI"," ",(0,r.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:(n=window.location.port||("https:"===window.location.protocol?"443":"80"),`http://localhost:${n}/callback`)})]}),(0,r.jsx)(i.pd,{label:"GitLab Base URL",value:u,onChange:e=>x(e.target.value),placeholder:o}),(0,r.jsx)(i.pd,{label:"Client ID",value:p,onChange:e=>h(e.target.value),placeholder:"Your OAuth application client ID"}),(0,r.jsx)(i.pd,{label:"Client Secret (optional for PKCE)",value:b,onChange:e=>f(e.target.value),placeholder:"Leave empty for public PKCE app"}),N&&(0,r.jsx)("p",{className:"text-sm text-red-500",children:N}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:()=>{p.trim()?(w(null),I({baseUrl:u.trim()||o,clientId:p.trim(),clientSecret:b.trim()}),C(!0)):w("Client ID is required")},fullWidth:!0,disabled:!p.trim(),children:"Authorize"}),(0,r.jsx)(i.$n,{onClick:()=>{m(null),w(null)},variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"pat"===c&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("p",{className:"text-xs text-text-muted",children:["Create a PAT at"," ",(0,r.jsx)("a",{href:`${u.trim()||o}/-/user_settings/personal_access_tokens`,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"GitLab Access Tokens"})," ","with scopes: ",(0,r.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"api"}),","," ",(0,r.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"read_user"}),", and"," ",(0,r.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"ai_features"}),"."]}),(0,r.jsx)(i.pd,{label:"GitLab Base URL",value:u,onChange:e=>x(e.target.value),placeholder:o}),(0,r.jsx)(i.pd,{label:"Personal Access Token",value:g,onChange:e=>j(e.target.value),placeholder:"glpat-xxxxxxxxxxxxxxxxxxxx",type:"password"}),N&&(0,r.jsx)("p",{className:"text-sm text-red-500",children:N}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:$,fullWidth:!0,disabled:!g.trim()||v,loading:v,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:()=>{m(null),w(null)},variant:"ghost",fullWidth:!0,children:"Back"})]})]})]})}):null}d.propTypes={isOpen:n().bool.isRequired,providerInfo:n().shape({name:n().string}),onSuccess:n().func,onClose:n().func.isRequired}},96748:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497);let o="https://api.openai.com/v1";function d({isOpen:e,onClose:t,onCreated:s,onSaved:l,node:n}){let c=!!n,[m,u]=(0,a.useState)({name:"",prefix:"",baseUrl:o}),[x,p]=(0,a.useState)(!1),[h,b]=(0,a.useState)(""),[f,g]=(0,a.useState)(""),[j,v]=(0,a.useState)(!1),[y,N]=(0,a.useState)(null);(0,a.useEffect)(()=>{e&&(N(null),b(""),g(""),c?u({name:n.name||"",prefix:n.prefix||"",baseUrl:n.baseUrl||o}):u({name:"",prefix:"",baseUrl:o}))},[e,c,n]);let w=async()=>{if(m.name.trim()&&m.prefix.trim()&&m.baseUrl.trim()){p(!0);try{let e=c?`/api/provider-nodes/${n.id}`:"/api/provider-nodes",t=c?"PUT":"POST",r={name:m.name,prefix:m.prefix,baseUrl:m.baseUrl};c||(r.type="custom-embedding");let a=await fetch(e,{method:t,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),i=await a.json();a.ok&&(c?l?.(i.node):s?.(i.node))}catch(e){console.log("Error saving custom embedding node:",e)}finally{p(!1)}}},k=async()=>{v(!0);try{let e=await fetch("/api/provider-nodes/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseUrl:m.baseUrl,apiKey:h,type:"custom-embedding",modelId:f.trim()||void 0})}),t=await e.json();N(t)}catch{N({valid:!1,error:"Network error"})}finally{v(!1)}};return(0,r.jsx)(i.aF,{isOpen:e,title:c?"Edit Custom Embedding":"Add Custom Embedding",onClose:t,children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)(i.pd,{label:"Name",value:m.name,onChange:e=>u({...m,name:e.target.value}),placeholder:"Voyage AI",hint:"Required. A friendly label for this embedding provider."}),(0,r.jsx)(i.pd,{label:"Prefix",value:m.prefix,onChange:e=>u({...m,prefix:e.target.value}),placeholder:"voyage",hint:"Required. Used as the provider prefix for model IDs (e.g. voyage/voyage-3)."}),(0,r.jsx)(i.pd,{label:"Base URL",value:m.baseUrl,onChange:e=>u({...m,baseUrl:e.target.value}),placeholder:"https://api.voyageai.com/v1",hint:"Most embedding APIs are OpenAI-compatible: Voyage, Cohere, Jina, Mistral, Together..."}),(0,r.jsx)(i.pd,{label:"API Key (for Check)",type:"password",value:h,onChange:e=>b(e.target.value)}),(0,r.jsx)(i.pd,{label:"Model ID (for Check)",value:f,onChange:e=>g(e.target.value),placeholder:"e.g. voyage-3, embed-english-v3.0, text-embedding-3-small",hint:"Required for validation. Will send a test embeddings request."}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(i.$n,{onClick:k,disabled:!h||!f.trim()||j||!m.baseUrl.trim(),variant:"secondary",children:j?"Checking...":"Check"}),(()=>{if(!y)return null;let{valid:e,error:t,dimensions:s}=y;return e?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Ex,{variant:"success",children:"Valid"}),s&&(0,r.jsxs)("span",{className:"text-sm text-text-muted",children:[s," dims"]})]}):(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(i.Ex,{variant:"error",children:"Invalid"}),t&&(0,r.jsx)("span",{className:"text-sm text-red-500",children:t})]})})()]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:w,fullWidth:!0,disabled:!m.name.trim()||!m.prefix.trim()||!m.baseUrl.trim()||x,children:x?c?"Saving...":"Creating...":c?"Save":"Create"}),(0,r.jsx)(i.$n,{onClick:t,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})})}d.propTypes={isOpen:n().bool.isRequired,onClose:n().func.isRequired,onCreated:n().func,onSaved:n().func,node:n().shape({id:n().string,name:n().string,prefix:n().string,baseUrl:n().string})}},97677:(e,t,s)=>{s.d(t,{default:()=>a});var r=s(95155);function a({text:e,children:t,position:s="top",color:l}){let n=l?"":"bg-gray-900";return(0,r.jsxs)("div",{className:"relative inline-flex group",children:[t,(0,r.jsx)("div",{className:`pointer-events-none absolute ${{top:"bottom-full left-1/2 -translate-x-1/2 mb-1.5",bottom:"top-full left-1/2 -translate-x-1/2 mt-1.5",left:"right-full top-1/2 -translate-y-1/2 mr-1.5",right:"left-full top-1/2 -translate-y-1/2 ml-1.5"}[s]} z-50 w-max max-w-56 rounded px-2 py-1 text-[11px] leading-snug ${n} text-white opacity-0 group-hover:opacity-100 transition-opacity duration-150 whitespace-normal`,style:l?{backgroundColor:l}:{},children:e})]})}},98542:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(31474);function l({checked:e=!1,onChange:t,label:s,description:n,disabled:i=!1,size:o="md",className:d}){let c={sm:{track:"w-8 h-4",thumb:"size-3",translate:"translate-x-4"},md:{track:"w-11 h-6",thumb:"size-5",translate:"translate-x-5"},lg:{track:"w-14 h-7",thumb:"size-6",translate:"translate-x-7"}};return(0,r.jsxs)("div",{className:(0,a.cn)("flex items-center gap-3",i&&"opacity-50 cursor-not-allowed",d),children:[(0,r.jsx)("button",{type:"button",role:"switch","aria-checked":e,disabled:i,onClick:()=>{!i&&t&&t(!e)},className:(0,a.cn)("relative inline-flex shrink-0 cursor-pointer rounded-full","transition-colors duration-200 ease-in-out","focus:outline-none focus:ring-2 focus:ring-brand-500/30",e?"bg-brand-500":"bg-surface-3",c[o].track,i&&"cursor-not-allowed"),children:(0,r.jsx)("span",{className:(0,a.cn)("pointer-events-none inline-block rounded-full bg-white shadow-sm","transform transition duration-200 ease-in-out",e?c[o].translate:"translate-x-0.5",c[o].thumb,"mt-0.5")})}),(s||n)&&(0,r.jsxs)("div",{className:"flex flex-col",children:[s&&(0,r.jsx)("span",{className:"text-sm font-medium text-text-main",children:s}),n&&(0,r.jsx)("span",{className:"text-xs text-text-muted",children:n})]})]})}}}]);
7
+ `,children:(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[g.includes(e.value)&&!s&&(0,r.jsx)("span",{className:"material-symbols-outlined leading-none",style:{fontSize:"10px"},children:"check"}),s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[11px]",children:"edit"}),e.name]}):e.isCustom?(0,r.jsxs)(r.Fragment,{children:[e.name,(0,r.jsx)("span",{className:"text-[9px] opacity-60 font-normal",children:"custom"})]}):e.name]})},e.value)})})]},e)),0===Object.keys(L).length&&0===z.length&&(0,r.jsxs)("div",{className:"text-center py-4 text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-2xl mb-1 block",children:"search_off"}),(0,r.jsx)("p",{className:"text-xs",children:"No models found"})]})]})]})}x.propTypes={isOpen:n().bool.isRequired,onClose:n().func.isRequired,onSelect:n().func.isRequired,onDeselect:n().func,selectedModel:n().string,activeProviders:n().arrayOf(n().shape({provider:n().string.isRequired})),title:n().string,modelAliases:n().object,kindFilter:n().string,addedModelValues:n().arrayOf(n().string),closeOnSelect:n().bool}},73579:(e,t,s)=>{s.d(t,{default:()=>u});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(81127),o=s(11910),d=s(92542),c=s(56061),m=s(52679);function u({isOpen:e,connection:t,proxyPools:s,onSave:l,onClose:n}){let[x,p]=(0,a.useState)({name:"",priority:1,apiKey:""}),[h,b]=(0,a.useState)({azureEndpoint:"",apiVersion:"2024-10-01-preview",deployment:"",organization:""}),[f,g]=(0,a.useState)({accountId:""}),[j,v]=(0,a.useState)(!1),[y,N]=(0,a.useState)(null),[w,k]=(0,a.useState)(!1),[C,S]=(0,a.useState)(null),[I,T]=(0,a.useState)(!1);(0,a.useEffect)(()=>{t&&(p({name:t.name||"",priority:t.priority||1,apiKey:""}),"azure"===t.provider&&t.providerSpecificData&&b({azureEndpoint:t.providerSpecificData.azureEndpoint||"",apiVersion:t.providerSpecificData.apiVersion||"2024-10-01-preview",deployment:t.providerSpecificData.deployment||"",organization:t.providerSpecificData.organization||""}),"cloudflare-ai"===t.provider&&t.providerSpecificData&&g({accountId:t.providerSpecificData.accountId||""}),N(null),S(null))},[t]);let $=t?.authType==="oauth",A=t?.provider==="azure",P=t?.provider==="cloudflare-ai",O=!!t&&((0,m.mq)(t.provider)||(0,m.gb)(t.provider)),R=async()=>{if(t?.provider){v(!0),N(null);try{let e=await fetch(`/api/providers/${t.id}/test`,{method:"POST"}),s=await e.json();N(s.valid?"success":"failed")}catch{N("failed")}finally{v(!1)}}},E=async()=>{if(t?.provider&&x.apiKey){k(!0),S(null);try{let e=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t.provider,apiKey:x.apiKey,...A?{providerSpecificData:h}:{},...P?{providerSpecificData:f}:{}})}),s=await e.json();S(s.valid?"success":"failed")}catch{S("failed")}finally{k(!1)}}},M=async()=>{if(t){T(!0);try{let e={name:x.name,priority:x.priority};if(!$&&x.apiKey){e.apiKey=x.apiKey;let s="success"===C;if(!s)try{k(!0),S(null);let e=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t.provider,apiKey:x.apiKey,...A?{providerSpecificData:h}:{},...P?{providerSpecificData:f}:{}})});s=!!(await e.json()).valid,S(s?"success":"failed")}catch{S("failed")}finally{k(!1)}s&&(e.testStatus="active",e.lastError=null,e.lastErrorAt=null)}A&&(e.providerSpecificData={azureEndpoint:h.azureEndpoint,apiVersion:h.apiVersion,deployment:h.deployment,organization:h.organization}),P&&(e.providerSpecificData={accountId:f.accountId}),await l(e)}finally{T(!1)}}};return t?(0,r.jsx)(i.default,{isOpen:e,title:"Edit Connection",onClose:n,children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)(o.default,{label:"Name",value:x.name,onChange:e=>p({...x,name:e.target.value}),placeholder:$?"Account name":"Production Key"}),$&&t.email&&(0,r.jsxs)("div",{className:"bg-sidebar/50 p-3 rounded-lg",children:[(0,r.jsx)("p",{className:"text-sm text-text-muted mb-1",children:"Email"}),(0,r.jsx)("p",{className:"font-medium",children:t.email})]}),(0,r.jsx)(o.default,{label:"Priority",type:"number",value:x.priority,onChange:e=>p({...x,priority:Number.parseInt(e.target.value,10)||1})}),!$&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(o.default,{label:"API Key",type:"password",value:x.apiKey,onChange:e=>p({...x,apiKey:e.target.value}),placeholder:"Enter new API key",hint:"Leave blank to keep the current API key.",className:"flex-1"}),(0,r.jsx)("div",{className:"pt-6",children:(0,r.jsx)(d.default,{onClick:E,disabled:!x.apiKey||w||I,variant:"secondary",children:w?"Checking...":"Check"})})]}),C&&(0,r.jsx)(c.default,{variant:"success"===C?"success":"error",children:"success"===C?"Valid":"Invalid"})]}),A&&(0,r.jsxs)("div",{className:"bg-sidebar/50 p-4 rounded-lg border border-accent/20",children:[(0,r.jsx)("h3",{className:"font-semibold mb-3 text-sm",children:"Azure OpenAI Configuration"}),(0,r.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,r.jsx)(o.default,{label:"Azure Endpoint",value:h.azureEndpoint,onChange:e=>b({...h,azureEndpoint:e.target.value}),placeholder:"https://your-resource.openai.azure.com",hint:"Your Azure OpenAI resource endpoint URL"}),(0,r.jsx)(o.default,{label:"Deployment Name",value:h.deployment,onChange:e=>b({...h,deployment:e.target.value}),placeholder:"gpt-4",hint:"The deployment name in your Azure resource"}),(0,r.jsx)(o.default,{label:"API Version",value:h.apiVersion,onChange:e=>b({...h,apiVersion:e.target.value}),placeholder:"2024-10-01-preview",hint:"Azure OpenAI API version to use"}),(0,r.jsx)(o.default,{label:"Organization",value:h.organization,onChange:e=>b({...h,organization:e.target.value}),placeholder:"Organization ID",hint:"Required for billing"})]})]}),!O&&!A&&!P&&(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(d.default,{onClick:R,variant:"secondary",disabled:j,children:j?"Testing...":"Test Connection"}),y&&(0,r.jsx)(c.default,{variant:"success"===y?"success":"error",children:"success"===y?"Valid":"Failed"})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(d.default,{onClick:M,fullWidth:!0,disabled:I,children:I?"Saving...":"Save"}),(0,r.jsx)(d.default,{onClick:n,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}):null}u.propTypes={isOpen:n().bool.isRequired,connection:n().shape({id:n().string,name:n().string,email:n().string,priority:n().number,authType:n().string,provider:n().string,providerSpecificData:n().object}),proxyPools:n().arrayOf(n().shape({id:n().string,name:n().string})),onSave:n().func.isRequired,onClose:n().func.isRequired}},80752:(e,t,s)=>{s.d(t,{default:()=>m});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(1620),o=s(40197),d=s(81127);function c({icon:e,label:t,onClick:s,trailing:a,danger:l}){return(0,r.jsxs)("button",{onClick:s,className:`flex items-center gap-3 w-full px-4 py-2.5 text-sm transition-colors ${l?"text-red-500 hover:bg-red-500/10":"text-text-main hover:bg-black/5 dark:hover:bg-white/5"}`,children:[(0,r.jsx)("span",{className:`material-symbols-outlined text-[20px] ${l?"":"text-text-muted"}`,children:e}),(0,r.jsx)("span",{className:"flex-1 text-left",children:t}),a&&(0,r.jsx)("span",{className:"text-base",children:a})]})}function m({onLogout:e}){let[t,s]=(0,a.useState)(!1),[l,n]=(0,a.useState)(!1),[u,x]=(0,a.useState)(!1),[p,h]=(0,a.useState)(!1),{toggleTheme:b,isDark:f}=(0,i.D)(),g=(0,a.useRef)(null),j=async()=>{h(!0);try{await fetch("/api/version/shutdown",{method:"POST"})}catch(e){}h(!1),x(!1)};return(0,a.useEffect)(()=>{let e=e=>{g.current&&!g.current.contains(e.target)&&s(!1)};if(t)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"relative",ref:g,children:[(0,r.jsx)("button",{onClick:()=>s(e=>!e),className:"flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-text-main hover:bg-black/5 dark:hover:bg-white/5 transition-all",title:"Menu",children:(0,r.jsx)("span",{className:"material-symbols-outlined",children:"grid_view"})}),t&&(0,r.jsxs)("div",{className:"absolute right-0 top-full mt-2 w-60 bg-surface border border-black/10 dark:border-white/10 rounded-xl shadow-2xl z-50 animate-in fade-in zoom-in-95 duration-150 overflow-hidden py-1",children:[(0,r.jsx)(c,{icon:"history",label:"Change Log",onClick:()=>{s(!1),n(!0)}}),(0,r.jsx)(c,{icon:f?"light_mode":"dark_mode",label:"Theme",onClick:()=>{b(),s(!1)}}),(0,r.jsx)(c,{icon:"power_settings_new",label:"Shutdown",danger:!0,onClick:()=>{s(!1),x(!0)}}),(0,r.jsx)(c,{icon:"logout",label:"Logout",danger:!0,onClick:()=>{s(!1),e()}})]})]}),(0,r.jsx)(o.default,{isOpen:l,onClose:()=>n(!1)}),(0,r.jsx)(d.ConfirmModal,{isOpen:u,onClose:()=>x(!1),onConfirm:j,title:"Close Proxy",message:"Are you sure you want to close the proxy server?",confirmText:"Close",cancelText:"Cancel",variant:"danger",loading:p})]})}c.propTypes={icon:n().string.isRequired,label:n().string.isRequired,onClick:n().func.isRequired,trailing:n().node,danger:n().bool},m.propTypes={onLogout:n().func.isRequired}},81127:(e,t,s)=>{s.d(t,{ConfirmModal:()=>d,default:()=>o});var r=s(95155),a=s(12115),l=s(31474),n=s(92542),i=s(97677);function o({isOpen:e,onClose:t,title:s,children:n,footer:d,size:c="md",closeOnOverlay:m=!0,showTrafficLights:u=!0,className:x}){return((0,a.useEffect)(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,a.useEffect)(()=>{let s=s=>{"Escape"===s.key&&e&&t()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,t]),e)?(0,r.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-[2px] fade-in",onClick:m?t:void 0}),(0,r.jsxs)("div",{className:(0,l.cn)("relative w-full bg-surface","border border-border-subtle","rounded-[14px] shadow-[var(--shadow-elev)]","fade-in",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[c],x),children:[(s||u)&&(0,r.jsxs)("div",{className:"flex items-center justify-between p-2 border-b border-border-subtle",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[u&&(0,r.jsxs)("div",{className:"hidden md:flex items-center gap-2 mr-4 ml-2",children:[(0,r.jsx)(i.default,{text:"Close",position:"top",color:"#FF5F56",children:(0,r.jsx)("button",{onClick:t,"aria-label":"Close",title:"Close",className:"w-4 h-4 rounded-full bg-[#FF5F56] hover:brightness-90 transition-all cursor-pointer flex items-center justify-center group/dot",children:(0,r.jsx)("span",{className:"text-[9px] font-bold text-white opacity-0 group-hover/dot:opacity-100 transition-opacity leading-none",children:"✕"})})}),(0,r.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"}),(0,r.jsx)("div",{className:"w-4 h-4 rounded-full bg-[#3a3a3a]/20 dark:bg-white/15 cursor-not-allowed"})]}),s&&(0,r.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:s})]}),(0,r.jsx)("button",{onClick:t,"aria-label":"Close",className:"md:hidden p-1.5 rounded-[10px] text-text-muted hover:bg-surface-2 hover:text-text-main transition-colors",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,r.jsx)("div",{className:"p-6 max-h-[calc(85vh-100px)] overflow-y-auto custom-scrollbar",children:n}),d&&(0,r.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-border-subtle",children:d})]})]}):null}function d({isOpen:e,onClose:t,onConfirm:s,title:a="Confirm",message:l,confirmText:i="Confirm",cancelText:c="Cancel",variant:m="danger",loading:u=!1}){return(0,r.jsx)(o,{isOpen:e,onClose:t,title:a,size:"sm",footer:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.default,{variant:"ghost",onClick:t,disabled:u,children:c}),(0,r.jsx)(n.default,{variant:m,onClick:s,loading:u,children:i})]}),children:(0,r.jsx)("p",{className:"text-text-muted",children:l})})}},84588:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(31474);function l({children:e,title:t,subtitle:s,icon:n,action:i,padding:o="md",hover:d=!1,elev:c=!1,className:m,...u}){return(0,r.jsxs)("div",{className:(0,a.cn)("card-3d border border-border-subtle rounded-[14px]",c&&"card-3d-elev",d&&"hover:border-brand-500/30 cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[o],m),...u,children:[(t||i)&&(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,r.jsx)("div",{className:"p-2 rounded-[10px] bg-bg text-text-muted",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:n})}),(0,r.jsxs)("div",{children:[t&&(0,r.jsx)("h3",{className:"text-text-main font-semibold",children:t}),s&&(0,r.jsx)("p",{className:"text-sm text-text-muted",children:s})]})]}),i]}),e]})}l.Section=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-4 rounded-[10px]","bg-bg border border-border-subtle",t),...s,children:e})},l.Row=function({children:e,className:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50",t),...s,children:e})},l.ListItem=function({children:e,actions:t,className:s,...l}){return(0,r.jsxs)("div",{className:(0,a.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50 transition-colors",s),...l,children:[(0,r.jsx)("div",{className:"flex-1 min-w-0",children:e}),t&&(0,r.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:t})]})}},90882:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497),o=s(11059);function d({isOpen:e,provider:t,providerInfo:s,onSuccess:l,onClose:n,oauthMeta:c,idcConfig:m}){let[u,x]=(0,a.useState)("waiting"),[p,h]=(0,a.useState)(null),[b,f]=(0,a.useState)(""),[g,j]=(0,a.useState)(null),[v,y]=(0,a.useState)(!1),[N,w]=(0,a.useState)(null),[k,C]=(0,a.useState)(!1),S=(0,a.useRef)(null),I=(0,a.useRef)(!1),{copied:T,copy:$}=(0,o.C)(),[A,P]=(0,a.useState)(!1),[O,R]=(0,a.useState)("/callback?code=..."),E=(0,a.useRef)(!1);(0,a.useEffect)(()=>{P("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname),R(`${window.location.origin}/callback?code=...`)},[]);let M=(0,a.useCallback)(async(e,s)=>{if(p)try{let r=await fetch(`/api/oauth/${t}/exchange`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,redirectUri:p.redirectUri,codeVerifier:p.codeVerifier,state:s,...c?{meta:c}:{}})}),a=await r.json();if(!r.ok)throw Error(a.error);x("success"),l?.()}catch(e){j(e.message),x("error")}},[p,t,l]),_=(0,a.useCallback)(async e=>{if(p?.state)try{let t=await fetch("/api/oauth/xai/manual-code",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,state:p.state})}),s=await t.json();if(!t.ok)throw Error(s.error);x("success"),l?.()}catch(e){j(e.message),x("error")}},[p,l]),z=(0,a.useCallback)(async(e,s,r,a,n)=>{I.current=!1,C(!0);let i=Date.now()+(Number.isFinite(n)&&n>0?n:12e4);for(;Date.now()<i;){if(I.current){console.log("[OAuthModal] Polling aborted"),C(!1);return}if(await new Promise(e=>setTimeout(e,1e3*r)),I.current){console.log("[OAuthModal] Polling aborted after sleep"),C(!1);return}try{let n=await fetch(`/api/oauth/${t}/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e,codeVerifier:s,extraData:a})}),i=await n.json();if(i.success){I.current=!0,x("success"),C(!1),l?.();return}if("expired_token"===i.error||"access_denied"===i.error)throw Error(i.errorDescription||i.error);"slow_down"===i.error&&(r=Math.min(r+5,30))}catch(e){j(e.message),x("error"),C(!1);return}}j("Authorization timeout"),x("error"),C(!1)},[t,l]),L=(0,a.useCallback)(async()=>{if(t)try{let e;if(j(null),["github","qwen","kiro","kimi-coding","kilocode","codebuddy","codebuddy-cn","qoder","grok-cli"].includes(t)){y(!0),x("waiting");let e=new URL(`/api/oauth/${t}/device-code`,window.location.origin);"kiro"===t&&m?.startUrl&&(e.searchParams.set("start_url",m.startUrl),m.region&&e.searchParams.set("region",m.region),e.searchParams.set("auth_method","idc"));let s=await fetch(e.toString()),r=await s.json();if(!s.ok)throw Error(r.error);w(r);let a=r.verification_uri_complete||r.verification_uri;a&&window.open(a,"_blank","noopener,noreferrer");let l="kiro"===t?{_clientId:r._clientId,_clientSecret:r._clientSecret,_region:r._region,_authMethod:r._authMethod,_startUrl:r._startUrl}:"qoder"===t?{_qoderNonce:r._qoderNonce,_qoderMachineId:r._qoderMachineId,_qoderVerifier:r.codeVerifier}:null;z(r.device_code,r.codeVerifier,r.interval||5,l,Number.isFinite(r.expires_in)&&r.expires_in>0?1e3*r.expires_in:void 0);return}let s=window.location.port||("https:"===window.location.protocol?"443":"80");e="codex"===t?"http://localhost:1455/auth/callback":"xai"===t?"http://127.0.0.1:56121/callback":`http://localhost:${s}/callback`;let r=new URL(`/api/oauth/${t}/authorize`,window.location.origin);r.searchParams.set("redirect_uri",e),c&&Object.entries(c).forEach(([e,t])=>{t&&r.searchParams.set(e,t)});let a=await fetch(r.toString()),l=await a.json();if(!a.ok)throw Error(l.error);let n=!1,i=!1;if("codex"===t)try{let t=new URL("/api/oauth/codex/start-proxy",window.location.origin);t.searchParams.set("app_port",s),t.searchParams.set("state",l.state),t.searchParams.set("code_verifier",l.codeVerifier),t.searchParams.set("redirect_uri",e);let r=await fetch(t.toString()),a=await r.json();n=a.success,i=!!a.serverSide}catch{n=!1}let o=!1,d=!1;if("xai"===t)try{let t=new URL("/api/oauth/xai/start-proxy",window.location.origin);t.searchParams.set("app_port",s),t.searchParams.set("state",l.state),t.searchParams.set("code_verifier",l.codeVerifier),t.searchParams.set("redirect_uri",e);let r=await fetch(t.toString()),a=await r.json();if(o=a.success,d=!!a.serverSide,!o&&"port_busy"===a.reason)throw Error("Port 56121 in use; close the conflicting process and retry")}catch(e){if(e?.message)throw e;o=!1}h({...l,redirectUri:e,codexServerSide:i,xaiServerSide:d}),"codex"===t&&n||"xai"===t&&o||A&&"codex"!==t&&"xai"!==t?(x("waiting"),S.current=window.open(l.authUrl,"oauth_popup","width=600,height=700"),S.current||x("input")):(x("input"),window.open(l.authUrl,"_blank"))}catch(e){j(e.message),x("error")}},[t,A,z,c,m]);(0,a.useEffect)(()=>{e&&t?(h(null),f(""),j(null),y(!1),w(null),C(!1),I.current=!1,L()):e||(I.current=!0,"codex"===t?fetch("/api/oauth/codex/stop-proxy").catch(()=>{}):"xai"===t&&fetch("/api/oauth/xai/stop-proxy").catch(()=>{}))},[e,t,L]),(0,a.useEffect)(()=>{let e=p?.codexServerSide?"codex":p?.xaiServerSide?"xai":null;if(!e||!p?.state||E.current)return;let t=!1,s=0,r=async()=>{if(!t&&!E.current){s+=1;try{let s=await fetch(`/api/oauth/${e}/poll-status?state=${encodeURIComponent(p.state)}`),r=await s.json();if(t||E.current)return;if("done"===r.status){E.current=!0,x("success"),l?.();return}if("error"===r.status){E.current=!0,j(r.error||"Authentication failed"),x("error");return}}catch{}if(s>=200){E.current=!0,j("Authentication timeout"),x("error");return}setTimeout(r,1500)}};return setTimeout(r,1500),()=>{t=!0}},[p,l]),(0,a.useEffect)(()=>{let e;if(!p)return;E.current=!1;let t=async e=>{if(E.current)return;let{code:t,state:s,error:r,errorDescription:a}=e;if(r){E.current=!0,j(a||r),x("error");return}t&&(E.current=!0,await M(t,s))},s=e=>{let s=e.origin.includes("localhost")||e.origin.includes("127.0.0.1"),r=e.origin===window.location.origin;(s||r)&&e.data?.type==="oauth_callback"&&t(e.data.data)};window.addEventListener("message",s);try{(e=new BroadcastChannel("oauth_callback")).onmessage=e=>t(e.data)}catch(e){console.log("BroadcastChannel not supported")}let r=e=>{if("oauth_callback"===e.key&&e.newValue)try{let s=JSON.parse(e.newValue);t(s),localStorage.removeItem("oauth_callback")}catch(e){console.log("Failed to parse localStorage data")}};window.addEventListener("storage",r);try{let e=localStorage.getItem("oauth_callback");if(e){let s=JSON.parse(e);s.timestamp&&Date.now()-s.timestamp<3e4&&t(s),localStorage.removeItem("oauth_callback")}}catch{}return()=>{window.removeEventListener("message",s),window.removeEventListener("storage",r),e&&e.close()}},[p,M]);let q=async()=>{try{j(null);let e=b.trim();if(e.startsWith("eyJ")&&e.includes("."))return void await M(e,null);if("xai"===t&&e&&!e.includes("://")&&!e.includes("?")&&!e.includes("code="))return void await _(e);if("kimchi"===t&&e&&!e.includes("://")&&!e.includes("?"))return void await M(e,null);let s=new URL(e),r=s.searchParams.get("code"),a=s.searchParams.get("token"),l=s.searchParams.get("state"),n=s.searchParams.get("error");if(n)throw Error(s.searchParams.get("error_description")||n);if(!r&&!a)throw Error("xai"===t?"Paste the callback URL or copied xAI code":"kimchi"===t?"No Kimchi token found in URL":"No authorization code found in URL");await M(a||r,l)}catch(e){j(e.message),x("error")}},U=(0,a.useCallback)(()=>{"codex"===t?fetch("/api/oauth/codex/stop-proxy").catch(()=>{}):"xai"===t&&fetch("/api/oauth/xai/stop-proxy").catch(()=>{}),n()},[n,t]);if(!t||!s)return null;let F="xai"===t,D="kimchi"===t,W=N?.verification_uri_complete||N?.verification_uri||"",B=F?"Connect Grok Build OAuth":`Connect ${s.name}`,K=F?"http://127.0.0.1:56121/callback?code=... or copied code":D?`${O.replace("code=...","token=...")} or copied token`:O;return(0,r.jsx)(i.aF,{isOpen:e,title:B,onClose:U,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[("waiting"===u||"input"===u)&&!v&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border border-border rounded-lg bg-sidebar/50",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-base text-primary animate-spin",children:"progress_activity"}),(0,r.jsx)("span",{className:"text-sm",children:F?"Waiting for Grok Build OAuth…":"Waiting for popup authorization…"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3 my-1",children:[(0,r.jsx)("div",{className:"flex-1 h-px bg-border"}),(0,r.jsx)("span",{className:"text-xs text-text-muted uppercase tracking-wider",children:"Or paste callback URL manually"}),(0,r.jsx)("div",{className:"flex-1 h-px bg-border"})]}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-sm font-medium mb-2",children:["Step 1: Open this ",F?"Grok Build OAuth URL":"URL"," in your browser"]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.pd,{value:p?.authUrl||"",readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(i.$n,{variant:"secondary",icon:"auth_url"===T?"check":"content_copy",onClick:()=>$(p?.authUrl,"auth_url"),disabled:!p?.authUrl,children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("p",{className:"text-sm font-medium mb-2",children:["Step 2: Paste the ","xai"===t?"callback URL or copied code":"kimchi"===t?"callback URL or token":"callback URL"," here"]}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"xai"===t?"If xAI shows a code instead of redirecting, paste that code here.":"kimchi"===t?"After authorization, paste the callback URL (with token=…) or the raw Kimchi token.":"After authorization, copy the full URL from your browser."}),(0,r.jsx)(i.pd,{value:b,onChange:e=>f(e.target.value),placeholder:K,className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:q,fullWidth:!0,disabled:!b,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:U,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"waiting"===u&&v&&N&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"text-center py-4",children:[(0,r.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Visit the login URL below and authorize:"}),(0,r.jsxs)("div",{className:"bg-sidebar p-4 rounded-lg mb-4",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Login URL"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("code",{className:"flex-1 text-sm break-all",children:W}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"login_url"===T?"check":"content_copy",onClick:()=>$(W,"login_url"),disabled:!W}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"open_in_new",onClick:()=>window.open(W,"_blank","noopener,noreferrer"),disabled:!W,children:"Open"})]})]}),(0,r.jsxs)("div",{className:"bg-primary/10 p-4 rounded-lg",children:[(0,r.jsx)("p",{className:"text-xs text-text-muted mb-1",children:"Your Code"}),(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,r.jsx)("p",{className:"text-2xl font-mono font-bold text-primary",children:N.user_code}),(0,r.jsx)(i.$n,{size:"sm",variant:"ghost",icon:"user_code"===T?"check":"content_copy",onClick:()=>$(N.user_code,"user_code")})]})]})]}),k&&(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-text-muted",children:[(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin",children:"progress_activity"}),"Waiting for authorization..."]})]}),"success"===u&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your ",s.name," account has been connected."]}),(0,r.jsx)(i.$n,{onClick:U,fullWidth:!0,children:"Done"})]}),"error"===u&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:g}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:L,variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(i.$n,{onClick:U,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}d.propTypes={isOpen:n().bool.isRequired,provider:n().string,providerInfo:n().shape({name:n().string}),onSuccess:n().func,onClose:n().func.isRequired,oauthMeta:n().object,idcConfig:n().shape({startUrl:n().string,region:n().string})}},91450:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(14051),l=s.n(a),n=s(38587);function i({children:e}){return(0,r.jsxs)("div",{className:"min-h-screen flex flex-col relative bg-bg transition-colors duration-500 overflow-x-hidden selection:bg-primary/20 selection:text-primary",children:[(0,r.jsx)("div",{className:"fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-primary/5 dark:bg-primary/5 rounded-full blur-[100px] pointer-events-none z-0"}),(0,r.jsx)("div",{className:"fixed bottom-0 right-0 w-[600px] h-[600px] bg-orange-200/20 dark:bg-orange-900/10 rounded-full blur-[120px] pointer-events-none z-0 translate-y-1/3 translate-x-1/3"}),(0,r.jsx)("div",{className:"absolute top-6 right-6 z-20",children:(0,r.jsx)(n.default,{variant:"card"})}),(0,r.jsx)("main",{className:"flex-1 flex flex-col items-center justify-center p-4 sm:p-6 z-10 w-full h-full",children:e})]})}i.propTypes={children:l().node.isRequired}},92173:(e,t,s)=>{s.d(t,{default:()=>c});var r=s(95155),a=s(98500),l=s.n(a),n=s(90620);let i=[{label:"Features",href:"#features"},{label:"Pricing",href:"#pricing"},{label:"Changelog",href:"#"}],o=[{label:"Documentation",href:"#"},{label:"API Reference",href:"#"},{label:"Help Center",href:"#"}],d=[{label:"About",href:"#"},{label:"Blog",href:"#"},{label:"Contact",href:"#"}];function c(){return(0,r.jsx)("footer",{className:"bg-bg border-t border-border pt-16 pb-12",children:(0,r.jsxs)("div",{className:"container mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-10 mb-12",children:[(0,r.jsxs)("div",{className:"col-span-2 lg:col-span-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-6",children:[(0,r.jsx)("div",{className:"size-6 text-primary",children:(0,r.jsx)("svg",{className:"w-full h-full",fill:"currentColor",viewBox:"0 0 48 48",children:(0,r.jsx)("path",{clipRule:"evenodd",d:"M12.0799 24L4 19.2479L9.95537 8.75216L18.04 13.4961L18.0446 4H29.9554L29.96 13.4961L38.0446 8.75216L44 19.2479L35.92 24L44 28.7521L38.0446 39.2479L29.96 34.5039L29.9554 44H18.0446L18.04 34.5039L9.95537 39.2479L4 28.7521L12.0799 24Z",fillRule:"evenodd"})})}),(0,r.jsx)("span",{className:"text-xl font-bold text-text-main",children:n.vQ.name})]}),(0,r.jsx)("p",{className:"text-text-muted mb-6 max-w-sm font-light",children:"The unified interface for modern AI infrastructure. Secure, observable, and scalable."}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"Twitter",children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"})})}),(0,r.jsx)("a",{href:"#",className:"text-gray-400 hover:text-primary transition-colors","aria-label":"GitHub",children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0 0 22 12.017C22 6.484 17.522 2 12 2z"})})})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Product"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:i.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Resources"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:o.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-text-main mb-4",children:"Company"}),(0,r.jsx)("ul",{className:"flex flex-col gap-3 text-sm text-text-muted font-light",children:d.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(l(),{href:e.href,className:"hover:text-primary transition-colors",children:e.label})},e.label))})]})]}),(0,r.jsxs)("div",{className:"border-t border-border pt-8 flex flex-col md:flex-row justify-between items-center gap-4",children:[(0,r.jsxs)("p",{className:"text-sm text-text-muted",children:["\xa9 ",new Date().getFullYear()," ",n.vQ.name," Inc. All rights reserved."]}),(0,r.jsxs)("div",{className:"flex gap-6 text-sm text-text-muted",children:[(0,r.jsx)(l(),{href:"#",className:"hover:text-primary transition-colors",children:"Privacy Policy"}),(0,r.jsx)(l(),{href:"#",className:"hover:text-primary transition-colors",children:"Terms of Service"})]})]})]})})}},92542:(e,t,s)=>{s.d(t,{default:()=>i});var r=s(95155),a=s(31474);let l={primary:"bg-brand-500 hover:bg-brand-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",secondary:"bg-surface-2 hover:bg-surface-3 text-text-main border border-border disabled:opacity-50",outline:"border border-border text-text-main hover:bg-surface-2 hover:border-brand-500/40",ghost:"text-text-muted hover:bg-surface-2 hover:text-text-main",danger:"bg-red-500 hover:bg-red-600 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted",success:"bg-green-600 hover:bg-green-700 text-white shadow-sm disabled:bg-surface-3 disabled:text-text-muted"},n={sm:"h-7 px-3 text-xs rounded-[8px]",md:"h-9 px-4 text-sm rounded-[10px]",lg:"h-11 px-6 text-sm rounded-[10px]"};function i({children:e,variant:t="primary",size:s="md",icon:o,iconRight:d,disabled:c=!1,loading:m=!1,fullWidth:u=!1,className:x,...p}){return(0,r.jsxs)("button",{className:(0,a.cn)("inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer","active:scale-[0.97] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100",l[t],n[s],u&&"w-full",x),disabled:c||m,...p,children:[m?(0,r.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}):o?(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:o}):null,e,d&&!m&&(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:d})]})}},92622:(e,t,s)=>{s.d(t,{default:()=>y});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(98500),o=s.n(i),d=s(73321),c=s(31474),m=s(90620),u=s(52679),x=s(11059),p=s(92542),h=s(81127);let b=["embedding","image","tts","stt"],f="/dashboard/media-providers/web",g=[{href:"/dashboard/endpoint",label:"Endpoint",icon:"api"},{href:"/dashboard/providers",label:"Providers",icon:"dns"},{href:"/dashboard/combos",label:"Combos",icon:"layers"},{href:"/dashboard/usage",label:"Usage",icon:"bar_chart"},{href:"/dashboard/quota",label:"Quota Tracker",icon:"data_usage"},{href:"/dashboard/token-saver",label:"Token Saver",icon:"savings"},{href:"/dashboard/mitm",label:"MITM",icon:"security"},{href:"/dashboard/automation",label:"Automation",icon:"automation"},{href:"/dashboard/cli-tools",label:"CLI Tools",icon:"terminal"}],j=[{href:"/dashboard/console-log",label:"Console Log",icon:"terminal"},{href:"/dashboard/translator",label:"Translator",icon:"translate"}],v=[{href:"/dashboard/proxy-pools",label:"Proxy Pools",icon:"lan"},{href:"/dashboard/context",label:"Context Inject",icon:"psychology"}];function y({onClose:e}){let t=(0,d.usePathname)(),[s,l]=(0,a.useState)(!1),[n,i]=(0,a.useState)(!1),[w,k]=(0,a.useState)(null),[C,S]=(0,a.useState)(!1),[I,T]=(0,a.useState)(!1),[$,A]=(0,a.useState)(0),[P,O]=(0,a.useState)(!1),{copied:R,copy:E}=(0,x.C)(2e3),M=m.h0.installCmdLatest;(0,a.useEffect)(()=>{fetch("/api/settings").then(e=>e.json()).then(e=>{e.enableTranslator&&O(!0)}).catch(()=>{})},[]),(0,a.useEffect)(()=>{fetch("/api/version").then(e=>e.json()).then(e=>{e.hasUpdate&&k(e)}).catch(()=>{})},[]);let _=e=>"/dashboard/endpoint"===e?"/dashboard"===t||t.startsWith("/dashboard/endpoint"):t.startsWith(e),z=async()=>{try{await navigator.clipboard.writeText(M)}catch{}E(M);let e=m.h0.shutdownCountdownSec;A(e);let t=setInterval(()=>{A(e-=1),e<=0&&(clearInterval(t),fetch("/api/version/shutdown",{method:"POST"}).catch(()=>{}),i(!0))},1e3)};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("aside",{className:"flex w-72 flex-col border-r border-border-subtle bg-vibrancy backdrop-blur-xl transition-colors duration-300 min-h-full",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-6 pt-5 pb-2",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),(0,r.jsxs)("div",{className:"px-6 py-4 flex flex-col gap-2",children:[(0,r.jsxs)(o(),{href:"/dashboard",className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-9 rounded-[10px] bg-gradient-to-br from-brand-500 to-brand-700 shadow-[var(--shadow-warm)]",children:(0,r.jsxs)("svg",{viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-5 h-5",children:[(0,r.jsx)("path",{d:"M9.5 11H22.5L9.5 21H22.5",fill:"none",stroke:"white",strokeWidth:"2.8",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("circle",{cx:"9.5",cy:"11",r:"2.5",fill:"white"}),(0,r.jsx)("circle",{cx:"22.5",cy:"21",r:"2.5",fill:"white"})]})}),(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("h1",{className:"text-lg font-semibold tracking-tight text-text-main",children:m.vQ.name}),(0,r.jsxs)("span",{className:"text-xs text-text-muted",children:["v",m.vQ.version]})]})]}),w&&(0,r.jsxs)("div",{className:"flex flex-col gap-1.5 rounded p-1 -m-1",children:[(0,r.jsxs)("span",{className:"text-xs font-semibold text-green-600 dark:text-amber-500",children:["↑ New version available: v",w.latestVersion]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("button",{onClick:()=>S(!0),className:"px-2 py-1 rounded bg-green-600 hover:bg-green-700 dark:bg-amber-500 dark:hover:bg-amber-600 text-white text-[11px] font-semibold transition-colors cursor-pointer",children:"Update now"}),(0,r.jsx)("button",{onClick:()=>E(M),title:"Copy install command",className:"flex-1 text-left hover:opacity-80 transition-opacity cursor-pointer min-w-0",children:(0,r.jsx)("code",{className:"block text-[10px] text-green-600/80 dark:text-amber-400/70 font-mono truncate",children:R?"✓ copied!":M})})]})]})]}),(0,r.jsxs)("nav",{className:"flex-1 px-4 py-2 space-y-0.5 overflow-y-auto custom-scrollbar",children:[g.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",_(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",_(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-[13px] font-medium",children:t.label})]},t.href)),(0,r.jsxs)("div",{className:"pt-3 mt-2 space-y-0.5",children:[(0,r.jsx)("p",{className:"px-4 text-xs font-semibold text-text-muted/60 uppercase tracking-wider mb-2",children:"System"}),(0,r.jsxs)("button",{onClick:()=>l(e=>!e),className:(0,c.cn)("w-full flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",t.startsWith("/dashboard/media-providers")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"perm_media"}),(0,r.jsx)("span",{className:"text-[13px] font-medium flex-1 text-left",children:"Media Providers"}),(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[14px] transition-transform",s&&"rotate-180"),children:"expand_more"})]}),s&&(0,r.jsxs)("div",{className:"pl-4",children:[u.rj.filter(e=>b.includes(e.id)).map(s=>(0,r.jsxs)(o(),{href:`/dashboard/media-providers/${s.id}`,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",t.startsWith(`/dashboard/media-providers/${s.id}`)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:s.icon}),(0,r.jsx)("span",{className:"text-sm",children:s.label})]},s.id)),(0,r.jsxs)(o(),{href:f,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-4 py-1 rounded-lg transition-all group",t.startsWith(f)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"travel_explore"}),(0,r.jsx)("span",{className:"text-sm",children:"Web Fetch & Search"})]},"web")]}),v.map(t=>(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",_(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",_(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-[13px] font-medium",children:t.label})]},t.href)),j.map(t=>"/dashboard/translator"!==t.href||P?(0,r.jsxs)(o(),{href:t.href,onClick:e,className:(0,c.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",_(t.href)?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",_(t.href)?"fill-1":"group-hover:text-primary transition-colors"),children:t.icon}),(0,r.jsx)("span",{className:"text-[13px] font-medium",children:t.label})]},t.href):null),(0,r.jsxs)(o(),{href:"/dashboard/profile",onClick:e,className:(0,c.cn)("flex items-center gap-3 px-3 py-1 rounded-lg transition-all group",_("/dashboard/profile")?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"),children:[(0,r.jsx)("span",{className:(0,c.cn)("material-symbols-outlined text-[18px]",_("/dashboard/profile")?"fill-1":"group-hover:text-primary transition-colors"),children:"settings"}),(0,r.jsx)("span",{className:"text-[13px] font-medium",children:"Settings"})]})]})]})]}),(0,r.jsx)(h.ConfirmModal,{isOpen:C,onClose:()=>S(!1),onConfirm:()=>{S(!1),T(!0)},title:"Update ZevaiRouter",message:`Show install command for v${w?.latestVersion||""}? You can copy it and shutdown to install manually.`,confirmText:"Show Command",cancelText:"Cancel",variant:"primary"}),(n||I)&&(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm p-6",children:I?(0,r.jsx)(N,{latestVersion:w?.latestVersion,installCmd:M,copied:R,onCopyAndShutdown:z,onCancel:()=>{T(!1),A(0)},countdown:$,isDisconnected:n}):(0,r.jsxs)("div",{className:"text-center p-8",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-16 rounded-full bg-red-500/20 text-red-500 mx-auto mb-4",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"power_off"})}),(0,r.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Server Disconnected"}),(0,r.jsx)("p",{className:"text-text-muted mb-6",children:"The proxy server has been stopped."}),(0,r.jsx)(p.default,{variant:"secondary",onClick:()=>globalThis.location.reload(),children:"Reload Page"})]})})]})}function N({latestVersion:e,installCmd:t,copied:s,onCopyAndShutdown:a,onCancel:l,countdown:n,isDisconnected:i}){let o=n>0;return(0,r.jsxs)("div",{className:"w-full max-w-lg rounded-xl bg-neutral-900/95 border border-white/10 p-6 text-white",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,r.jsx)("div",{className:"flex items-center justify-center size-11 rounded-full bg-amber-500/20 text-amber-400",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-[24px]",children:"content_copy"})}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("h2",{className:"text-lg font-semibold",children:["Update ZevaiRouter",e?` to v${e}`:""]}),(0,r.jsx)("p",{className:"text-xs text-white/60",children:i?"Server stopped. Paste the command into a terminal to install.":o?`Command copied. Server will stop in ${n}s...`:"Click the button below to copy the install command and shutdown."})]})]}),(0,r.jsx)("p",{className:"text-sm text-white/80 mb-2",children:"Install command:"}),(0,r.jsx)("div",{className:"w-full px-3 py-2 rounded bg-white/5 mb-4",children:(0,r.jsx)("code",{className:"text-xs font-mono text-amber-400 break-all",children:t})}),(0,r.jsxs)("ol",{className:"text-xs text-white/70 space-y-1 list-decimal list-inside mb-4",children:[(0,r.jsxs)("li",{children:["Click ",(0,r.jsx)("strong",{children:"Copy & Shutdown"})," below."]}),(0,r.jsx)("li",{children:"Paste the command into your terminal and press Enter."}),(0,r.jsxs)("li",{children:["Run ",(0,r.jsx)("code",{className:"px-1 rounded bg-white/10 text-green-400",children:"zevai"})," again after install."]})]}),i?(0,r.jsx)(p.default,{variant:"secondary",fullWidth:!0,onClick:()=>globalThis.location.reload(),children:"Reload Page"}):(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(p.default,{variant:"secondary",onClick:l,disabled:o,children:"Cancel"}),(0,r.jsx)(p.default,{variant:"primary",fullWidth:!0,onClick:a,disabled:o,children:s?"✓ Copied — shutting down...":o?`Shutting down in ${n}s`:"Copy & Shutdown"})]})]})}y.propTypes={onClose:n().func},N.propTypes={latestVersion:n().string,installCmd:n().string.isRequired,copied:n().bool,onCopyAndShutdown:n().func.isRequired,onCancel:n().func.isRequired,countdown:n().number,isDisconnected:n().bool}},94230:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497),o=s(11059);function d({isOpen:e,provider:t,onSuccess:s,onClose:l}){let[n,c]=(0,a.useState)("loading"),[m,u]=(0,a.useState)(""),[x,p]=(0,a.useState)(null),[h,b]=(0,a.useState)(""),[f,g]=(0,a.useState)(null),{copied:j,copy:v}=(0,o.C)();(0,a.useEffect)(()=>{e&&t&&(async()=>{try{g(null),c("loading");let e=await fetch(`/api/oauth/kiro/social-authorize?provider=${t}`),s=await e.json();if(!e.ok)throw Error(s.error);p(s),u(s.authUrl),c("input"),window.open(s.authUrl,"_blank")}catch(e){g(e.message),c("error")}})()},[e,t]);let y=async()=>{try{let e;g(null);try{e=new URL(h)}catch(e){throw Error("Invalid callback URL format")}let r=e.searchParams.get("code");e.searchParams.get("state");let a=e.searchParams.get("error");if(a)throw Error(e.searchParams.get("error_description")||a);if(!r)throw Error("No authorization code found in URL");let l=await fetch("/api/oauth/kiro/social-exchange",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:r,codeVerifier:x.codeVerifier,provider:t})}),n=await l.json();if(!l.ok)throw Error(n.error);c("success"),s?.()}catch(e){g(e.message),c("error")}},N="google"===t?"Google":"GitHub";return(0,r.jsx)(i.aF,{isOpen:e,title:`Connect Kiro via ${N}`,onClose:l,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:["loading"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Initializing..."}),(0,r.jsxs)("p",{className:"text-sm text-text-muted",children:["Setting up ",N," authentication"]})]}),"input"===n&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 1: Open this URL in your browser"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.pd,{value:m,readOnly:!0,className:"flex-1 font-mono text-xs"}),(0,r.jsx)(i.$n,{variant:"secondary",icon:"auth_url"===j?"check":"content_copy",onClick:()=>v(m,"auth_url"),children:"Copy"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium mb-2",children:"Step 2: Paste the callback URL here"}),(0,r.jsx)("p",{className:"text-xs text-text-muted mb-2",children:"After authorization, copy the full URL from your browser address bar."}),(0,r.jsx)(i.pd,{value:h,onChange:e=>b(e.target.value),placeholder:"kiro://kiro.kiroAgent/authenticate-success?code=...",className:"font-mono text-xs"})]})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:y,fullWidth:!0,disabled:!h,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:l,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),"success"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-green-600",children:"check_circle"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connected Successfully!"}),(0,r.jsxs)("p",{className:"text-sm text-text-muted mb-4",children:["Your Kiro account via ",N," has been connected."]}),(0,r.jsx)(i.$n,{onClick:l,fullWidth:!0,children:"Done"})]}),"error"===n&&(0,r.jsxs)("div",{className:"text-center py-6",children:[(0,r.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center",children:(0,r.jsx)("span",{className:"material-symbols-outlined text-3xl text-red-600",children:"error"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Connection Failed"}),(0,r.jsx)("p",{className:"text-sm text-red-600 mb-4",children:f}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:()=>c("input"),variant:"secondary",fullWidth:!0,children:"Try Again"}),(0,r.jsx)(i.$n,{onClick:l,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})]})})}d.propTypes={isOpen:n().bool.isRequired,provider:n().oneOf(["google","github"]).isRequired,onSuccess:n().func,onClose:n().func.isRequired}},95088:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497);let o="https://gitlab.com";function d({isOpen:e,providerInfo:t,onSuccess:s,onClose:l}){let n,[c,m]=(0,a.useState)(null),[u,x]=(0,a.useState)(o),[p,h]=(0,a.useState)(""),[b,f]=(0,a.useState)(""),[g,j]=(0,a.useState)(""),[v,y]=(0,a.useState)(!1),[N,w]=(0,a.useState)(null),[k,C]=(0,a.useState)(!1),[S,I]=(0,a.useState)(null),T=()=>{m(null),x(o),h(""),f(""),j(""),w(null),y(!1),C(!1),I(null),l()},$=async()=>{if(!g.trim())return void w("Personal Access Token is required");y(!0),w(null);try{let e=await fetch("/api/oauth/gitlab/pat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:g.trim(),baseUrl:u.trim()||o})}),t=await e.json();if(!e.ok)throw Error(t.error||"Authentication failed");s?.(),T()}catch(e){w(e.message)}finally{y(!1)}};return e?k&&S?(0,r.jsx)(i.LF,{isOpen:!0,provider:"gitlab",providerInfo:t,oauthMeta:S,onSuccess:()=>{s?.(),T()},onClose:()=>{C(!1),I(null)}}):(0,r.jsx)(i.aF,{isOpen:e,title:"Connect GitLab Duo",onClose:T,size:"lg",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[!c&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"text-sm text-text-muted",children:"Choose how to authenticate with GitLab Duo:"}),(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,r.jsxs)("button",{onClick:()=>m("oauth"),className:"flex flex-col items-center gap-2 p-4 rounded-lg border border-border hover:border-primary hover:bg-primary/5 transition-colors text-left",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-2xl text-primary",children:"lock_open"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:"OAuth App"}),(0,r.jsx)("p",{className:"text-xs text-text-muted",children:"Use a GitLab OAuth application"})]})]}),(0,r.jsxs)("button",{onClick:()=>m("pat"),className:"flex flex-col items-center gap-2 p-4 rounded-lg border border-border hover:border-primary hover:bg-primary/5 transition-colors text-left",children:[(0,r.jsx)("span",{className:"material-symbols-outlined text-2xl text-primary",children:"key"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:"Personal Access Token"}),(0,r.jsx)("p",{className:"text-xs text-text-muted",children:"Use a GitLab PAT with api scope"})]})]})]})]}),"oauth"===c&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("p",{className:"text-xs text-text-muted",children:["Create an OAuth app at"," ",(0,r.jsx)("a",{href:`${u.trim()||o}/-/profile/applications`,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"GitLab Applications"})," ","with redirect URI"," ",(0,r.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:(n=window.location.port||("https:"===window.location.protocol?"443":"80"),`http://localhost:${n}/callback`)})]}),(0,r.jsx)(i.pd,{label:"GitLab Base URL",value:u,onChange:e=>x(e.target.value),placeholder:o}),(0,r.jsx)(i.pd,{label:"Client ID",value:p,onChange:e=>h(e.target.value),placeholder:"Your OAuth application client ID"}),(0,r.jsx)(i.pd,{label:"Client Secret (optional for PKCE)",value:b,onChange:e=>f(e.target.value),placeholder:"Leave empty for public PKCE app"}),N&&(0,r.jsx)("p",{className:"text-sm text-red-500",children:N}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:()=>{p.trim()?(w(null),I({baseUrl:u.trim()||o,clientId:p.trim(),clientSecret:b.trim()}),C(!0)):w("Client ID is required")},fullWidth:!0,disabled:!p.trim(),children:"Authorize"}),(0,r.jsx)(i.$n,{onClick:()=>{m(null),w(null)},variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"pat"===c&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("p",{className:"text-xs text-text-muted",children:["Create a PAT at"," ",(0,r.jsx)("a",{href:`${u.trim()||o}/-/user_settings/personal_access_tokens`,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"GitLab Access Tokens"})," ","with scopes: ",(0,r.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"api"}),","," ",(0,r.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"read_user"}),", and"," ",(0,r.jsx)("code",{className:"bg-sidebar px-1 rounded text-xs",children:"ai_features"}),"."]}),(0,r.jsx)(i.pd,{label:"GitLab Base URL",value:u,onChange:e=>x(e.target.value),placeholder:o}),(0,r.jsx)(i.pd,{label:"Personal Access Token",value:g,onChange:e=>j(e.target.value),placeholder:"glpat-xxxxxxxxxxxxxxxxxxxx",type:"password"}),N&&(0,r.jsx)("p",{className:"text-sm text-red-500",children:N}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:$,fullWidth:!0,disabled:!g.trim()||v,loading:v,children:"Connect"}),(0,r.jsx)(i.$n,{onClick:()=>{m(null),w(null)},variant:"ghost",fullWidth:!0,children:"Back"})]})]})]})}):null}d.propTypes={isOpen:n().bool.isRequired,providerInfo:n().shape({name:n().string}),onSuccess:n().func,onClose:n().func.isRequired}},96748:(e,t,s)=>{s.d(t,{default:()=>d});var r=s(95155),a=s(12115),l=s(14051),n=s.n(l),i=s(35497);let o="https://api.openai.com/v1";function d({isOpen:e,onClose:t,onCreated:s,onSaved:l,node:n}){let c=!!n,[m,u]=(0,a.useState)({name:"",prefix:"",baseUrl:o}),[x,p]=(0,a.useState)(!1),[h,b]=(0,a.useState)(""),[f,g]=(0,a.useState)(""),[j,v]=(0,a.useState)(!1),[y,N]=(0,a.useState)(null);(0,a.useEffect)(()=>{e&&(N(null),b(""),g(""),c?u({name:n.name||"",prefix:n.prefix||"",baseUrl:n.baseUrl||o}):u({name:"",prefix:"",baseUrl:o}))},[e,c,n]);let w=async()=>{if(m.name.trim()&&m.prefix.trim()&&m.baseUrl.trim()){p(!0);try{let e=c?`/api/provider-nodes/${n.id}`:"/api/provider-nodes",t=c?"PUT":"POST",r={name:m.name,prefix:m.prefix,baseUrl:m.baseUrl};c||(r.type="custom-embedding");let a=await fetch(e,{method:t,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),i=await a.json();a.ok&&(c?l?.(i.node):s?.(i.node))}catch(e){console.log("Error saving custom embedding node:",e)}finally{p(!1)}}},k=async()=>{v(!0);try{let e=await fetch("/api/provider-nodes/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseUrl:m.baseUrl,apiKey:h,type:"custom-embedding",modelId:f.trim()||void 0})}),t=await e.json();N(t)}catch{N({valid:!1,error:"Network error"})}finally{v(!1)}};return(0,r.jsx)(i.aF,{isOpen:e,title:c?"Edit Custom Embedding":"Add Custom Embedding",onClose:t,children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)(i.pd,{label:"Name",value:m.name,onChange:e=>u({...m,name:e.target.value}),placeholder:"Voyage AI",hint:"Required. A friendly label for this embedding provider."}),(0,r.jsx)(i.pd,{label:"Prefix",value:m.prefix,onChange:e=>u({...m,prefix:e.target.value}),placeholder:"voyage",hint:"Required. Used as the provider prefix for model IDs (e.g. voyage/voyage-3)."}),(0,r.jsx)(i.pd,{label:"Base URL",value:m.baseUrl,onChange:e=>u({...m,baseUrl:e.target.value}),placeholder:"https://api.voyageai.com/v1",hint:"Most embedding APIs are OpenAI-compatible: Voyage, Cohere, Jina, Mistral, Together..."}),(0,r.jsx)(i.pd,{label:"API Key (for Check)",type:"password",value:h,onChange:e=>b(e.target.value)}),(0,r.jsx)(i.pd,{label:"Model ID (for Check)",value:f,onChange:e=>g(e.target.value),placeholder:"e.g. voyage-3, embed-english-v3.0, text-embedding-3-small",hint:"Required for validation. Will send a test embeddings request."}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(i.$n,{onClick:k,disabled:!h||!f.trim()||j||!m.baseUrl.trim(),variant:"secondary",children:j?"Checking...":"Check"}),(()=>{if(!y)return null;let{valid:e,error:t,dimensions:s}=y;return e?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Ex,{variant:"success",children:"Valid"}),s&&(0,r.jsxs)("span",{className:"text-sm text-text-muted",children:[s," dims"]})]}):(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(i.Ex,{variant:"error",children:"Invalid"}),t&&(0,r.jsx)("span",{className:"text-sm text-red-500",children:t})]})})()]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(i.$n,{onClick:w,fullWidth:!0,disabled:!m.name.trim()||!m.prefix.trim()||!m.baseUrl.trim()||x,children:x?c?"Saving...":"Creating...":c?"Save":"Create"}),(0,r.jsx)(i.$n,{onClick:t,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})})}d.propTypes={isOpen:n().bool.isRequired,onClose:n().func.isRequired,onCreated:n().func,onSaved:n().func,node:n().shape({id:n().string,name:n().string,prefix:n().string,baseUrl:n().string})}},97677:(e,t,s)=>{s.d(t,{default:()=>a});var r=s(95155);function a({text:e,children:t,position:s="top",color:l}){let n=l?"":"bg-gray-900";return(0,r.jsxs)("div",{className:"relative inline-flex group",children:[t,(0,r.jsx)("div",{className:`pointer-events-none absolute ${{top:"bottom-full left-1/2 -translate-x-1/2 mb-1.5",bottom:"top-full left-1/2 -translate-x-1/2 mt-1.5",left:"right-full top-1/2 -translate-y-1/2 mr-1.5",right:"left-full top-1/2 -translate-y-1/2 ml-1.5"}[s]} z-50 w-max max-w-56 rounded px-2 py-1 text-[11px] leading-snug ${n} text-white opacity-0 group-hover:opacity-100 transition-opacity duration-150 whitespace-normal`,style:l?{backgroundColor:l}:{},children:e})]})}},98542:(e,t,s)=>{s.d(t,{default:()=>l});var r=s(95155),a=s(31474);function l({checked:e=!1,onChange:t,label:s,description:n,disabled:i=!1,size:o="md",className:d}){let c={sm:{track:"w-8 h-4",thumb:"size-3",translate:"translate-x-4"},md:{track:"w-11 h-6",thumb:"size-5",translate:"translate-x-5"},lg:{track:"w-14 h-7",thumb:"size-6",translate:"translate-x-7"}};return(0,r.jsxs)("div",{className:(0,a.cn)("flex items-center gap-3",i&&"opacity-50 cursor-not-allowed",d),children:[(0,r.jsx)("button",{type:"button",role:"switch","aria-checked":e,disabled:i,onClick:()=>{!i&&t&&t(!e)},className:(0,a.cn)("relative inline-flex shrink-0 cursor-pointer rounded-full","transition-colors duration-200 ease-in-out","focus:outline-none focus:ring-2 focus:ring-brand-500/30",e?"bg-brand-500":"bg-surface-3",c[o].track,i&&"cursor-not-allowed"),children:(0,r.jsx)("span",{className:(0,a.cn)("pointer-events-none inline-block rounded-full bg-white shadow-sm","transform transition duration-200 ease-in-out",e?c[o].translate:"translate-x-0.5",c[o].thumb,"mt-0.5")})}),(s||n)&&(0,r.jsxs)("div",{className:"flex flex-col",children:[s&&(0,r.jsx)("span",{className:"text-sm font-medium text-text-main",children:s}),n&&(0,r.jsx)("span",{className:"text-xs text-text-muted",children:n})]})]})}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7414],{54742:(e,t,s)=>{Promise.resolve().then(s.bind(s,71470))},71470:(e,t,s)=>{"use strict";s.d(t,{default:()=>j});var a=s(95155),l=s(12115),r=s(21742),i=s(63346),d=s(28408),n=s(32539),o=s(59656),x=s(55433),c=s(40968),m=s(35497);let p=e=>e>=1e6?`${(e/1e6).toFixed(2)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e||0),h=[{id:"today",label:"Today"},{id:"yesterday",label:"Yesterday"},{id:"last7d",label:"7 days"},{id:"last30d",label:"30 days"},{id:"all",label:"All time"}],u={applied:"Prompt exceeded threshold",below_threshold:"Below size threshold",not_profitable:"Compression not profitable",below_min_chars:"Below minimum chars",below_min_tokens:"Below minimum tokens",unsupported_model:"Model not in allowlist",unsupported_format:"Non-Claude request format",timeout:"Compression timed out",transform_error:"Transform error",passthrough:"Passthrough",disabled:"Disabled",not_installed:"Not installed"};function g({label:e,value:t,sub:s,tone:l}){return(0,a.jsxs)(m.Zp,{className:"p-4",children:[(0,a.jsx)("p",{className:"text-xs text-text-muted uppercase tracking-wide",children:e}),(0,a.jsx)("p",{className:`text-xl font-semibold mt-1 ${l||""}`,children:t}),s&&(0,a.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:s})]})}function j(){let[e,t]=(0,l.useState)(null),[s,j]=(0,l.useState)(null),[b,f]=(0,l.useState)(null),[N,y]=(0,l.useState)(null),[v,w]=(0,l.useState)("last7d"),[k,S]=(0,l.useState)(!0),P=(0,l.useCallback)(async()=>{S(!0);try{let[e,s,a]=await Promise.all([fetch("/api/pxpipe/status",{headers:{"Cache-Control":"no-store"}}),fetch("/api/pxpipe/stats"),fetch("/api/pxpipe/logs?limit=50")]);t(await e.json()),f(await s.json()),y(await a.json());let l=await fetch("/api/pxpipe/health",{method:"POST"});j(await l.json())}catch{}finally{S(!1)}},[]);(0,l.useEffect)(()=>{P()},[P]);let E=b?.windows?.[v],$=e?e.installed?s?.healthy?"Healthy":e.running?"Running":"Stopped":"Not installed":"—";return(0,a.jsxs)("div",{className:"space-y-6 p-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-3",children:[(0,a.jsxs)("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-primary",children:"image"}),"PXPIPE Dashboard"]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("a",{href:"/dashboard/token-saver",className:"text-xs text-primary underline hover:opacity-80",children:"Token Saver settings"}),(0,a.jsx)(m.$n,{size:"sm",variant:"ghost",onClick:P,disabled:k,children:k?"Refreshing…":"Refresh"})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-3",children:[(0,a.jsx)(g,{label:"Status",value:$,tone:s?.healthy?"text-success":e?.installed?"text-warning":"text-text-muted",sub:e?.enabled?"Enabled in pipeline":"Disabled in pipeline"}),(0,a.jsx)(g,{label:"Version",value:e?.version?`v${e.version}`:"—",sub:"pxpipe-proxy"}),(0,a.jsx)(g,{label:"Uptime",value:(e=>{if(!e||e<=0)return"—";let t=Math.floor(e/6e4),s=Math.floor(t/60);return s>0?`${s}h${String(t%60).padStart(2,"0")}m`:`${t}m`})(e?.uptimeMs),sub:"module loaded"}),(0,a.jsx)(g,{label:"Requests",value:E?E.requests.toLocaleString():"—"}),(0,a.jsx)(g,{label:"Compressed",value:E?E.compressed.toLocaleString():"—",tone:"text-success"}),(0,a.jsx)(g,{label:"Bypassed",value:E?E.bypassed.toLocaleString():"—"})]}),(0,a.jsxs)(m.Zp,{className:"p-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-3 mb-4",children:[(0,a.jsx)("h3",{className:"font-medium",children:"Token savings (estimated)"}),(0,a.jsx)("div",{className:"flex items-center gap-1 rounded-lg border border-border bg-bg-subtle p-1",children:h.map(e=>(0,a.jsx)("button",{onClick:()=>w(e.id),className:`px-3 py-1 rounded-md text-xs font-medium transition-colors ${v===e.id?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:e.label},e.id))})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 text-center",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs text-text-muted",children:"Original tokens"}),(0,a.jsx)("p",{className:"text-lg font-semibold",children:E?p(E.tokensBeforeEst):"—"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs text-text-muted",children:"After PXPIPE"}),(0,a.jsx)("p",{className:"text-lg font-semibold",children:E?p(E.tokensAfterEst):"—"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs text-text-muted",children:"Saved"}),(0,a.jsx)("p",{className:"text-lg font-semibold text-success",children:E?p(E.tokensSavedEst):"—"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs text-text-muted",children:"Reduction"}),(0,a.jsx)("p",{className:"text-lg font-semibold text-success",children:E?`${E.savedPct}%`:"—"})]})]}),(0,a.jsxs)("p",{className:"text-xs text-text-muted mt-3",children:["Estimates from body size before/after imaging; billed usage per request (recorded on the Usage page) remains the ground truth. Images generated:"," ",E?E.imagesGenerated.toLocaleString():"—"," \xb7 avg compression time:"," ",E?`${E.avgCompressionMs}ms`:"—"," \xb7 errors: ",E?E.errors:"—"]})]}),(0,a.jsxs)(m.Zp,{className:"p-4",children:[(0,a.jsx)("h3",{className:"font-medium mb-3",children:"Tokens saved — last 30 days"}),b?.timeline?.some(e=>e.tokensSavedEst>0)?(0,a.jsx)(r.u,{width:"100%",height:220,children:(0,a.jsxs)(i.Q,{data:b.timeline,margin:{top:4,right:8,left:0,bottom:0},children:[(0,a.jsx)("defs",{children:(0,a.jsxs)("linearGradient",{id:"gradPxpipe",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,a.jsx)("stop",{offset:"5%",stopColor:"#10b981",stopOpacity:.25}),(0,a.jsx)("stop",{offset:"95%",stopColor:"#10b981",stopOpacity:0})]})}),(0,a.jsx)(d.d,{strokeDasharray:"3 3",strokeOpacity:.2}),(0,a.jsx)(n.W,{dataKey:"date",tick:{fontSize:11},tickFormatter:e=>e.slice(5)}),(0,a.jsx)(o.h,{tick:{fontSize:11},tickFormatter:p,width:48}),(0,a.jsx)(x.m,{formatter:e=>[p(e),"Tokens saved"],labelFormatter:e=>e}),(0,a.jsx)(c.Gk,{type:"monotone",dataKey:"tokensSavedEst",stroke:"#10b981",fill:"url(#gradPxpipe)",strokeWidth:2})]})}):(0,a.jsx)("div",{className:"h-32 flex items-center justify-center text-text-muted text-sm",children:"No savings recorded yet — enable PXPIPE in the Token Saver and route a large Claude-format request."})]}),(0,a.jsxs)(m.Zp,{className:"p-4",children:[(0,a.jsx)("h3",{className:"font-medium mb-3",children:"History"}),(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"text-left text-xs text-text-muted border-b border-border",children:[(0,a.jsx)("th",{className:"py-2 pr-3",children:"Time"}),(0,a.jsx)("th",{className:"py-2 pr-3",children:"Model"}),(0,a.jsx)("th",{className:"py-2 pr-3 text-right",children:"Original"}),(0,a.jsx)("th",{className:"py-2 pr-3 text-right",children:"Compressed"}),(0,a.jsx)("th",{className:"py-2 pr-3 text-right",children:"Saved"}),(0,a.jsx)("th",{className:"py-2 pr-3 text-right",children:"%"}),(0,a.jsx)("th",{className:"py-2 pr-3 text-right",children:"Duration"}),(0,a.jsx)("th",{className:"py-2",children:"Status"})]})}),(0,a.jsxs)("tbody",{children:[(b?.recent||[]).slice(0,50).map((e,t)=>(0,a.jsxs)("tr",{className:"border-b border-border/50",children:[(0,a.jsx)("td",{className:"py-1.5 pr-3 whitespace-nowrap text-text-muted",children:new Date(e.ts).toLocaleString()}),(0,a.jsx)("td",{className:"py-1.5 pr-3 font-mono text-xs",children:e.provider?`${e.provider}/${e.model}`:e.model||"—"}),(0,a.jsx)("td",{className:"py-1.5 pr-3 text-right font-mono text-xs",children:e.applied?p(e.tokensBeforeEst):"—"}),(0,a.jsx)("td",{className:"py-1.5 pr-3 text-right font-mono text-xs",children:e.applied?p(e.tokensAfterEst):"—"}),(0,a.jsx)("td",{className:"py-1.5 pr-3 text-right font-mono text-xs text-success",children:e.applied?p(e.tokensSavedEst):"—"}),(0,a.jsx)("td",{className:"py-1.5 pr-3 text-right font-mono text-xs",children:e.applied?`${e.savedPct}%`:"—"}),(0,a.jsx)("td",{className:"py-1.5 pr-3 text-right font-mono text-xs",children:null!=e.durationMs?`${e.durationMs}ms`:"—"}),(0,a.jsx)("td",{className:"py-1.5",children:(0,a.jsx)("span",{className:`text-xs px-2 py-0.5 rounded ${e.applied?"bg-success/15 text-success":"transform_error"===e.reason||"timeout"===e.reason?"bg-danger/15 text-danger":"bg-warning/15 text-warning"}`,title:e.detail||"",children:e.applied?"Compressed":u[e.reason]||e.reason})})]},`${e.ts}-${t}`)),(!b?.recent||0===b.recent.length)&&(0,a.jsx)("tr",{children:(0,a.jsx)("td",{colSpan:8,className:"py-6 text-center text-text-muted text-sm",children:"No PXPIPE activity yet"})})]})]})})]}),(0,a.jsxs)(m.Zp,{className:"p-4",id:"logs",children:[(0,a.jsx)("h3",{className:"font-medium mb-3",children:"PXPIPE Logs"}),N?.installLog?(0,a.jsx)("pre",{className:"rounded bg-black/5 dark:bg-white/5 p-3 text-xs font-mono overflow-x-auto max-h-64 overflow-y-auto whitespace-pre-wrap",children:N.installLog}):(0,a.jsx)("p",{className:"text-sm text-text-muted",children:"No install log yet."})]})]})}}},e=>{e.O(0,[2574,3862,4343,1321,5497,8441,3794,7358],()=>e(e.s=54742)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9839],{525:(e,t,a)=>{Promise.resolve().then(a.bind(a,70323))},70323:(e,t,a)=>{"use strict";a.d(t,{default:()=>x});var s=a(95155),l=a(12115),r=a(35497),n=a(11059),i=a(73006);let o=["zh-CN","zh-TW"],c=[{id:"lite",label:"Lite",desc:"Drop filler, keep grammar"},{id:"full",label:"Full",desc:"Drop articles, fragments OK"},{id:"ultra",label:"Ultra",desc:"Telegraphic, max compression"},{id:"wenyan-lite",label:"文 Lite",desc:"Classical Chinese, light compression",wenyan:!0},{id:"wenyan",label:"文 Full",desc:"Maximum 文言文, 80-90% reduction",wenyan:!0},{id:"wenyan-ultra",label:"文 Ultra",desc:"Extreme classical compression",wenyan:!0}],d=[{id:"lite",label:"Lite",desc:"Build asked, name lazier option"},{id:"full",label:"Full",desc:"Ladder enforced: stdlib/native first"},{id:"ultra",label:"Ultra",desc:"YAGNI extremist, deletion first"}];function x(){let[e,t]=(0,l.useState)(!0),[a,x]=(0,l.useState)(!1),[m,h]=(0,l.useState)("http://localhost:8787"),[p,u]=(0,l.useState)({installed:!1,running:!1,python:null,loading:!0}),[f,g]=(0,l.useState)(!1),[b,j]=(0,l.useState)(!1),[y,v]=(0,l.useState)(""),[N,w]=(0,l.useState)({version:null,extras:{code:!1,ml:!1},available:["code","ml"],loading:!1}),[k,C]=(0,l.useState)([]),[S,E]=(0,l.useState)(!1),[P,T]=(0,l.useState)(""),[$,I]=(0,l.useState)(null),[R,O]=(0,l.useState)(""),[L,U]=(0,l.useState)(null),[H,M]=(0,l.useState)(!1),[_,A]=(0,l.useState)(!0),[D,F]=(0,l.useState)(!1),B=(0,l.useRef)(null),[J,W]=(0,l.useState)(!1),[z,G]=(0,l.useState)("full"),[K,X]=(0,l.useState)(!1),[q,Y]=(0,l.useState)("full"),[Z,Q]=(0,l.useState)(!1),[V,ee]=(0,l.useState)(25e3),[et,ea]=(0,l.useState)({installed:!1,installing:!1,running:!1,version:null,loading:!0}),[es,el]=(0,l.useState)(null),[er,en]=(0,l.useState)(!1),[ei,eo]=(0,l.useState)(!1),[ec,ed]=(0,l.useState)(""),[ex,em]=(0,l.useState)("en"),{copied:eh,copy:ep}=(0,n.C)();(0,l.useEffect)(()=>(em((0,i.kk)()),(0,i.oQ)(()=>em((0,i.kk)()))),[]);let eu=o.includes(ex),ef=eu?c:c.filter(e=>!e.wenyan);(0,l.useEffect)(()=>{let e=c.find(e=>e.id===z);e?.wenyan&&!eu&&(G("ultra"),eg({cavemanLevel:"ultra"}))},[eu,z]);let eg=async e=>{try{await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}catch(e){console.log("Error updating setting:",e)}},eb=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rtkEnabled:e})})).ok&&t(e)}catch(e){console.log("Error updating rtkEnabled:",e)}},ej=async()=>{let e=m.trim()||"http://localhost:8787";h(e),await eg({headroomUrl:e}),ey()},ey=(0,l.useCallback)(async()=>{u(e=>({...e,loading:!0}));try{let e=await fetch("/api/headroom/status",{headers:{"Cache-Control":"no-store"}}),t=await e.json();if(u({...t,loading:!1}),!t?.installed){w({version:null,extras:{code:!1,ml:!1},available:["code","ml"],loading:!1}),C([]);return}try{let e=await fetch("/api/headroom/extras",{headers:{"Cache-Control":"no-store"}});if(!e.ok)throw Error("extras status failed");let t=await e.json();w(e=>({...e,version:t.version??null,extras:t.extras||{code:!1,ml:!1},available:t.available||["code","ml"],loading:!1})),C([])}catch{w({version:null,extras:{code:!1,ml:!1},available:["code","ml"],loading:!1}),C([])}}catch{u({installed:!1,running:!1,python:null,loading:!1}),w({version:null,extras:{code:!1,ml:!1},available:["code","ml"],loading:!1}),C([])}},[]),ev=(0,l.useCallback)(async()=>{v(""),j(!0);try{let e=await fetch("/api/headroom/start",{method:"POST"}),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||"Failed to start proxy");await ey()}catch(e){v(e.message)}finally{j(!1)}},[ey]),eN=(0,l.useCallback)(async()=>{j(!0);try{await fetch("/api/headroom/stop",{method:"POST"}),await ey()}finally{j(!1)}},[ey]),ew=(0,l.useCallback)(()=>{O(""),B.current&&clearInterval(B.current);let e=async()=>{try{let e=await fetch("/api/headroom/extras?log=1",{headers:{"Cache-Control":"no-store"}}),t=await e.json().catch(()=>({}));"string"==typeof t.log&&O(t.log)}catch{}};e(),B.current=setInterval(e,1500)},[]),ek=(0,l.useCallback)(()=>{B.current&&(clearInterval(B.current),B.current=null)},[]);(0,l.useEffect)(()=>()=>ek(),[ek]);let eC=(0,l.useCallback)(async()=>{if(0!==k.length){E(!0),T(""),ew();try{let e=await fetch("/api/headroom/extras",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({extras:k})}),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||"Install failed");w(e=>({...e,version:t.version??e.version,extras:t.extras||e.extras})),C([])}catch(e){T(e.message)}finally{ek(),E(!1)}}},[k,ew,ek]),eS=(0,l.useCallback)(async e=>{I(e),T(""),ew();try{let t=await fetch("/api/headroom/extras",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({extras:[e]})}),a=await t.json().catch(()=>({}));if(!t.ok)throw Error(a.error||"Remove failed");w(e=>({...e,version:a.version??e.version,extras:a.extras||e.extras}))}catch(e){T(e.message)}finally{ek(),I(null)}},[ew,ek]),eE=(0,l.useCallback)(()=>{if(0!==k.length){if(k.includes("ml"))return void U({title:"Install [ml]",message:"[ml] downloads ~1 GB (torch + huggingface-hub). Continue?",confirmText:"Install",variant:"primary",onConfirm:eC});eC()}},[k,eC]),eP=(0,l.useCallback)(e=>{U({title:`Remove [${e}]`,message:`Remove [${e}] and its packages?`,confirmText:"Remove",variant:"danger",onConfirm:()=>eS(e)})},[eS]),eT=(0,l.useCallback)(async(e,t)=>{if(T(""),"code"===e&&M(t),"ml"===e&&A(t),await eg({["code"===e?"headroomCodeAware":"headroomKompress"]:t}),p.running){F(!0);try{let e=await fetch("/api/headroom/restart",{method:"POST"}),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||"Restart failed");await ey()}catch(e){T(e.message)}finally{F(!1)}}},[p.running,ey]),e$=(0,l.useCallback)(async()=>{ea(e=>({...e,loading:!0}));try{let e=await fetch("/api/pxpipe/status",{headers:{"Cache-Control":"no-store"}}),t=await e.json();ea({...t,loading:!1}),"number"==typeof t.minChars&&ee(t.minChars)}catch{ea({installed:!1,installing:!1,running:!1,version:null,loading:!1})}},[]),eI=(0,l.useCallback)(async()=>{try{let e=await fetch("/api/pxpipe/health",{method:"POST"});el(await e.json())}catch(e){el({healthy:!1,checks:[],error:e.message})}},[]),eR=(0,l.useCallback)(async e=>{ed(""),eo(!0);try{let t=await fetch(`/api/pxpipe/${e}`,{method:"POST"}),a=await t.json().catch(()=>({}));if(!t.ok)throw Error(a.error||`PXPIPE ${e} failed`);await e$(),await eI()}catch(e){ed(e.message)}finally{eo(!1)}},[e$,eI]);(0,l.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/settings");if(e.ok){let a=await e.json();t(!1!==a.rtkEnabled),x(!!a.headroomEnabled),h(a.headroomUrl||"http://localhost:8787"),M(!0===a.headroomCodeAware),A(!1!==a.headroomKompress),W(!!a.cavemanEnabled),G(a.cavemanLevel||"full"),X(!!a.ponytailEnabled),Y(a.ponytailLevel||"full"),Q(!!a.pxpipeEnabled),"number"==typeof a.pxpipeMinChars&&ee(a.pxpipeMinChars),ey(),e$().then(eI)}}catch{}})()},[ey,e$,eI]);let eO=!!p.running,eL=p.loading?"Checking…":eO?"Running":!1===p.localUrl||p.installed?!1!==p.localUrl?"Stopped":"External":"Not installed",eU=!1!==p.localUrl,eH=!!p.canStart,eM=eU&&!!p.managedPid,e_=es?.healthy===!0,eA=et.loading?"Checking…":et.installing?"Installing…":et.installed?e_?"Healthy":et.running?"Running":"Stopped":"Not installed";return e_||et.running,(0,s.jsxs)("div",{className:"space-y-6 p-6",children:[(0,s.jsxs)(r.Zp,{id:"rtk",children:[(0,s.jsx)("div",{className:"flex items-center justify-between mb-2",children:(0,s.jsxs)("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-primary",children:"bolt"}),"Token Saver"]})}),(0,s.jsxs)("div",{className:"flex items-center justify-between pt-2 pb-4 border-b border-border gap-4",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("p",{className:"font-medium",children:["Compress tool output"," ",(0,s.jsx)("a",{href:"https://github.com/rtk-ai/rtk",target:"_blank",rel:"noreferrer",className:"text-xs font-normal text-primary underline hover:opacity-80",children:"(RTK)"})]}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"git/grep/ls/tree/logs → 60-90% fewer input tokens"})]}),(0,s.jsx)(r.lM,{checked:e,onChange:()=>eb(!e)})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between py-4 gap-4 flex-wrap",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[(0,s.jsxs)("p",{className:"font-medium",children:["Compress context"," ",(0,s.jsx)("a",{href:"https://github.com/chopratejas/headroom",target:"_blank",rel:"noreferrer",className:"text-xs font-normal text-primary underline hover:opacity-80",children:"(Headroom)"})]}),(0,s.jsx)("span",{className:`text-xs px-2 py-0.5 rounded ${eO?"bg-success/15 text-success":"bg-warning/15 text-warning"}`,children:eL}),(0,s.jsx)("button",{type:"button",onClick:()=>g(!0),className:"text-xs text-primary underline hover:opacity-80",children:eO?"Manage":"Setup"})]}),(0,s.jsx)("p",{className:"text-sm text-text-muted mt-1",children:"Compress prompts via /v1/compress before routing to the model"})]}),(0,s.jsx)(r.lM,{checked:a&&eO,disabled:!eO,onChange:()=>{var e;let t;return e=!a,void(h(t=m.trim()||"http://localhost:8787"),x(e),eg({headroomEnabled:e,headroomUrl:t}))}})]}),p.installed&&(0,s.jsxs)("div",{className:"mb-3 ml-1 pl-3 pb-4 border-l-2 border-border",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,s.jsxs)("span",{className:"text-xs text-text-muted",children:["Compression extras",N.version?` \xb7 v${N.version}`:"",":"]}),N.available.map(e=>{let t=!!N.extras[e],a=k.includes(e),l="code"===e?"tree-sitter AST compression for code responses":"Kompress-v2 HF model for prose/agentic traces (~+1GB)";if(t){let t="code"===e?H:_;return(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-xs px-2 py-1 rounded border border-success/40 bg-success/5 text-text",title:l,children:[(0,s.jsx)(r.lM,{size:"sm",checked:t,disabled:D,onChange:()=>eT(e,!t)}),(0,s.jsxs)("span",{className:"font-medium",children:["[",e,"]"]}),(0,s.jsx)("button",{type:"button",onClick:()=>eP(e),disabled:$===e,className:"ml-1 text-error underline hover:opacity-80 disabled:opacity-50",title:`Uninstall [${e}]`,children:$===e?"Uninstalling…":"Uninstall"})]},e)}return(0,s.jsxs)("label",{className:`flex items-center gap-1.5 text-xs px-2 py-1 rounded border cursor-pointer transition-colors ${a?"border-primary bg-primary/10 text-primary":"border-border text-text-muted hover:bg-surface-2"}`,title:l,children:[(0,s.jsx)("input",{type:"checkbox",className:"w-3 h-3",checked:a,onChange:()=>{C(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}}),(0,s.jsxs)("span",{className:"font-medium",children:["[",e,"]"]}),(0,s.jsx)("span",{className:"opacity-70",children:"not installed"})]},e)}),k.length>0&&(0,s.jsx)("button",{onClick:eE,disabled:S,className:"text-xs px-2.5 py-1 rounded bg-primary text-white hover:opacity-90 disabled:opacity-50",children:S?"Installing…":`Install [proxy,${k.join(",")}]`})]}),P&&(0,s.jsx)("p",{className:"text-xs text-error mt-1",children:P}),D&&(0,s.jsx)("p",{className:"text-xs text-text-muted mt-1",children:"Restarting proxy…"}),(S||$)&&R&&(0,s.jsx)("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",children:R}),(0,s.jsxs)("p",{className:"text-xs text-text-muted mt-1",children:["Installing adds the package; use ",(0,s.jsx)("code",{children:"on"}),"/",(0,s.jsx)("code",{children:"off"})," ","to activate it (restarts the proxy). Default install is"," ",(0,s.jsx)("code",{children:"[proxy]"})," only (SmartCrusher for JSON). Adding"," ",(0,s.jsx)("code",{children:"[code]"})," enables AST compression (Python/JS/TS/Go/Rust/Java/C/C++/Perl). Adding ",(0,s.jsx)("code",{children:"[ml]"})," ","enables the Kompress-v2 HF model for prose/agentic traces but adds ~1 GB (torch + huggingface-hub)."]})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between pt-4 border-t border-border gap-4 flex-wrap",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("p",{className:"font-medium",children:["Compress LLM output"," ",(0,s.jsx)("a",{href:"https://github.com/JuliusBrussee/caveman",target:"_blank",rel:"noreferrer",className:"text-xs font-normal text-primary underline hover:opacity-80",children:"(Caveman)"})]}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"Terse-style system prompt → ~65% fewer output tokens (up to 87%)"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3 shrink-0",children:[J&&(0,s.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,s.jsx)("div",{className:"flex items-center gap-1.5",children:ef.map(e=>(0,s.jsx)("button",{onClick:()=>{var t;G(t=e.id),eg({cavemanLevel:t})},className:`px-3 py-1.5 rounded text-xs font-medium border transition-colors ${z===e.id?"bg-primary text-white border-primary":"bg-transparent border-border text-text-muted hover:bg-surface-2"}`,title:e.desc,children:e.label},e.id))}),(0,s.jsx)("p",{className:"text-xs text-primary",children:c.find(e=>e.id===z)?.desc})]}),(0,s.jsx)(r.lM,{checked:J,onChange:()=>{var e;W(e=!J),eg({cavemanEnabled:e})}})]})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between pt-4 mt-4 border-t border-border gap-4 flex-wrap",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("p",{className:"font-medium",children:["Lazy senior dev"," ",(0,s.jsx)("a",{href:"https://github.com/DietrichGebert/ponytail",target:"_blank",rel:"noreferrer",className:"text-xs font-normal text-primary underline hover:opacity-80",children:"(Ponytail)"})]}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"Bias the model toward minimal code: YAGNI, reuse stdlib, deletion over addition"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3 shrink-0",children:[K&&(0,s.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,s.jsx)("div",{className:"flex items-center gap-1.5",children:d.map(e=>(0,s.jsx)("button",{onClick:()=>{var t;Y(t=e.id),eg({ponytailLevel:t})},className:`px-3 py-1.5 rounded text-xs font-medium border transition-colors ${q===e.id?"bg-primary text-white border-primary":"bg-transparent border-border text-text-muted hover:bg-surface-2"}`,title:e.desc,children:e.label},e.id))}),(0,s.jsx)("p",{className:"text-xs text-primary",children:d.find(e=>e.id===q)?.desc})]}),(0,s.jsx)(r.lM,{checked:K,onChange:()=>{var e;X(e=!K),eg({ponytailEnabled:e})}})]})]}),!1]}),(0,s.jsx)(r.aF,{isOpen:f,title:eO?"Headroom":"Setup Headroom",onClose:()=>g(!1),children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,s.jsx)("span",{children:"Status"}),(0,s.jsx)("span",{className:eO?"text-success":"text-warning",children:eL})]}),eO&&(0,s.jsx)("a",{href:"/api/headroom/proxy/dashboard",target:"_blank",rel:"noreferrer",className:"w-full rounded border border-border px-4 py-2 text-center text-sm hover:bg-surface-2",children:"Open Headroom Dashboard"}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"Proxy URL"}),(0,s.jsx)(r.pd,{value:m,onChange:e=>h(e.target.value),onBlur:ej,placeholder:"http://localhost:8787",className:"font-mono text-sm"}),(0,s.jsx)("p",{className:"text-xs text-text-muted",children:"Use a local proxy for Start/Stop, or an external Docker sidecar like http://headroom:8787."})]}),eM?(0,s.jsx)(r.$n,{onClick:eN,variant:"ghost",fullWidth:!0,disabled:b,children:b?"Stopping…":"Stop Headroom"}):eO?(0,s.jsx)("p",{className:"text-sm text-success",children:"Headroom proxy is reachable. You can enable the token saver."}):eH?(0,s.jsx)(r.$n,{onClick:ev,fullWidth:!0,disabled:b,children:b?"Starting…":"Start Headroom"}):eU?p.python?(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"Install then click Start:"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("pre",{className:"flex-1 rounded bg-black/5 dark:bg-white/5 p-2 text-xs font-mono overflow-x-auto",children:'pip install "headroom-ai[proxy]"'}),(0,s.jsx)(r.$n,{size:"sm",variant:"ghost",onClick:()=>ep('pip install "headroom-ai[proxy]"'),children:eh?"Copied":"Copy"})]})]}):(0,s.jsx)("p",{className:"text-sm text-warning",children:"Python ≥ 3.10 required for local managed mode. Install Python first, or use an external proxy URL."}):(0,s.jsx)("p",{className:"text-sm text-warning",children:"Start Headroom separately at the configured URL, then recheck."}),y&&(0,s.jsx)("p",{className:"text-sm text-warning",children:y}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(r.$n,{onClick:()=>ey(),variant:"ghost",fullWidth:!0,children:"Recheck"}),(0,s.jsx)(r.$n,{onClick:()=>g(!1),fullWidth:!0,children:"Done"})]})]})}),(0,s.jsx)(r.aF,{isOpen:!1,title:et.installed?"PXPIPE":"Setup PXPIPE",onClose:()=>en(!1),children:(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"Compress prompts using multimodal encoding. Runs in-process — no extra server or environment variables required."}),(0,s.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,s.jsx)("span",{children:"Status"}),(0,s.jsxs)("span",{className:e_||et.running?"text-success":"text-warning",children:[eA,et.version?` \xb7 v${et.version}`:""]})]}),es?.checks?.length>0&&(0,s.jsxs)("div",{className:"flex flex-col gap-1 rounded border border-border p-3",children:[(0,s.jsx)("p",{className:"text-sm font-medium mb-1",children:"Health check"}),es.checks.map(e=>(0,s.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,s.jsxs)("span",{className:e.ok?"text-success":"text-warning",children:[e.ok?"●":"○"," ",e.label]}),e.detail&&(0,s.jsx)("span",{className:"text-text-muted font-mono truncate max-w-[50%]",children:e.detail})]},e.id)),es.error&&(0,s.jsx)("p",{className:"text-xs text-warning mt-1",children:es.error})]}),et.installed?(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[et.running?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.$n,{onClick:()=>eR("restart"),variant:"ghost",disabled:ei,children:"Restart"}),(0,s.jsx)(r.$n,{onClick:()=>eR("stop"),variant:"ghost",disabled:ei,children:"Stop"})]}):(0,s.jsx)(r.$n,{onClick:()=>eR("start"),disabled:ei,children:ei?"Starting…":"Start"}),(0,s.jsx)(r.$n,{onClick:()=>eR("install"),variant:"ghost",disabled:ei,children:"Repair"}),(0,s.jsx)("a",{href:"/dashboard/pxpipe#logs",className:"col-span-2 rounded border border-border px-4 py-2 text-center text-sm hover:bg-surface-2",children:"Open Logs"})]}):(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsx)("p",{className:"text-sm text-warning",children:"PXPIPE is not installed."}),(0,s.jsx)(r.$n,{onClick:()=>eR("install"),fullWidth:!0,disabled:ei||et.installing,children:ei||et.installing?"Installing…":"Install"}),(0,s.jsxs)("p",{className:"text-xs text-text-muted",children:["Installs the npm package ",(0,s.jsx)("code",{className:"font-mono",children:"pxpipe-proxy"})," into the ZevaiRouter data directory. May take a few minutes."]})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"Minimum prompt size (chars)"}),(0,s.jsx)(r.pd,{value:String(V),onChange:e=>ee(e.target.value),onBlur:()=>{let e=Math.max(0,Number(V)||25e3);ee(e),eg({pxpipeMinChars:e})},placeholder:"25000",className:"font-mono text-sm"}),(0,s.jsx)("p",{className:"text-xs text-text-muted",children:"Requests smaller than this bypass PXPIPE and are sent as-is."})]}),ec&&(0,s.jsx)("p",{className:"text-sm text-warning",children:ec}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(r.$n,{onClick:()=>e$().then(eI),variant:"ghost",fullWidth:!0,children:"Recheck"}),(0,s.jsx)(r.$n,{onClick:()=>en(!1),fullWidth:!0,children:"Done"})]})]})}),(0,s.jsx)(r.uo,{isOpen:!!L,onClose:()=>U(null),onConfirm:()=>{let e=L?.onConfirm;U(null),e?.()},title:L?.title,message:L?.message,confirmText:L?.confirmText,variant:L?.variant})]})}}},e=>{e.O(0,[2574,3862,4343,1321,5497,8441,3794,7358],()=>e(e.s=525)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,122,174,204,335,342,387,501,516,543,552,641,649,675,747,748,869,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1446,1451,1512,1557,1566,1666,1674,1697,1747,1860,1898,1907,1910,1946,1949,2121,2154,2198,2284,2296,2366,2536,2757,2772,2785,2797,2833,2845,2919,2922,3025,3038,3078,3079,3295,3397,3472,3549,3562,3568,3648,3705,3883,3888,4010,4061,4093,4245,4286,4422,4444,4527,4612,4656,4674,4761,4829,4896,4993,5018,5107,5177,5211,5226,5460,5466,5637,5685,5745,5746,5922,5990,6091,6102,6107,6121,6268,6278,6319,6454,6463,6479,6529,6580,6594,6644,6724,6740,6743,6819,6872,6919,6988,7046,7111,7131,7158,7241,7254,7306,7311,7423,7429,7445,7473,7508,7520,7758,7777,7824,7851,8018,8026,8057,8141,8165,8167,8207,8246,8264,8338,8453,8489,8573,8648,8736,8791,8814,8826,8870,8879,8918,8948,8974,8975,9027,9056,9069,9088,9120,9123,9141,9199,9321,9338,9359,9461,9515,9606,9678,9709,9762,9817],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);