zevairouter 1.1.33 → 1.1.34

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 (582) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  3. package/cli/app/.next-cli-build/app-path-routes-manifest.json +13 -13
  4. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  5. package/cli/app/.next-cli-build/prerender-manifest.json +4 -4
  6. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  35. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  36. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  37. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  38. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  39. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  40. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  41. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  42. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  43. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  44. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  45. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  46. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  47. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  48. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  49. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  50. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  56. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
  57. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  59. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  60. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  61. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  62. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  63. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  64. package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  65. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  66. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  67. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  68. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  69. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  70. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  71. package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  72. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  73. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  74. package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  75. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  76. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  77. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  78. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  79. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  80. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  81. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  82. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  83. package/cli/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  84. package/cli/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  85. package/cli/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  86. package/cli/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  87. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  88. package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
  89. package/cli/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
  90. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -16
  91. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  92. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  93. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  94. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  95. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  96. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  97. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  98. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  99. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
  100. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -2
  101. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  102. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  103. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  105. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  107. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  108. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  109. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  111. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  113. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  114. package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +3 -15
  115. package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -1
  117. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -3
  119. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  120. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  121. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -1
  123. package/cli/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  125. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  129. package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  130. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
  132. package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
  135. package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js.nft.json +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js +1 -1
  137. package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js.nft.json +1 -1
  138. package/cli/app/.next-cli-build/server/app/api/dashboard/media/videos/[id]/route.js +1 -1
  139. package/cli/app/.next-cli-build/server/app/api/dashboard/media/videos/[id]/route.js.nft.json +1 -1
  140. package/cli/app/.next-cli-build/server/app/api/headroom/enable/route.js.nft.json +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  142. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  143. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  145. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  146. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  147. package/cli/app/.next-cli-build/server/app/api/health/ready/route.js.nft.json +1 -1
  148. package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  149. package/cli/app/.next-cli-build/server/app/api/init/route.js +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  151. package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  153. package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  155. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  159. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  160. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  161. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  162. package/cli/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
  163. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  164. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  165. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  166. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  167. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  168. package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  169. package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  170. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  171. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  172. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
  173. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  174. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
  175. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  176. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
  177. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  188. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
  190. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  199. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
  200. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  202. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  203. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  204. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  205. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  207. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  208. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js.nft.json +1 -1
  209. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js.nft.json +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-token/route.js.nft.json +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  216. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  217. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
  218. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
  219. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
  220. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  221. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  222. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  223. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  224. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  225. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  226. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
  227. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
  228. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
  229. package/cli/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  231. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  233. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  236. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  241. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  244. package/cli/app/.next-cli-build/server/app/api/providers/codebuddy/discover-models/route.js.nft.json +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/providers/opencode/discover-models/route.js.nft.json +1 -1
  247. package/cli/app/.next-cli-build/server/app/api/providers/route.js +2 -2
  248. package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  255. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  256. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  265. package/cli/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  266. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  277. package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  278. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
  279. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
  280. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
  281. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
  282. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
  283. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
  284. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
  285. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
  286. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  287. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  288. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  289. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  290. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  291. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  292. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  293. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  294. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  295. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  296. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  297. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  298. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  299. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  300. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  301. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  302. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  303. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  304. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  305. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  306. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  307. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  308. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js +1 -1
  309. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
  310. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  311. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  312. package/cli/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  313. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  314. package/cli/app/.next-cli-build/server/app/api/usage/quota-stream/route.js +1 -1
  315. package/cli/app/.next-cli-build/server/app/api/usage/quota-stream/route.js.nft.json +1 -1
  316. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  317. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  318. package/cli/app/.next-cli-build/server/app/api/usage/routing-stream/route.js.nft.json +1 -1
  319. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  320. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  321. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  322. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  323. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  324. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  325. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  326. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  327. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  328. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  329. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  330. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  331. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  332. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  333. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  334. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  335. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  336. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  337. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  338. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  339. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  340. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  341. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  342. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  343. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  344. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  345. package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  346. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  347. package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  348. package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  349. package/cli/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  350. package/cli/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  351. package/cli/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  352. package/cli/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  353. package/cli/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  354. package/cli/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  355. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  356. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  357. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  358. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  359. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  360. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  361. package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  362. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  363. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  364. package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  365. package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  366. package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  367. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  368. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  369. package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
  370. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  371. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  372. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
  373. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  374. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +3 -3
  375. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +3 -3
  376. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +3 -3
  377. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
  378. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  379. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +3 -3
  380. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +3 -3
  381. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +3 -3
  382. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  383. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  384. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +3 -3
  385. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +3 -3
  386. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +3 -3
  387. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  388. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  389. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +3 -3
  390. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +3 -3
  391. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +3 -3
  392. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  393. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  394. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +3 -3
  395. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +3 -3
  396. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +3 -3
  397. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
  398. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  399. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +3 -3
  400. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
  401. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +3 -3
  402. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  403. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  404. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +3 -3
  405. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +3 -3
  406. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +3 -3
  407. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  408. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  409. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +3 -3
  410. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +3 -3
  411. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +3 -3
  412. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  413. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  414. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +3 -3
  415. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +3 -3
  416. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +3 -3
  417. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
  418. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  419. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +3 -3
  420. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +3 -3
  421. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +3 -3
  422. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  423. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  424. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +3 -3
  425. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +3 -3
  426. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +3 -3
  427. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  428. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  429. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +4 -4
  430. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +4 -4
  431. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +4 -4
  432. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  433. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  434. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +3 -3
  435. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +3 -3
  436. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +3 -3
  437. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  438. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  439. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +3 -3
  440. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +3 -3
  441. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +3 -3
  442. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  443. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  444. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +3 -3
  445. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  446. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +3 -3
  447. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  448. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  449. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  450. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
  451. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  452. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  453. package/cli/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  454. package/cli/app/.next-cli-build/server/app/dashboard/skills.rsc +3 -3
  455. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +3 -3
  456. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +3 -3
  457. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  458. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  459. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +3 -3
  460. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +3 -3
  461. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +3 -3
  462. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  463. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  464. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +3 -3
  465. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +3 -3
  466. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +3 -3
  467. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  468. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  469. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +3 -3
  470. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +3 -3
  471. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +3 -3
  472. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  473. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  474. package/cli/app/.next-cli-build/server/app/dashboard.rsc +3 -3
  475. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +3 -3
  476. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +3 -3
  477. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  478. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  479. package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
  480. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  481. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  482. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  483. package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  484. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  485. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  486. package/cli/app/.next-cli-build/server/app/landing.rsc +3 -3
  487. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  488. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  489. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
  490. package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  491. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  492. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  493. package/cli/app/.next-cli-build/server/app/login.rsc +3 -3
  494. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +3 -3
  495. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  496. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
  497. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  498. package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  499. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  500. package/cli/app/.next-cli-build/server/app/provider-icons/[provider]/route.js.nft.json +1 -1
  501. package/cli/app/.next-cli-build/server/app-paths-manifest.json +13 -13
  502. package/cli/app/.next-cli-build/server/chunks/1131.js +1 -1
  503. package/cli/app/.next-cli-build/server/chunks/1133.js +1 -1
  504. package/cli/app/.next-cli-build/server/chunks/1283.js +3 -3
  505. package/cli/app/.next-cli-build/server/chunks/1350.js +1 -1
  506. package/cli/app/.next-cli-build/server/chunks/2238.js +1 -0
  507. package/cli/app/.next-cli-build/server/chunks/2442.js +1 -1
  508. package/cli/app/.next-cli-build/server/chunks/2456.js +1 -1
  509. package/cli/app/.next-cli-build/server/chunks/{440.js → 3294.js} +3 -4
  510. package/cli/app/.next-cli-build/server/chunks/3477.js +1 -1
  511. package/cli/app/.next-cli-build/server/chunks/3593.js +1 -1
  512. package/cli/app/.next-cli-build/server/chunks/3721.js +4 -4
  513. package/cli/app/.next-cli-build/server/chunks/3792.js +1 -1
  514. package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
  515. package/cli/app/.next-cli-build/server/chunks/3999.js +1 -1
  516. package/cli/app/.next-cli-build/server/chunks/40.js +1 -1
  517. package/cli/app/.next-cli-build/server/chunks/4055.js +1 -1
  518. package/cli/app/.next-cli-build/server/chunks/412.js +1 -1
  519. package/cli/app/.next-cli-build/server/chunks/4322.js +1 -1
  520. package/cli/app/.next-cli-build/server/chunks/437.js +1 -1
  521. package/cli/app/.next-cli-build/server/chunks/4493.js +1 -1
  522. package/cli/app/.next-cli-build/server/chunks/4586.js +3 -3
  523. package/cli/app/.next-cli-build/server/chunks/4780.js +1 -1
  524. package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
  525. package/cli/app/.next-cli-build/server/chunks/4897.js +1 -1
  526. package/cli/app/.next-cli-build/server/chunks/5024.js +1 -1
  527. package/cli/app/.next-cli-build/server/chunks/5217.js +1 -1
  528. package/cli/app/.next-cli-build/server/chunks/5330.js +9 -11
  529. package/cli/app/.next-cli-build/server/chunks/5434.js +1 -1
  530. package/cli/app/.next-cli-build/server/chunks/5436.js +1 -1
  531. package/cli/app/.next-cli-build/server/chunks/5681.js +1 -1
  532. package/cli/app/.next-cli-build/server/chunks/5800.js +1 -1
  533. package/cli/app/.next-cli-build/server/chunks/5949.js +2 -2
  534. package/cli/app/.next-cli-build/server/chunks/6182.js +3 -3
  535. package/cli/app/.next-cli-build/server/chunks/6252.js +1 -1
  536. package/cli/app/.next-cli-build/server/chunks/6846.js +1 -1
  537. package/cli/app/.next-cli-build/server/chunks/6936.js +3 -3
  538. package/cli/app/.next-cli-build/server/chunks/7170.js +1 -1
  539. package/cli/app/.next-cli-build/server/chunks/7319.js +24 -27
  540. package/cli/app/.next-cli-build/server/chunks/773.js +1 -0
  541. package/cli/app/.next-cli-build/server/chunks/8239.js +1 -1
  542. package/cli/app/.next-cli-build/server/chunks/8255.js +1 -1
  543. package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
  544. package/cli/app/.next-cli-build/server/chunks/8655.js +1 -1
  545. package/cli/app/.next-cli-build/server/chunks/8895.js +3 -3
  546. package/cli/app/.next-cli-build/server/chunks/891.js +1 -1
  547. package/cli/app/.next-cli-build/server/chunks/9489.js +1 -1
  548. package/cli/app/.next-cli-build/server/chunks/{2750.js → 9528.js} +3 -2
  549. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  550. package/cli/app/.next-cli-build/server/middleware.js +2 -2
  551. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  552. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  553. package/cli/app/.next-cli-build/server/preview-props.json +3 -3
  554. package/cli/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  555. package/cli/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  556. package/cli/app/.next-cli-build/static/chunks/{5497-a9a321ee476bd2ce.js → 5497-00e385b36b5faf04.js} +2 -2
  557. package/cli/app/.next-cli-build/static/chunks/620-f497c666bb6c6074.js +1 -0
  558. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c505cf411125a6a.js +3 -0
  559. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-4bd92dec9d25dff3.js +1 -0
  560. package/cli/app/CHANGELOG.md +35 -0
  561. package/cli/app/cli/hooks/postinstall.js +0 -12
  562. package/cli/app/cli/hooks/startupRuntime.js +0 -10
  563. package/cli/app/package.json +1 -1
  564. package/cli/app/src/lib/db/adapters/sqljsAdapter.js +82 -15
  565. package/cli/app/src/lib/db/migrate.js +27 -3
  566. package/cli/app/src/mitm/server.js +32 -34
  567. package/cli/cli.js +3 -7
  568. package/cli/hooks/postinstall.js +0 -12
  569. package/cli/hooks/startupRuntime.js +0 -10
  570. package/cli/package.json +1 -1
  571. package/cli/src/cli/terminalUI.js +21 -5
  572. package/package.json +1 -1
  573. package/cli/app/.next-cli-build/server/chunks/1585.js +0 -1
  574. package/cli/app/.next-cli-build/server/chunks/3912.js +0 -2
  575. package/cli/app/.next-cli-build/static/chunks/620-46999209a961b94a.js +0 -1
  576. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-e9fcb79ca412ea2c.js +0 -3
  577. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-7b3b291fb9d2dc65.js +0 -1
  578. package/cli/app/cli/hooks/notionTlsRuntime.js +0 -57
  579. package/cli/app/public/providers/notion-ai.png +0 -0
  580. package/cli/hooks/notionTlsRuntime.js +0 -57
  581. /package/cli/app/.next-cli-build/static/{5wTkpSETl1nKGKUkK-OM5 → QnZGjZBbNqQkbGSTiHVnz}/_buildManifest.js +0 -0
  582. /package/cli/app/.next-cli-build/static/{5wTkpSETl1nKGKUkK-OM5 → QnZGjZBbNqQkbGSTiHVnz}/_ssgManifest.js +0 -0
package/cli/cli.js CHANGED
@@ -778,11 +778,7 @@ WantedBy=multi-user.target
778
778
  // runtime installers or reach the update check. On normal launches, node:sqlite
779
779
  // is preferred and the tray helper is healed only for explicit tray mode.
780
780
  const { prepareStartupRuntime } = require("./hooks/startupRuntime");
781
- const { ensureNotionTlsRuntime } = require("./hooks/notionTlsRuntime");
782
- const { buildEnvWithRuntime } = prepareStartupRuntime({
783
- trayMode,
784
- loadNotionTlsRuntime: () => ({ ensureNotionTlsRuntime }),
785
- });
781
+ const { buildEnvWithRuntime } = prepareStartupRuntime({ trayMode });
786
782
 
787
783
  // Headless VPS/server launch: NEVER flip into tray mode.
788
784
  // --no-browser / --log / --port / ZEVAI_SERVER_MODE mean "daemon", not tray.
@@ -1711,7 +1707,7 @@ function attachToRunningRouter(latestVersion) {
1711
1707
  await pause("\nPress Enter to go back to menu...");
1712
1708
  } else if (choice === "terminal") {
1713
1709
  const { startTerminalUI } = require("./src/cli/terminalUI");
1714
- await startTerminalUI(port);
1710
+ await startTerminalUI(port, host);
1715
1711
  } else if (choice === "hide" || choice === "exit") {
1716
1712
  console.log("\nLeaving CLI (server keeps running).\n");
1717
1713
  process.exit(0);
@@ -2134,7 +2130,7 @@ function startServer(latestVersion) {
2134
2130
  } else if (choice === "terminal") {
2135
2131
  // Start Terminal UI - it will return when user selects Back
2136
2132
  const { startTerminalUI } = require("./src/cli/terminalUI");
2137
- await startTerminalUI(port);
2133
+ await startTerminalUI(port, host);
2138
2134
  // Loop continues, show menu again
2139
2135
  } else if (choice === "hide") {
2140
2136
  const { clearScreen } = require("./src/cli/utils/display");
@@ -29,7 +29,6 @@ process.env.NPM_CONFIG_LOGLEVEL = process.env.NPM_CONFIG_LOGLEVEL || "error";
29
29
  const { ensureSqliteRuntime, runNpmInstall, getRuntimeDir } = require("./sqliteRuntime");
30
30
  const { ensureTrayRuntime } = require("./trayRuntime");
31
31
  const { ensureCloakbrowserRuntime } = require("./cloakbrowserRuntime");
32
- const { ensureNotionTlsRuntime } = require("./notionTlsRuntime");
33
32
  const { hasBuiltInNodeSqlite } = require("./startupRuntime");
34
33
 
35
34
  const minimalSetting = String(process.env.ZEVAI_MINIMAL_POSTINSTALL || "").toLowerCase();
@@ -124,17 +123,6 @@ async function main() {
124
123
  warn(`Tray warm-up skipped: ${error.message}`);
125
124
  }
126
125
 
127
- // Notion inference needs the Chrome-TLS transport even in bounded/minimal
128
- // installs. It is a small provider runtime, not the browser automation
129
- // bundle that MINIMAL intentionally defers.
130
- try {
131
- const notionTls = ensureNotionTlsRuntime({ silent: true });
132
- if (notionTls.ok) log("✓ Notion Chrome TLS transport ready");
133
- else warn("Notion Chrome TLS transport unavailable — the HTTP fallback remains available");
134
- } catch (error) {
135
- warn(`Notion TLS warm-up skipped: ${error.message}`);
136
- }
137
-
138
126
  if (MINIMAL) {
139
127
  log("Done (minimal). Automation downloads CloakBrowser on first use.");
140
128
  return;
@@ -9,7 +9,6 @@ function prepareStartupRuntime({
9
9
  modules = builtinModules,
10
10
  loadSqliteRuntime = () => require("./sqliteRuntime"),
11
11
  loadTrayRuntime = () => require("./trayRuntime"),
12
- loadNotionTlsRuntime = null,
13
12
  } = {}) {
14
13
  const sqliteRuntime = loadSqliteRuntime();
15
14
 
@@ -19,15 +18,6 @@ function prepareStartupRuntime({
19
18
  try { sqliteRuntime.ensureSqliteRuntime({ silent: true }); } catch {}
20
19
  }
21
20
 
22
- // Repair interrupted/minimal installs before the router can dispatch a
23
- // Notion request. Keep startup bounded when the registry is unavailable;
24
- // notionTlsClient still has its HTTP fallback.
25
- if (loadNotionTlsRuntime) {
26
- try {
27
- loadNotionTlsRuntime().ensureNotionTlsRuntime({ silent: true, timeout: 30_000 });
28
- } catch {}
29
- }
30
-
31
21
  if (trayMode) {
32
22
  try { loadTrayRuntime().ensureTrayRuntime({ silent: true }); } catch {}
33
23
  }
package/cli/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zevairouter-cli",
3
- "version": "1.1.33",
3
+ "version": "1.1.34",
4
4
  "private": true,
5
5
  "description": "ZevaiRouter CLI - Start and manage ZevaiRouter server",
6
6
  "bin": {
@@ -17,6 +17,20 @@ const COLORS = {
17
17
  // Cached header (SWR): show last value instantly, refresh in background.
18
18
  let cachedHeader = "";
19
19
  let fetchingHeader = false;
20
+ let endpointHost = "localhost";
21
+
22
+ // The server binds to `--host`; a wildcard bind is reachable on loopback, but a
23
+ // specific address (e.g. 192.168.1.10) is not reachable through localhost.
24
+ function resolveClientHost(host) {
25
+ const value = String(host || "").trim().replace(/^\[|\]$/g, "");
26
+ if (!value || value === "0.0.0.0") return "127.0.0.1";
27
+ if (["::", "0:0:0:0:0:0:0:0"].includes(value)) return "::1";
28
+ return value;
29
+ }
30
+
31
+ function formatUrlHost(host) {
32
+ return host.includes(":") ? `[${host}]` : host;
33
+ }
20
34
 
21
35
  function renderHeader(port, keys, tunnel) {
22
36
  const tunnelEnabled = tunnel && tunnel.enabled === true;
@@ -25,7 +39,7 @@ function renderHeader(port, keys, tunnel) {
25
39
  lines.push(`Endpoint: ${COLORS.green}${tunnel.publicUrl}/v1${COLORS.reset}`);
26
40
  lines.push(`Tunnel: ${COLORS.green}ON${COLORS.reset} ${COLORS.dim}(${tunnel.shortId})${COLORS.reset}`);
27
41
  } else {
28
- lines.push(`Endpoint: http://localhost:${port}/v1`);
42
+ lines.push(`Endpoint: http://${formatUrlHost(endpointHost)}:${port}/v1`);
29
43
  lines.push(`Tunnel: ${COLORS.red}OFF${COLORS.reset} ${COLORS.dim}(local only)${COLORS.reset}`);
30
44
  }
31
45
  if (!keys || keys.length === 0) {
@@ -56,16 +70,18 @@ async function refreshHeaderBg(port) {
56
70
  function getHeader(port) {
57
71
  // Kick off background refresh; return cache (or placeholder on first call).
58
72
  refreshHeaderBg(port);
59
- return cachedHeader || `Endpoint: http://localhost:${port}/v1\nTunnel: ${COLORS.dim}...${COLORS.reset}\nKey: ${COLORS.dim}...${COLORS.reset}`;
73
+ return cachedHeader || `Endpoint: http://${formatUrlHost(endpointHost)}:${port}/v1\nTunnel: ${COLORS.dim}...${COLORS.reset}\nKey: ${COLORS.dim}...${COLORS.reset}`;
60
74
  }
61
75
 
62
76
  /**
63
77
  * Start Terminal UI
64
78
  * @param {number} port - Server port number
79
+ * @param {string} [host] - Address the server is bound to (`--host`)
65
80
  */
66
- async function startTerminalUI(port) {
81
+ async function startTerminalUI(port, host) {
67
82
  // Configure API client
68
- api.configure({ port });
83
+ endpointHost = resolveClientHost(host);
84
+ api.configure({ port, host: endpointHost });
69
85
 
70
86
  const basePath = ["ZevaiRouter"];
71
87
 
@@ -118,4 +134,4 @@ async function startTerminalUI(port) {
118
134
  });
119
135
  }
120
136
 
121
- module.exports = { startTerminalUI };
137
+ module.exports = { startTerminalUI, __test__: { resolveClientHost } };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zevairouter",
3
- "version": "1.1.33",
3
+ "version": "1.1.34",
4
4
  "description": "Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard",
5
5
  "bin": {
6
6
  "zevai": "cli/cli.js"
@@ -1 +0,0 @@
1
- "use strict";exports.id=1585,exports.ids=[1585],exports.modules={52007:(a,b,c)=>{c.d(b,{av:()=>o,gK:()=>m});var d=c(55511),e=c(39609);let f="https://llm.kimchi.dev",g=new Set([429,500,502,503,504]),h=new Map,i=new Map;function j(a){return(("string"==typeof a?a.trim():"")||f).replace(/\/+$/,"")}function k(a){return a?.accessToken||a?.apiKey||a?.providerSpecificData?.apiKey||null}function l(a){if(!a||"object"!=typeof a)return null;let b=a.slug||a.id||a.model||a.name;if("string"!=typeof b||""===b.trim())return null;let c=Array.isArray(a.input_modalities)?a.input_modalities.filter(a=>"text"===a||"image"===a):[],d=a.limits&&"object"==typeof a.limits?a.limits:{},e=Number(d.context_window||a.contextLength||a.context_length)||void 0,f=Number(d.max_output_tokens||a.maxOutputTokens||a.max_output_tokens)||void 0,g="string"==typeof a.provider?a.provider:"",h=!0===a.reasoning,i=Array.isArray(c)&&c.includes("image")?"imageToText":"llm",j={...a,id:b.trim(),name:String(a.display_name||a.displayName||a.name||b).trim(),provider:g,upstreamProvider:g,reasoning:h,inputModalities:c,kind:i,type:i,capabilities:{vision:c.includes("image"),reasoning:h,...e?{contextWindow:e}:{},...f?{maxOutput:f}:{},...g?{upstreamProvider:g}:{}},...e?{contextLength:e}:{},...f?{maxOutputTokens:f}:{}};return"anthropic"===g&&(j.compat={supportsReasoningEffort:!1,cacheControlFormat:"anthropic"}),j}function m(a){if("string"!=typeof a||""===a.trim())return null;let b=a.includes("/")?a.split("/").pop():a;return i.get(b)||i.get(b.toLowerCase())||null}async function n(a,b,c={}){let d=`${j(b)}/v1/models/metadata?include_in_cli=true`,f=new AbortController,h=setTimeout(()=>f.abort(Error("Kimchi models fetch timeout")),2e4),i=c.signal?AbortSignal.any([c.signal,f.signal]):f.signal;try{let b=await (0,e.proxyAwareFetch)(d,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`,"User-Agent":"kimchi/0.1.40"},cache:"no-store",signal:i},c.proxyOptions||null);if(!b.ok){let a=Error(`Kimchi models ${b.status}: ${b.statusText}`);throw a.status=b.status,a.retryable=g.has(b.status),a}let f=await b.json();return Array.isArray(f?.models)?f.models:[]}finally{clearTimeout(h)}}async function o(a,b={}){let c,e,g,m=k(a);if(!m)return null;let p=a?.providerSpecificData?.kimchiEndpoint||b.endpoint||f,q=(g=(e=a?.providerSpecificData||{}).userId||e.username||a?.refreshToken||k(a)||"anonymous",(0,d.createHash)("sha256").update(`kimchi:${j(p)}:${g}`).digest("hex")),r=Date.now();if(!b.forceRefresh){let a=h.get(q);if(a&&a.expiresAt>r)return a}try{c=await n(m,p,b)}catch(a){return b.log?.warn?.("KIMCHI_MODELS",a.message),null}let s=c.map(l).filter(Boolean);if(0===s.length)return null;for(let a of s||[])a?.id&&(i.set(a.id,a),i.set(a.id.toLowerCase(),a));let t={expiresAt:Date.now()+3e5,models:s,rawModels:c};return h.set(q,t),t}},55456:(a,b,c)=>{c.d(b,{CP:()=>r,Xh:()=>l,Y8:()=>q,tM:()=>n,yI:()=>o});var d=c(47293),e=c(74075),f=c.n(e);let g="1"===process.env.CURSOR_PROTOBUF_DEBUG,h=(a,...b)=>g&&console.log(`[PROTOBUF:${a}]`,...b);new TextDecoder;let i="1.1.3",j=new Set([1,2,3,9,10,11,27,1,25]);function k(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function l(a,b,c){let d=k(a<<3|b);if(0===b)return m(d,k(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return m(d,k(a.length),a)}return new Uint8Array(0)}function m(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function n(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(f().gzipSync(Buffer.from(a))),d=1);let e=new Uint8Array(5+c.length);return e[0]=d,e[1]=c.length>>24&255,e[2]=c.length>>16&255,e[3]=c.length>>8&255,e[4]=255&c.length,e.set(c,5),e}function o(a,b,c=[],e=null,f=!1){h("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}, forceAgentMode=${f}`);let g=function(a,b,c=[],e=null,f=!1){return l(1,2,function(a,b,c=[],e=null,f=!1){let g,i=c?.length>0,j=i||f,n=[],o=[],p=[];for(let b=0;b<a.length;b++){let c=a[b],d=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0,e=Array.isArray(c?.tool_results)&&c.tool_results.length>0;if(c?.role==="assistant"&&d&&e){h("ENCODE",`normalizing mixed assistant tool payload at msg[${b}] (calls=${c.tool_calls.length}, results=${c.tool_results.length})`),p.push({...c,tool_results:[]});let d=a[b+1],e=d?.role==="assistant"&&Array.isArray(d?.tool_results)&&d.tool_results.length>0,f=new Set(c.tool_results.map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),g=new Set((d?.tool_results||[]).map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),i=f.size>0&&f.size===g.size;if(i){for(let a of f)if(!g.has(a)){i=!1;break}}e&&i||p.push({role:"assistant",content:"",tool_results:c.tool_results});continue}p.push(c)}for(let a=0;a<p.length;a++){let b=p[a],c="user"===b.role?1:2,e=(0,d.A)(),f=a===p.length-1;n.push({content:b.content,role:c,messageId:e,isLast:f,hasTools:i,toolResults:b.tool_results||[]}),o.push({messageId:e,role:c})}let q=0;return"medium"===e?q=1:"high"===e&&(q=2),m(...n.map(a=>l(1,2,function(a,b,c,d=!1,e=!1,f=[],g=null){let h=f.length>0;return m(l(1,2,a),l(2,0,b),l(13,2,c),...g?[l(32,2,g)]:[],...h?f.map(a=>l(18,2,function(a){var b;let c,d,e=function(a){let b="string"==typeof a&&a.length>0?a:"tool";if(b.startsWith("mcp__")){let a=b.slice(5),c=a.indexOf("__");if(c>=0){let b=a.slice(0,c)||"custom",d=a.slice(c+2)||"tool";return`mcp_${b}_${d}`}return`mcp_custom_${a||"tool"}`}return b.startsWith("mcp_")?b:`mcp_custom_${b}`}(a.tool_name||a.name||""),f=a.raw_args||"{}",g=a.result_content||a.result||"",{toolCallId:h,modelCallId:i}=(b=a.tool_call_id||"",c="\nmc_",(d=b.indexOf(c))>=0?{toolCallId:b.slice(0,d),modelCallId:b.slice(d+c.length)}:{toolCallId:b,modelCallId:null}),j=a.tool_index||a.index||1,{serverName:k,selectedTool:n}=function(a){if("string"!=typeof a||!a.startsWith("mcp_"))return{serverName:"custom",selectedTool:a||"tool"};let b=a.slice(4),c=b.indexOf("_");return c<0?{serverName:"custom",selectedTool:b||"tool"}:{serverName:b.slice(0,c)||"custom",selectedTool:b.slice(c+1)||"tool"}}(e);return m(l(1,2,h),l(2,2,e),l(3,0,j>0?j:1),...i?[l(12,2,i)]:[],l(5,2,f),l(8,2,function(a,b,c,d,e=1){return m(l(1,0,19),l(28,2,m(l(1,2,c),l(2,2,d))),l(35,2,a),...b?[l(48,2,b)]:[],l(49,0,e>0?e:1))}(h,i,n,g,j)),l(11,2,function(a,b,c,d,e,f,g=1){let h;return m(l(1,0,19),l(27,2,(h=m(l(1,2,c),l(3,2,e),l(4,2,d)),l(1,2,h))),l(3,2,a),l(9,2,b),l(10,2,e),l(48,0,g>0?g:1),...f?[l(49,2,f)]:[])}(h,e,n,k,f,i,j)))}(a))):[],l(29,0,+!!e),l(47,0,e?2:1),...d&&e?[l(51,2,k(1))]:[])}(a.content,a.role,a.messageId,a.isLast,a.hasTools,a.toolResults))),l(2,0,1),l(3,2,new Uint8Array(0)),l(4,0,1),l(5,2,m(l(1,2,b),l(4,2,new Uint8Array(0)))),l(8,2,""),l(13,0,1),l(15,2,(g=m(l(1,2,new Uint8Array(0)),l(2,2,new Uint8Array(0))),m(l(1,2,"cursor\\aisettings"),l(3,2,new Uint8Array(0)),l(6,2,g),l(8,0,1),l(9,0,1)))),l(19,0,1),l(23,2,(0,d.A)()),l(26,2,m(l(1,2,process.platform||"linux"),l(2,2,process.arch||"x64"),l(3,2,process.version||"v20.0.0"),l(4,2,process.cwd?.()||"/"),l(5,2,new Date().toISOString()))),l(27,0,+!!j),...j?[l(29,2,k(1))]:[],...o.map(a=>l(30,2,function(a,b,c=null){return m(l(1,2,a),...c?[l(2,2,c)]:[],l(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return l(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},m(...b?[l(1,2,b)]:[],...c?[l(2,2,c)]:[],...Object.keys(d).length>0?[l(3,2,JSON.stringify(d))]:[],l(4,2,"custom"))))}):[],l(35,0,0),l(38,0,0),l(46,0,j?2:1),l(47,2,""),l(48,0,+!j),l(49,0,q),l(51,0,0),l(53,0,1),l(54,2,j?"Agent":"Ask"))}(a,b,c,e,f))}(a,b,c,e,f),i=n(g,!1);return h("BODY",`Protobuf=${g.length}B, Framed=${i.length}B`),i}function p(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function q(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=p(a,b),f=7&d,g=e;if(0===f)[c,g]=p(a,g);else if(2===f){let[b,d]=p(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function r(a){try{let b=q(a);for(let a of b.keys())j.has(a)||h("SCHEMA",`Unknown response field #${a} detected. Schema v${i} may be outdated.`);if(b.has(1)){let a=function(a){let b=q(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=q(b.get(27)[0].value);if(a.has(1)){let b=q(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){h("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return h("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=q(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=q(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){h("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(b){return h("EXTRACT",`Decode failed (schema v${i}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},71081:(a,b,c)=>{c.d(b,{JP:()=>o,KW:()=>r,lY:()=>p,uG:()=>q});var d=c(77598),e=c(63912),f=c(21137);let g=new Map;function h(a){return a?.connectionProxyEnabled!==!0?"":"string"==typeof a.connectionProxyUrl?a.connectionProxyUrl.trim():""}let i=[{id:"notion-auto",name:"Notion Auto",owned_by:"notion"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",owned_by:"openai",notionCodename:"orange-mousse"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",owned_by:"openai",notionCodename:"orchid-muffin"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",owned_by:"openai",notionCodename:"olive-jellyroll"},{id:"gpt-5.5",name:"GPT-5.5",owned_by:"openai",notionCodename:"opal-quince-medium"},{id:"gpt-5.4",name:"GPT-5.4",owned_by:"openai",notionCodename:"oval-kumquat-medium"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",owned_by:"openai",notionCodename:"oregon-grape-medium"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",owned_by:"openai",notionCodename:"otaheite-apple-medium"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",owned_by:"gemini",notionCodename:"vertex-gemini-3.5-flash"},{id:"gemini-3-flash",name:"Gemini 3 Flash",owned_by:"gemini",notionCodename:"gingerbread"},{id:"sonnet-4.6",name:"Sonnet 4.6",owned_by:"anthropic",notionCodename:"almond-croissant-low"},{id:"opus-4.8",name:"Opus 4.8",owned_by:"anthropic",notionCodename:"ambrosia-tart-high"},{id:"haiku-4.5",name:"Haiku 4.5",owned_by:"anthropic",notionCodename:"anthropic-haiku-4.5"},{id:"fable-5",name:"Fable 5",owned_by:"anthropic",notionCodename:"acai-budino-high"},{id:"openai-gpt-4.1-mini",name:"GPT-4.1 Mini (legacy)",owned_by:"openai",notionCodename:"openai-gpt-4.1-mini"},{id:"openai-gpt-5-mini",name:"GPT-5 Mini (legacy)",owned_by:"openai",notionCodename:"openai-gpt-5-mini"},{id:"openai-o4-mini",name:"o4-mini (legacy)",owned_by:"openai",notionCodename:"openai-o4-mini"},{id:"oregon-grape-low",name:"Oregon Grape Low (legacy)",owned_by:"openai",notionCodename:"oregon-grape-low"},{id:"oregon-grape-high",name:"Oregon Grape High (legacy)",owned_by:"openai",notionCodename:"oregon-grape-high"},{id:"otaheite-apple-low",name:"Otaheite Apple Low (legacy)",owned_by:"openai",notionCodename:"otaheite-apple-low"},{id:"otaheite-apple-high",name:"Otaheite Apple High (legacy)",owned_by:"openai",notionCodename:"otaheite-apple-high"}];function j(a){return String(a||"").trim().toLowerCase().replace(/[^a-z0-9.]+/g,"-").replace(/\.{2,}/g,".").replace(/^[-.]+|[-.]+$/g,"")}function k(a,b,c="*/*"){let d={"Content-Type":"application/json",Accept:c,Cookie:a,Origin:e.Fz,Referer:`${e.Fz}/ai`,"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36","Accept-Language":"en-US,en;q=0.9","notion-client-version":b.clientVersion||e.XZ,"notion-audit-log-platform":"web",...e.su};return b.userId&&(d["x-notion-active-user-header"]=b.userId),b.spaceId&&(d["x-notion-space-id"]=b.spaceId),d}async function l(a,b){if(!a?.ok){let c=await a?.text?.().catch(()=>"")||"";throw Error(`${b} returned HTTP ${a?.status||0}${c?`: ${c.slice(0,180)}`:""}`)}return a.json()}async function m(a,b,c,d,f=""){let g=await c(e.aM,{method:"POST",headers:k(a,b,"application/json"),body:"{}",...f?{proxyUrl:f}:{},signal:d}),h=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return{userId:"",spaceIds:[]};let b=[],c="";for(let[d,e]of Object.entries(a)){let a=e?.space;if(!(!a||"object"!=typeof a||Array.isArray(a)))for(let e of(c||!d||d.includes(" ")||(c=d),Object.keys(a)))e&&!b.includes(e)&&b.push(e)}if(0===b.length&&Array.isArray(a.spaces))for(let c of a.spaces)"string"==typeof c?.id&&c.id&&!b.includes(c.id)&&b.push(c.id);if(0===b.length&&Array.isArray(a.spaceIds))for(let c of a.spaceIds)"string"==typeof c&&c&&!b.includes(c)&&b.push(c);return{userId:c,spaceIds:b}}(await l(g,"Notion getSpaces"));return{userId:b.userId||h.userId,spaceIds:h.spaceIds}}async function n(a,b,c,d,f,g=""){let h,i,m,o,p=k(a,{...b,spaceId:c}),q=await d(e.pg,{method:"POST",headers:p,body:JSON.stringify({spaceId:c}),...g?{proxyUrl:g}:{},signal:f}),r=await l(q,"Notion getAvailableModels"),s=function(a){let b=Array.isArray(a?.models)?a.models:[],c=new Set,d=[];for(let a of b){let b=function(a,b){if(!a||"object"!=typeof a||!0===a.isDisabled)return null;let c="string"==typeof a.model?a.model.trim():"";if(!c)return null;let d=String(a.modelMessage||a.displayName||a.name||c).trim(),e=j(d)||c;return b.has(e)||b.has(c)?null:(b.add(e),b.add(c),{id:e,name:d,owned_by:String(a.modelFamily||"notion"),...e!==c?{notionCodename:c}:{},...Array.isArray(a.modelConfiguration?.supportedReasoningEfforts)&&a.modelConfiguration.supportedReasoningEfforts.length>0?{supportsReasoning:!0}:{}})}(a,c);b&&d.push(b)}return d.some(a=>"notion-auto"===a.id)||d.unshift({id:"notion-auto",name:"Notion Auto",owned_by:"notion"}),d}(r);return{models:s,data:r,score:(h=s.filter(a=>"notion-auto"!==a.id).length,i=Array.isArray(r?.models)?r.models:[],m=s.some(a=>"fable-5"===a.id||"acai-budino-high"===a.notionCodename),o=i.some(a=>a?.isDisabled===!0&&(a?.model==="acai-budino-high"||"fable-5"===j(a?.modelMessage))),10*h+(m?1e3:o?-50:0))}}async function o({apiKey:a,providerSpecificData:b={},fetchImpl:c=f.QN,signal:d}={}){let g=(0,e.Zx)(a),i=(0,e.Fd)(b,a),j=h(b);if(i.spaceId&&i.userId)return{...i,source:"credentials"};let k=await m(g,i,c,d,j),l=i.spaceId||k.spaceIds[0]||"",n=i.userId||k.userId||"";if(!l||!n)throw Error("Notion workspace metadata could not be resolved from getSpaces");return{...i,spaceId:l,userId:n,source:"getSpaces"}}async function p({apiKey:a,providerSpecificData:b={},fetchImpl:c=f.QN,signal:i}={}){let j,k=(0,e.Zx)(a);if(!k)throw Error("Missing Notion token_v2 cookie");let l=(0,e.Fd)(b,a),o=h(b),q=`${(0,d.createHash)("sha256").update((j="token_v2".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),k.match(RegExp(`(?:^|;\\s*)${j}=([^;]*)`,"i"))?.[1]?.trim()||k)).digest("hex").slice(0,32)}:${l.spaceId||"auto"}`,r=g.get(q);if(r&&r.expiresAt>Date.now())return r.value;let s=l.spaceId?[l.spaceId]:[],t=l.userId;if(0===s.length||!t){let a=await m(k,l,c,i,o);t=t||a.userId,0===s.length&&(s=a.spaceIds)}if(0===s.length)throw Error("No Notion workspace was returned by getSpaces");let u=null;for(let a of s.slice(0,8))try{let b=await n(k,{...l,userId:t},a,c,i,o);(!u||b.score>u.score)&&(u={...b,spaceId:a})}catch{}if(!u)throw Error("Notion getAvailableModels failed for every workspace");let v={models:u.models,spaceId:u.spaceId,userId:t,source:"api"};return g.set(q,{value:v,expiresAt:Date.now()+18e5}),v}function q(a,b=[]){let c="string"==typeof a?a.trim():"";if(c.startsWith("notion-ai/")&&(c=c.slice(10)),c.startsWith("na/")&&(c=c.slice(3)),!c||["notion-auto","auto","default"].includes(c))return"";let d=function(a){let b=new Map;for(let c of a){let a=c.notionCodename||("notion-auto"===c.id?"":c.id);if(a)for(let d of[c.id,c.name,a,j(c.name)])d&&b.set(String(d).toLowerCase(),a)}return b}([...i,...b]);return d.get(c.toLowerCase())||d.get(j(c))||c}function r(){return i.map(a=>({...a}))}},81756:(a,b,c)=>{c.d(b,{JA:()=>h});var d=c(55511),e=c.n(d),f=c(85081);function g(a,b=""){return e().createHash("sha256").update(a+b).digest("hex")}function h(a,b=null,c=!0){let d=a.includes("::")?a.split("::")[1]:a,i=b||g(d,"machineId"),j=(0,f.Ay)(d,f.Ay.DNS),k=g(d),l=function(a){let b=Math.floor(Date.now()/1e6),c=new Uint8Array([b>>40&255,b>>32&255,b>>24&255,b>>16&255,b>>8&255,255&b]),d=165;for(let a=0;a<c.length;a++)c[a]=(c[a]^d)+a%256&255,d=c[a];let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",f="";for(let a=0;a<c.length;a+=3){let b=c[a],d=a+1<c.length?c[a+1]:0,g=a+2<c.length?c[a+2]:0;f+=e[b>>2],f+=e[(3&b)<<4|d>>4],a+1<c.length&&(f+=e[(15&d)<<2|g>>6]),a+2<c.length&&(f+=e[63&g])}return`${f}${a}`}(i),m="linux";"u">typeof process&&("win32"===process.platform?m="windows":"darwin"===process.platform&&(m="macos"));let n="x64";return"u">typeof process&&"arm64"===process.arch&&(n="aarch64"),{authorization:`Bearer ${d}`,"connect-accept-encoding":"gzip","connect-protocol-version":"1","content-type":"application/connect+proto","user-agent":"connect-es/1.6.1","x-amzn-trace-id":`Root=${e().randomUUID()}`,"x-client-key":k,"x-cursor-checksum":l,"x-cursor-client-version":"3.12.17","x-cursor-client-type":"ide","x-cursor-client-os":m,"x-cursor-client-arch":n,"x-cursor-client-device-type":"desktop","x-cursor-config-version":e().randomUUID(),"x-cursor-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC","x-ghost-mode":c?"true":"false","x-request-id":e().randomUUID(),"x-session-id":j}}},93943:(a,b,c)=>{c.d(b,{Dz:()=>g,Vq:()=>j,fp:()=>h});var d=c(8590);let e=new Map;function f(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function g(a){return f(a?.expiresAt??a?.tokenExpiresAt)}function h(a,b,c=Date.now()){if(!b||"codex"===a&&b.providerSpecificData?.codexRefreshBlockedAt)return!1;let e=g(b);return!!(null!==e&&e-c<(0,d.Og)(a)||"codex"===a&&b.refreshToken&&function(a,b=Date.now()){let c=f(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!c||b-c>=6912e5}(b,c))}async function i(a,b,c){let d,f=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),g=e.get(f);if(g)return g;let h=Promise.resolve().then(c).finally(()=>{e.delete(f)});return e.set(f,h),h}async function j(a,b,c){return b?i(a,b,async()=>{if("codex"===a&&b.providerSpecificData?.codexRefreshBlockedAt)throw(0,d.R_)({error:"unrecoverable_refresh_error",code:b.providerSpecificData.codexRefreshErrorCode||"invalid_refresh_token"});let e=await (0,d.$B)(a,b,c);if((0,d.jT)(e))throw(0,d.R_)(e);return function(a,b,c,e=Date.now()){var f,g;if(!c)return null;if((0,d.jT)(c))return c;let h={},i=new Date(e).toISOString();c.accessToken&&(h.accessToken=c.accessToken),c.apiKey&&(h.apiKey=c.apiKey),c.token&&(h.token=c.token);let j=c.refreshToken??b?.refreshToken;j&&(h.refreshToken=j);let k=c.idToken??b?.idToken;return k&&(h.idToken=k),c.expiresIn?(h.expiresIn=c.expiresIn,h.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,e)):c.expiresAt&&(h.expiresAt=c.expiresAt),c.projectId&&(h.projectId=c.projectId),c.providerSpecificData&&(f=b?.providerSpecificData,h.providerSpecificData=(g=c.providerSpecificData)&&"object"==typeof g?{...f||{},...g}:f),c.copilotToken&&(h.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(h.copilotTokenExpiresAt=c.copilotTokenExpiresAt),("codex"===a||h.accessToken||h.apiKey||h.token||h.refreshToken||h.copilotToken)&&(h.lastRefreshAt=c.lastRefreshAt||i),h}(a,b,e)}):null}}};
@@ -1,2 +0,0 @@
1
- "use strict";exports.id=3912,exports.ids=[3912],exports.modules={21137:(a,b,c)=>{c.d(b,{Lf:()=>k,QN:()=>r,hH:()=>q});var d=c(48161),e=c.n(d),f=c(76760),g=c.n(f);let h="function"==typeof require?require:void 0,i=null,j=!1;class k extends Error{constructor(a){super(a),this.name="TlsClientUnavailableError"}}class l extends Error{constructor(a){super(a),this.name="TlsClientHangError"}}function m(a){let b=a?.reason;if(b instanceof Error)return b;let c=Error("string"==typeof b?b:"The operation was aborted");return c.name="AbortError",c}async function n(){return i||(i=(async()=>{try{let a=function(){let a,b=[process.env.ZEVAI_NOTION_TLS_MODULE,"tls-client-node",g().join((a=("string"==typeof process.env.DATA_DIR?process.env.DATA_DIR.trim():"")||("win32"===process.platform?g().join(process.env.APPDATA||g().join(e().homedir(),"AppData","Roaming"),"zevai"):g().join(e().homedir(),".zevai")),g().join(a,"runtime","node_modules")),"tls-client-node")].filter(Boolean),c=null;for(let a of b)try{return h(a)}catch(a){c=a}throw c||Error("tls-client-node is not installed")}(),b=a.TLSClient||a.default?.TLSClient;if("function"!=typeof b)throw Error("TLSClient export is missing");let c=new b({runtimeMode:"native"});return await c.start(),!function(){if(j)return;j=!0;let a=async()=>{if(i)try{let a=await i;await a?.stop?.()}catch{}};process.once("beforeExit",a),process.once("SIGINT",()=>void a()),process.once("SIGTERM",()=>void a())}(),c}catch(a){throw i=null,new k(`Notion Chrome TLS transport unavailable: ${a?.message||"install tls-client-node"}`)}})()),i}async function o(a,b,c){let d,e;try{let f=[a,new Promise((a,c)=>{d=setTimeout(()=>{c(new l(`Notion TLS request exceeded ${b}ms`))},b)})];return c&&f.push(new Promise((a,b)=>{c.aborted?b(m(c)):(e=()=>b(m(c)),c.addEventListener("abort",e,{once:!0}))})),await Promise.race(f)}finally{d&&clearTimeout(d),c&&e&&c.removeEventListener("abort",e)}}async function p(a){return"string"==typeof a?.body?a.body:"function"==typeof a?.text?a.text():""}async function q(a,b={}){let c,d;if(b.signal?.aborted)throw m(b.signal);let e=Number.isFinite(d=Number.parseInt(String(b.timeoutMs||process.env.ZEVAI_NOTION_TLS_TIMEOUT_MS||""),10))&&d>0?d:18e4,f=await n();if(b.signal?.aborted)throw m(b.signal);let g={method:b.method||"GET",headers:b.headers||{},body:b.body,tlsClientIdentifier:"chrome_146",timeoutMilliseconds:e,followRedirects:!0,withRandomTLSExtensionOrder:!0},h=b.proxyUrl||process.env.ZEVAI_NOTION_TLS_PROXY_URL||process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy;h&&(g.proxyUrl=h);try{c=await o(f.request(a,g),e+1e4,b.signal)}catch(a){throw a instanceof l&&(i=null),a}if(b.signal?.aborted)throw m(b.signal);return{status:Number(c?.status??c?.statusCode??0),headers:function(a){let b=new Headers;if(a instanceof Headers)return a;for(let[c,d]of Object.entries(a||{}))if(Array.isArray(d))for(let a of d)b.append(c,String(a));else null!=d&&b.set(c,String(d));return b}(c?.headers),text:await p(c)}}async function r(a,b={}){try{var d;return(d=await q(a,b))instanceof Response?d:new Response(d?.text||"",{status:d?.status||502,headers:d?.headers})}catch(g){if(!(g instanceof k))throw g;let{proxyUrl:d,...e}=b,{proxyAwareFetch:f}=await Promise.resolve().then(c.bind(c,39609));return f(a,e,d?{connectionProxyEnabled:!0,connectionProxyUrl:d}:null)}}},63912:(a,b,c)=>{c.d(b,{Fd:()=>p,Fz:()=>h,I3:()=>C,KP:()=>e,MT:()=>q,XZ:()=>i,Yq:()=>y,ZZ:()=>t,Zx:()=>n,aM:()=>f,kx:()=>A,pg:()=>g,s$:()=>r,su:()=>j,vZ:()=>v,wt:()=>u,xz:()=>B});var d=c(21137);let e="https://app.notion.com/api/v3/runInferenceTranscript",f="https://app.notion.com/api/v3/getSpaces",g="https://app.notion.com/api/v3/getAvailableModels",h="https://app.notion.com",i="23.13.20260720.1949",j={"sec-ch-ua":'"Chromium";v="146", "Not)A;Brand";v="24"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-origin",priority:"u=1, i","cache-control":"no-cache",pragma:"no-cache"};function k(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`zevai-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}function l(a){return"string"==typeof a?a.trim():""}function m(...a){for(let b of a){let a=l(b);if(a)return a}return""}function n(a){let b=l(a).replace(/^Cookie:\s*/i,"");if(!b)return"";let c=function(a){let b;if(!a.startsWith("[")&&!a.startsWith("{"))return"";try{b=JSON.parse(a)}catch{return""}let c=(Array.isArray(b)?b:Array.isArray(b?.cookies)?b.cookies:b?.name?[b]:[]).map(a=>{let b=l(a?.name),c="string"==typeof a?.value?a.value:"",d=l(a?.domain).replace(/^\./,"").toLowerCase(),e=!d||/(^|\.)notion\.(?:com|so)$/.test(d);return!(!b||!/^[A-Za-z0-9_.-]+$/.test(b)||!c||/[\r\n;]/.test(c))&&e?`${b}=${c}`:null}).filter(Boolean);return c.some(a=>/^token_v2=/i.test(a))?c.join("; "):""}(b);if(c)return c;if(/[\r\n]/.test(b))return"";let d=/^(?:token_v2|token|notion_user_id|device_id)\s*=/i.test(b),e=b.includes(";")&&/^[a-zA-Z0-9_.-]+\s*=/.test(b);return d||e?b:`token_v2=${b}`}function o(a,b){if(!a||!b)return"";let c=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),d=a.match(RegExp(`(?:^|;\\s*)${c}=([^;]*)`,"i"));return d?.[1]?.trim()||""}function p(a={},b=""){let c=a&&"object"==typeof a?a:{},d=n(b),e=m(c.spaceId,o(d,"space_id"),o(d,"spaceId"));return{spaceId:e,userId:m(c.userId,c.notionUserId,o(d,"notion_user_id"),o(d,"user_id")),spaceViewId:m(c.spaceViewId,e,o(d,"space_view_id"),o(d,"spaceViewId")),spaceName:m(c.spaceName,"Notion"),userName:m(c.userName,"ZevaiRouter"),userEmail:l(c.userEmail),timezone:m(c.timezone,"UTC"),clientVersion:m(c.clientVersion,c.notionClientVersion,i),cell:m(c.cell,c.notionCell)}}function q({apiKey:a,providerSpecificData:b}={}){return n(a)?{valid:!0,metadata:p(b,a)}:{valid:!1,error:"Notion cookie is required"}}async function r({apiKey:a,providerSpecificData:b,fetchImpl:c=d.QN,signal:e}={}){let g,h=q({apiKey:a,providerSpecificData:b});if(!h.valid)return h;let i=u({apiKey:a,providerSpecificData:b,stream:!1});try{g=await c(f,{method:"POST",headers:i,body:"{}",signal:e})}catch(a){if(e?.aborted)throw a;return{valid:!1,error:"Could not connect to Notion"}}try{if(401===g.status||403===g.status)return{valid:!1,error:"Notion session rejected - re-paste the cookie"};if(429===g.status)return{valid:!0,rateLimited:!0,error:"Notion session accepted but is currently rate limited"};if(g.status>=200&&g.status<300)return{valid:!0,error:null};if(400===g.status)return{valid:!1,error:"Notion rejected the getSpaces request"};return{valid:!1,error:`Notion returned HTTP ${g.status}`}}finally{try{await g.body?.cancel?.()}catch{}}}function s(a,b){return{id:k(),type:"user",value:[[a]],userId:b,createdAt:new Date().toISOString()}}function t({body:a,model:b,providerSpecificData:c,apiKey:d,traceId:e=k(),threadId:f=k(),createThread:g=!0}={}){let h=p(c,d),i=b&&!["notion-auto","auto","default"].includes(b)?b:null,j={annotationInferences:{},cachedInferences:{},emitAgentSearchExtractedResults:!0,emitInferences:!1};return i&&(j.model=i),{traceId:e,spaceId:h.spaceId,transcript:function({body:a,model:b,metadata:c}){var d;let e,f=Array.isArray(a?.messages)?a.messages:[];if(0===f.length)throw Error("Missing or empty messages array");let g=f.map(a=>{var b;return{role:String(a?.role||"user").toLowerCase(),content:"string"==typeof(b=a?.content)?b:Array.isArray(b)?b.map(a=>"string"==typeof a?a:a&&"object"==typeof a?"text"===a.type&&"string"==typeof a.text?a.text:"image_url"===a.type||"image"===a.type?"[Image input omitted]":"string"==typeof a.content?a.content:"string"==typeof a.text?a.text:"":"").filter(Boolean).join("\n"):b&&"object"==typeof b&&"string"==typeof b.text?b.text:""}}).filter(a=>a.content.trim()),h=g.filter(a=>"system"===a.role||"developer"===a.role).map(a=>a.content.trim()).filter(Boolean).join("\n\n"),i=g.filter(a=>!["system","developer"].includes(a.role)),j=[(e={type:"workflow",enableAgentAutomations:!0,enableAgentIntegrations:!0,enableCustomAgents:!0,enableScriptAgent:!0,enableAgentDiffs:!0,enableCsvAttachmentSupport:!0,enableComputer:!0,enableCreateAndRunThread:!0,enableAgentGenerateImage:!0,useWebSearch:!0,searchScopes:[{type:"everything"}],availableConnectors:[],enableUserSessionContext:!1,isCustomAgent:!1,isCustomAgentBuilder:!1,isCustomAgentCreate:!1,isAgentResearchRequest:!1,useCustomAgentDraft:!1,databaseAgentConfigMode:!1,isOnboardingAgent:!1,isMobile:!1,modelFromUser:!!(b&&!["notion-auto","auto","default"].includes(b))},b&&!["notion-auto","auto","default"].includes(b)&&(e.model=b),{id:k(),type:"config",value:e}),function(a,b=""){return{id:k(),type:"context",value:{timezone:a.timezone,userName:a.userName,userEmail:a.userEmail,userId:a.userId,spaceName:a.spaceName,spaceId:a.spaceId,spaceViewId:a.spaceViewId,currentDatetime:new Date().toISOString(),surface:"ai_module",...b?{instructions:b}:{}}}}(c,h)],l=0;for(let a of i){if("assistant"===a.role){j.push((d=a.content,{id:k(),type:"agent-inference",value:[{type:"text",content:d}]}));continue}let b="tool"===a.role?"Tool result":null,e=b?`${b}:
2
- ${a.content}`:a.content;j.push(s(e,c.userId)),l+=1}return 0===l&&j.push(s("Please respond to the request.",c.userId)),j}({body:a,model:i,metadata:h}),threadId:f,threadParentPointer:{table:"space",id:h.spaceId,spaceId:h.spaceId},createThread:g,debugOverrides:j,generateTitle:g,saveAllThreadOperations:!0,setUnreadState:g,createdSource:"ai_module",threadType:"workflow",isPartialTranscript:!g,asPatchResponse:!0,patchResponseVersion:2,isUserInAnySalesAssistedSpace:!1,isSpaceSalesAssisted:!1,supportsCustomAgentNudgeTranscriptStep:!0}}function u({apiKey:a,providerSpecificData:b,stream:c=!0,userAgent:d="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}={}){let e=p(b,a),f={"Content-Type":"application/json",Accept:!1===c?"application/json":"application/x-ndjson",Cookie:n(a),Origin:h,Referer:`${h}/ai`,"User-Agent":d,"Accept-Language":"en-US,en;q=0.9","notion-audit-log-platform":"web",...j};return e.userId&&(f["x-notion-active-user-header"]=e.userId),e.spaceId&&(f["x-notion-space-id"]=e.spaceId),e.clientVersion&&(f["notion-client-version"]=e.clientVersion),e.cell&&(f["x-notion-cell"]=e.cell),f}function v(a={}){return Object.fromEntries(Object.entries(a).map(([a,b])=>[a,"cookie"===a.toLowerCase()?"[redacted]":b]))}function w(a,b){let c=b.trim();if(c&&"[DONE]"!==c)try{let b=JSON.parse(c);Array.isArray(b)?a.push(...b):a.push(b)}catch{}}function x(a,b=!1){let c=[],d=0;for(;d<a.length;){for(;/\s/.test(a[d]||"");)d+=1;if(d>=a.length)break;if(a.startsWith("data:",d)){let e=a.indexOf("\n",d);if(e<0&&!b)break;let f=e<0?a.length:e;w(c,a.slice(d+5,f).replace(/\r$/,"")),d=e<0?a.length:e+1;continue}if(a.startsWith("event:",d)||a.startsWith("id:",d)){let c=a.indexOf("\n",d);if(c<0&&!b)break;d=c<0?a.length:c+1;continue}let e=a[d];if("{"!==e&&"["!==e){let c=a.indexOf("\n",d);if(c<0&&!b)break;d=c<0?a.length:c+1;continue}let f=function(a,b){let c=a[b],d="{"===c?"}":"["===c?"]":null;if(!d)return -1;let e=0,f=!1,g=!1;for(let h=b;h<a.length;h+=1){let b=a[h];if(f){g?g=!1:"\\"===b?g=!0:'"'===b&&(f=!1);continue}if('"'===b){f=!0;continue}if(b===c)e+=1;else if(b===d&&0==(e-=1))return h+1}return -1}(a,d);if(f<0)break;w(c,a.slice(d,f)),d=f}return{frames:c,remainder:a.slice(d)}}async function*y(a,b){if(!a?.getReader)return;let c=a.getReader(),d=new TextDecoder,e="";try{for(;;){if(b?.aborted)return;let{value:a,done:f}=await c.read();if(f)break;e+=d.decode(a,{stream:!0});let g=x(e);for(let a of(e=g.remainder,g.frames))yield a}for(let a of(e+=d.decode(),x(e,!0).frames))yield a}finally{try{c.releaseLock()}catch{}}}function z(a){if(!a||"object"!=typeof a)return[];let b=a.value??a.content;if("string"==typeof b)return[{type:"text",content:b}];if(b&&"object"==typeof b&&!Array.isArray(b)){if(["text","thinking"].includes(b.type)&&"string"==typeof b.content)return[{type:b.type,content:b.content}];if("string"==typeof b.content)return[{type:"text",content:b.content}]}return Array.isArray(b)?b.filter(a=>a&&["text","thinking"].includes(a.type)&&"string"==typeof a.content).map(a=>({type:a.type,content:a.content})):[]}function A(a){let b=a&&"object"==typeof a?"agent-inference"===a.type?a:a.step?.type==="agent-inference"?a.step:a.value?.type==="agent-inference"?a.value:null:null;if(b)return z(b);if(a?.type==="markdown-chat"&&"string"==typeof a.value)return[{type:"text",content:a.value}];if(a?.type==="record-map"||a?.recordMap)return function(a){if(!a||"object"!=typeof a||Array.isArray(a))return[];let b=a.thread_message;if(!b||"object"!=typeof b||Array.isArray(b))return[];let c=[];for(let a of Object.values(b)){let b=a?.value?.value?.step;b&&"object"==typeof b&&("agent-inference"===b.type&&c.push(...z(b)),"markdown-chat"===b.type&&"string"==typeof b.value&&c.push({type:"text",content:b.value}))}return 0===c.length?[]:[c.reduce((a,b)=>b.content.length>a.content.length?b:a)]}(a.recordMap||a);if(a?.type==="patch"){if(!Array.isArray(a?.v))return[];let b=[];for(let c of a.v){if(!c||"object"!=typeof c)continue;let a="string"==typeof c.p?c.p:"",d=c.v;d&&"object"==typeof d&&!Array.isArray(d)?"agent-inference"===d.type?b.push(...z(d)):"markdown-chat"===d.type&&"string"==typeof d.value?b.push({type:"text",content:d.value}):"text"===d.type&&"string"==typeof d.content&&b.push({type:"text",content:d.content}):"string"==typeof d&&a.includes("/value")&&b.push({type:"text",content:d})}return b}return[]}function B(a){if(!a||"object"!=typeof a)return null;let b=[a];for(let c of[a.data?.s,a.s,a.value?.s])Array.isArray(c)&&b.push(...c);for(let a of b){if(!a||"object"!=typeof a)continue;let b="string"==typeof a.type?a.type.toLowerCase():"",c="string"==typeof a.subType?a.subType:"";if(!["error","agent-debug-error"].includes(b)&&!c)continue;let d=a.message||a.error||a.value||a.name,e="string"==typeof d?d:d?.message||d?.error||d?.name;return"string"==typeof e&&e.trim()?e.trim().slice(0,500):c||"Notion inference failed"}return null}function C(a,b=""){let c="string"==typeof a?a:"";return c&&c!==b?c.startsWith(b)?c.slice(b.length):b.startsWith(c)?"":c:""}}};