@amir83nasr/10router 0.1.0 → 0.1.3

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 (590) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +4 -4
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/next-server.js.nft.json +1 -1
  5. package/.next/prerender-manifest.json +4 -4
  6. package/.next/required-server-files.json +5 -5
  7. package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  8. package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  11. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  14. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  17. package/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  20. package/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  23. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  24. package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js +2 -2
  26. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js.nft.json +1 -1
  27. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js +1 -1
  29. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js.nft.json +1 -1
  30. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/(dashboard)/dashboard/page.js +1 -1
  32. package/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  33. package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  35. package/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  36. package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  38. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  39. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  41. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  42. package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  43. package/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  44. package/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  45. package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  46. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  47. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  48. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  50. package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  51. package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  53. package/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  54. package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  56. package/.next/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  57. package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  59. package/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  60. package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/_global-error/page.js +2 -2
  62. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  63. package/.next/server/app/_global-error.html +1 -1
  64. package/.next/server/app/_global-error.rsc +1 -1
  65. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  66. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  67. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  68. package/.next/server/app/_not-found/page.js +1 -1
  69. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  70. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/_not-found.html +1 -1
  72. package/.next/server/app/_not-found.rsc +7 -7
  73. package/.next/server/app/_not-found.segments/_full.segment.rsc +7 -7
  74. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +7 -7
  75. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  76. package/.next/server/app/api/auth/login/route.js +1 -1
  77. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/auth/logout/route.js +1 -1
  79. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/auth/oidc/callback/route.js +1 -1
  81. package/.next/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/auth/oidc/start/route.js +1 -1
  83. package/.next/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/auth/oidc/test/route.js +1 -1
  85. package/.next/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/auth/reset-password/route.js +1 -1
  87. package/.next/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/auth/saml/acs/route.js +1 -1
  89. package/.next/server/app/api/auth/saml/acs/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/auth/saml/metadata/route.js +2 -2
  91. package/.next/server/app/api/auth/saml/metadata/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/auth/saml/start/route.js +2 -2
  93. package/.next/server/app/api/auth/saml/start/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/auth/saml/test/route.js +2 -2
  95. package/.next/server/app/api/auth/saml/test/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/auth/status/route.js +1 -1
  97. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/changelog/route.js +1 -1
  99. package/.next/server/app/api/changelog/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -1
  101. package/.next/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  103. package/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
  105. package/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  107. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  109. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  111. package/.next/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -1
  113. package/.next/server/app/api/cli-tools/dsh-settings/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  115. package/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/combos/[id]/route.js +1 -1
  117. package/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/combos/route.js +1 -1
  119. package/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/headroom/extras/route.js +1 -1
  121. package/.next/server/app/api/headroom/extras/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  123. package/.next/server/app/api/headroom/proxy/[...path]/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/headroom/restart/route.js +1 -1
  125. package/.next/server/app/api/headroom/restart/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/headroom/start/route.js +1 -1
  127. package/.next/server/app/api/headroom/start/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/headroom/status/route.js +1 -1
  129. package/.next/server/app/api/headroom/status/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/headroom/stop/route.js +1 -1
  131. package/.next/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/health/route.js +1 -1
  133. package/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/init/route.js +1 -1
  135. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/keys/[id]/route.js +1 -1
  137. package/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/keys/route.js +1 -1
  139. package/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/locale/route.js +1 -1
  141. package/.next/server/app/api/locale/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/mcp/[plugin]/message/route.js +2 -2
  143. package/.next/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  145. package/.next/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  147. package/.next/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  149. package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  151. package/.next/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  153. package/.next/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
  155. package/.next/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/models/alias/route.js +1 -1
  157. package/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/models/availability/route.js +1 -1
  159. package/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/models/catalog-sync/route.js +1 -1
  161. package/.next/server/app/api/models/catalog-sync/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/models/custom/route.js +1 -1
  163. package/.next/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/models/disabled/route.js +1 -1
  165. package/.next/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/models/route.js +1 -1
  167. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/models/test/route.js +1 -1
  169. package/.next/server/app/api/models/test/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  171. package/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  173. package/.next/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
  175. package/.next/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  177. package/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  179. package/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  181. package/.next/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  183. package/.next/server/app/api/oauth/grok-cli/bulk-import/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  185. package/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  187. package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  189. package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/pricing/route.js +1 -1
  191. package/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  193. package/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/provider-nodes/route.js +1 -1
  195. package/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  197. package/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/providers/[id]/models/route.js +1 -1
  199. package/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/providers/[id]/route.js +1 -1
  201. package/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  202. package/.next/server/app/api/providers/[id]/test/route.js +1 -1
  203. package/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  205. package/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/api/providers/client/route.js +1 -1
  207. package/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
  209. package/.next/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/providers/route.js +1 -1
  211. package/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/api/providers/suggested-models/route.js +1 -1
  213. package/.next/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/providers/test-batch/route.js +1 -1
  215. package/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/providers/validate/route.js +1 -1
  217. package/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  219. package/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  221. package/.next/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
  223. package/.next/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  225. package/.next/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -1
  226. package/.next/server/app/api/proxy-pools/route.js +1 -1
  227. package/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  229. package/.next/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
  230. package/.next/server/app/api/pxpipe/health/route.js +2 -2
  231. package/.next/server/app/api/pxpipe/health/route_client-reference-manifest.js +1 -1
  232. package/.next/server/app/api/pxpipe/install/route.js +1 -1
  233. package/.next/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -1
  234. package/.next/server/app/api/pxpipe/logs/route.js +1 -1
  235. package/.next/server/app/api/pxpipe/logs/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/api/pxpipe/restart/route.js +2 -2
  237. package/.next/server/app/api/pxpipe/restart/route_client-reference-manifest.js +1 -1
  238. package/.next/server/app/api/pxpipe/start/route.js +1 -1
  239. package/.next/server/app/api/pxpipe/start/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/pxpipe/stats/route.js +2 -2
  241. package/.next/server/app/api/pxpipe/stats/route_client-reference-manifest.js +1 -1
  242. package/.next/server/app/api/pxpipe/status/route.js +1 -1
  243. package/.next/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -1
  244. package/.next/server/app/api/pxpipe/stop/route.js +2 -2
  245. package/.next/server/app/api/pxpipe/stop/route_client-reference-manifest.js +1 -1
  246. package/.next/server/app/api/settings/database/route.js +1 -1
  247. package/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
  248. package/.next/server/app/api/settings/proxy-test/route.js +1 -1
  249. package/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
  250. package/.next/server/app/api/settings/require-login/route.js +1 -1
  251. package/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/settings/route.js +1 -1
  253. package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  254. package/.next/server/app/api/shutdown/route.js +1 -1
  255. package/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  256. package/.next/server/app/api/tags/route.js +1 -1
  257. package/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/translator/console-logs/route.js +1 -1
  259. package/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
  260. package/.next/server/app/api/translator/console-logs/stream/route.js +1 -1
  261. package/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
  262. package/.next/server/app/api/translator/load/route.js +1 -1
  263. package/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  264. package/.next/server/app/api/translator/save/route.js +1 -1
  265. package/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  266. package/.next/server/app/api/translator/send/route.js +1 -1
  267. package/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  268. package/.next/server/app/api/translator/translate/route.js +1 -1
  269. package/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/api/tunnel/disable/route.js +1 -1
  271. package/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
  272. package/.next/server/app/api/tunnel/enable/route.js +1 -1
  273. package/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
  274. package/.next/server/app/api/tunnel/status/route.js +1 -1
  275. package/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
  276. package/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
  277. package/.next/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -1
  278. package/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  279. package/.next/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -1
  280. package/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  281. package/.next/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -1
  282. package/.next/server/app/api/tunnel/tailscale-install/route.js +2 -2
  283. package/.next/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -1
  284. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  285. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -1
  286. package/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  287. package/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  288. package/.next/server/app/api/usage/chart/route.js +1 -1
  289. package/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
  290. package/.next/server/app/api/usage/history/route.js +1 -1
  291. package/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  292. package/.next/server/app/api/usage/logs/route.js +1 -1
  293. package/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  294. package/.next/server/app/api/usage/providers/route.js +1 -1
  295. package/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  296. package/.next/server/app/api/usage/request-details/route.js +1 -1
  297. package/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  298. package/.next/server/app/api/usage/request-logs/route.js +1 -1
  299. package/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/api/usage/stats/route.js +1 -1
  301. package/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
  302. package/.next/server/app/api/usage/stream/route.js +2 -2
  303. package/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
  304. package/.next/server/app/api/v1/api/chat/route.js +1 -1
  305. package/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/api/v1/audio/speech/route.js +1 -1
  307. package/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  308. package/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  309. package/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  310. package/.next/server/app/api/v1/audio/voices/route.js +1 -1
  311. package/.next/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/api/v1/chat/completions/route.js +1 -1
  313. package/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  314. package/.next/server/app/api/v1/embeddings/route.js +1 -1
  315. package/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  316. package/.next/server/app/api/v1/images/generations/route.js +2 -2
  317. package/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  318. package/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  319. package/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  320. package/.next/server/app/api/v1/messages/route.js +1 -1
  321. package/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  322. package/.next/server/app/api/v1/models/[...model]/route.js +1 -1
  323. package/.next/server/app/api/v1/models/[...model]/route_client-reference-manifest.js +1 -1
  324. package/.next/server/app/api/v1/models/info/route.js +1 -1
  325. package/.next/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
  326. package/.next/server/app/api/v1/models/route.js +1 -1
  327. package/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  328. package/.next/server/app/api/v1/responses/compact/route.js +1 -1
  329. package/.next/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
  330. package/.next/server/app/api/v1/responses/route.js +1 -1
  331. package/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  332. package/.next/server/app/api/v1/route.js +1 -1
  333. package/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  334. package/.next/server/app/api/v1/search/route.js +1 -1
  335. package/.next/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
  336. package/.next/server/app/api/v1/systemone/route.js +1 -1
  337. package/.next/server/app/api/v1/systemone/route_client-reference-manifest.js +1 -1
  338. package/.next/server/app/api/v1/videos/[id]/route.js +1 -1
  339. package/.next/server/app/api/v1/videos/[id]/route_client-reference-manifest.js +1 -1
  340. package/.next/server/app/api/v1/videos/edits/route.js +1 -1
  341. package/.next/server/app/api/v1/videos/edits/route_client-reference-manifest.js +1 -1
  342. package/.next/server/app/api/v1/videos/extensions/route.js +1 -1
  343. package/.next/server/app/api/v1/videos/extensions/route_client-reference-manifest.js +1 -1
  344. package/.next/server/app/api/v1/videos/generations/route.js +1 -1
  345. package/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  346. package/.next/server/app/api/v1/web/fetch/route.js +1 -1
  347. package/.next/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
  348. package/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  349. package/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  350. package/.next/server/app/api/v1beta/models/route.js +1 -1
  351. package/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  352. package/.next/server/app/api/version/route.js +1 -1
  353. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
  354. package/.next/server/app/api/version/shutdown/route.js +1 -1
  355. package/.next/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -1
  356. package/.next/server/app/api/version/update/route.js +1 -1
  357. package/.next/server/app/api/version/update/route_client-reference-manifest.js +1 -1
  358. package/.next/server/app/callback/page.js +1 -1
  359. package/.next/server/app/callback/page.js.nft.json +1 -1
  360. package/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  361. package/.next/server/app/callback.html +1 -1
  362. package/.next/server/app/callback.rsc +8 -8
  363. package/.next/server/app/callback.segments/_full.segment.rsc +8 -8
  364. package/.next/server/app/callback.segments/_tree.segment.rsc +3 -3
  365. package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +8 -8
  366. package/.next/server/app/dashboard/basic-chat.html +1 -1
  367. package/.next/server/app/dashboard/basic-chat.rsc +9 -9
  368. package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +9 -9
  369. package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +9 -9
  370. package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +3 -3
  371. package/.next/server/app/dashboard/cli-tools.html +1 -1
  372. package/.next/server/app/dashboard/cli-tools.rsc +10 -10
  373. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +9 -9
  374. package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +10 -10
  375. package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -3
  376. package/.next/server/app/dashboard/combos.html +1 -1
  377. package/.next/server/app/dashboard/combos.rsc +9 -9
  378. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +9 -9
  379. package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +9 -9
  380. package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -3
  381. package/.next/server/app/dashboard/endpoint.html +1 -1
  382. package/.next/server/app/dashboard/endpoint.rsc +10 -10
  383. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +9 -9
  384. package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +10 -10
  385. package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -3
  386. package/.next/server/app/dashboard/media-providers/systemone.html +1 -1
  387. package/.next/server/app/dashboard/media-providers/systemone.rsc +9 -9
  388. package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +9 -9
  389. package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +9 -9
  390. package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +3 -3
  391. package/.next/server/app/dashboard/profile.html +1 -1
  392. package/.next/server/app/dashboard/profile.rsc +9 -9
  393. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +9 -9
  394. package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +9 -9
  395. package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -3
  396. package/.next/server/app/dashboard/providers/new.html +1 -1
  397. package/.next/server/app/dashboard/providers/new.rsc +9 -9
  398. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +9 -9
  399. package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +9 -9
  400. package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -3
  401. package/.next/server/app/dashboard/providers.html +1 -1
  402. package/.next/server/app/dashboard/providers.rsc +9 -9
  403. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +9 -9
  404. package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +9 -9
  405. package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -3
  406. package/.next/server/app/dashboard/proxy-pools.html +1 -1
  407. package/.next/server/app/dashboard/proxy-pools.rsc +9 -9
  408. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +9 -9
  409. package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +9 -9
  410. package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -3
  411. package/.next/server/app/dashboard/pxpipe.html +1 -1
  412. package/.next/server/app/dashboard/pxpipe.rsc +9 -9
  413. package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +9 -9
  414. package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +9 -9
  415. package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +3 -3
  416. package/.next/server/app/dashboard/quota.html +2 -2
  417. package/.next/server/app/dashboard/quota.rsc +10 -10
  418. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +10 -10
  419. package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +10 -10
  420. package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -3
  421. package/.next/server/app/dashboard/settings/pricing/page.js +1 -1
  422. package/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  423. package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  424. package/.next/server/app/dashboard/settings/pricing.html +1 -1
  425. package/.next/server/app/dashboard/settings/pricing.rsc +8 -8
  426. package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +8 -8
  427. package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
  428. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +8 -8
  429. package/.next/server/app/dashboard/token-saver.html +1 -1
  430. package/.next/server/app/dashboard/token-saver.rsc +9 -9
  431. package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +9 -9
  432. package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +9 -9
  433. package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +3 -3
  434. package/.next/server/app/dashboard/usage.html +2 -2
  435. package/.next/server/app/dashboard/usage.rsc +9 -9
  436. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +9 -9
  437. package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
  438. package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -3
  439. package/.next/server/app/dashboard.html +1 -1
  440. package/.next/server/app/dashboard.rsc +10 -10
  441. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +9 -9
  442. package/.next/server/app/dashboard.segments/_full.segment.rsc +10 -10
  443. package/.next/server/app/dashboard.segments/_tree.segment.rsc +3 -3
  444. package/.next/server/app/index.html +1 -1
  445. package/.next/server/app/index.rsc +7 -7
  446. package/.next/server/app/index.segments/__PAGE__.segment.rsc +7 -7
  447. package/.next/server/app/index.segments/_full.segment.rsc +7 -7
  448. package/.next/server/app/index.segments/_tree.segment.rsc +3 -3
  449. package/.next/server/app/landing/page.js +1 -1
  450. package/.next/server/app/landing/page.js.nft.json +1 -1
  451. package/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  452. package/.next/server/app/landing.html +1 -1
  453. package/.next/server/app/landing.rsc +8 -8
  454. package/.next/server/app/landing.segments/_full.segment.rsc +8 -8
  455. package/.next/server/app/landing.segments/_tree.segment.rsc +3 -3
  456. package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +8 -8
  457. package/.next/server/app/login/page.js +1 -1
  458. package/.next/server/app/login/page.js.nft.json +1 -1
  459. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  460. package/.next/server/app/login.html +1 -1
  461. package/.next/server/app/login.rsc +8 -8
  462. package/.next/server/app/login.segments/_full.segment.rsc +8 -8
  463. package/.next/server/app/login.segments/_tree.segment.rsc +3 -3
  464. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +8 -8
  465. package/.next/server/app/manifest.webmanifest/route.js +1 -1
  466. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  467. package/.next/server/app/page.js +1 -1
  468. package/.next/server/app/page.js.nft.json +1 -1
  469. package/.next/server/app/page_client-reference-manifest.js +1 -1
  470. package/.next/server/app-paths-manifest.json +4 -4
  471. package/.next/server/chunks/1011.js +1 -1
  472. package/.next/server/chunks/1194.js +1 -1
  473. package/.next/server/chunks/1289.js +1 -0
  474. package/.next/server/chunks/1633.js +1 -1
  475. package/.next/server/chunks/1985.js +1 -1
  476. package/.next/server/chunks/2282.js +2 -2
  477. package/.next/server/chunks/2339.js +1 -1
  478. package/.next/server/chunks/2801.js +1 -0
  479. package/.next/server/chunks/3425.js +1 -1
  480. package/.next/server/chunks/4129.js +1 -1
  481. package/.next/server/chunks/5351.js +67 -0
  482. package/.next/server/chunks/537.js +1 -1
  483. package/.next/server/chunks/6056.js +1 -1
  484. package/.next/server/chunks/{3336.js → 7348.js} +1 -1
  485. package/.next/server/chunks/7459.js +9 -9
  486. package/.next/server/chunks/7816.js +1 -1
  487. package/.next/server/chunks/7963.js +5 -5
  488. package/.next/server/chunks/8569.js +1 -1
  489. package/.next/server/chunks/9429.js +1 -1
  490. package/.next/server/middleware-build-manifest.js +1 -1
  491. package/.next/server/middleware.js +3 -3
  492. package/.next/server/next-font-manifest.js +1 -1
  493. package/.next/server/next-font-manifest.json +1 -1
  494. package/.next/server/pages/404.html +1 -1
  495. package/.next/server/pages/500.html +1 -1
  496. package/.next/server/server-reference-manifest.js +1 -1
  497. package/.next/server/server-reference-manifest.json +1 -1
  498. package/.next/static/chunks/1278-1326946dbcc0adb5.js +1 -0
  499. package/.next/static/chunks/{159-17737a7c99ff1a65.js → 159-c129d43e789e7018.js} +1 -1
  500. package/.next/static/chunks/1699-13ee6864a8a31a96.js +67 -0
  501. package/.next/static/chunks/208-521a3242b62d6c07.js +1 -0
  502. package/.next/static/chunks/{9590-0d0b3dd0530b2b7b.js → 2836-38406d658ad8caa9.js} +1 -1
  503. package/.next/static/chunks/{7287-b8e377303d1c5ae8.js → 7287-8eca6570ca087e2e.js} +2 -2
  504. package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-ce1364b2b9589785.js +1 -0
  505. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-2ff675120416e925.js → page-93cc9fc8f8ab938b.js} +2 -2
  506. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-1c54f83c69f02add.js +1 -0
  507. package/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-55bc39e30923938a.js → page-853f4e08f4982dbe.js} +1 -1
  508. package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-0737ab5a4827fa77.js +1 -0
  509. package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-13abc5b934c960d3.js +1 -0
  510. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/page-fb90d8451f40b8b3.js +10 -0
  511. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/page-49b3b4867d06cbe0.js +1 -0
  512. package/.next/static/chunks/app/(dashboard)/dashboard/page-85118ef708c624e6.js +1 -0
  513. package/.next/static/chunks/app/(dashboard)/dashboard/profile/{page-53158d30b5643b05.js → page-65b2c7989dbe2663.js} +1 -1
  514. package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-fd2615fea8932fd5.js → page-36659d3f8756c897.js} +2 -2
  515. package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-1f54dc9be2c50aba.js +1 -0
  516. package/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-7cc2c66e63fce4ab.js → page-b9dafab69096fa76.js} +1 -1
  517. package/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-5e1fb41bd7b555a6.js → page-247f59d088891437.js} +2 -2
  518. package/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-1ec35dafa18e5d24.js → page-696cb5c2703ca1ec.js} +1 -1
  519. package/.next/static/chunks/app/(dashboard)/dashboard/quota/{page-11d5ca23d18d596e.js → page-5d2e8d9a126c2769.js} +1 -1
  520. package/.next/static/chunks/app/(dashboard)/dashboard/token-saver/page-bcc37fc2b4089f2f.js +1 -0
  521. package/.next/static/chunks/app/(dashboard)/dashboard/usage/page-cf503287fe99e910.js +1 -0
  522. package/.next/static/chunks/app/(dashboard)/{layout-e1e5bead272b5c82.js → layout-667f17706a5e1896.js} +1 -1
  523. package/.next/static/chunks/app/_not-found/{page-d66f1e17185e98d1.js → page-fe54ae510d932bb2.js} +1 -1
  524. package/.next/static/chunks/app/callback/{page-f4019bfc06b9a21c.js → page-f714c2306a1e9004.js} +1 -1
  525. package/.next/static/chunks/app/dashboard/settings/pricing/page-86197107690a0580.js +1 -0
  526. package/.next/static/chunks/app/landing/page-7a83d1be493ddc8c.js +1 -0
  527. package/.next/static/chunks/app/layout-06e49e3bcc852dbd.js +1 -0
  528. package/.next/static/chunks/app/login/page-7a4c84e8310a0487.js +1 -0
  529. package/.next/static/chunks/main-app-2ecba5da1d59188c.js +1 -0
  530. package/.next/static/chunks/next/dist/client/components/builtin/global-error-f9ac464a7c99aea5.js +1 -0
  531. package/.next/static/css/{e9178fa7e53ec623.css → 5843ba28152e85f8.css} +1 -1
  532. package/.next/static/css/7698ede81d1862e2.css +1 -0
  533. package/bin/10router.mjs +73 -70
  534. package/bin/update-check.mjs +93 -0
  535. package/custom-server.js +6 -36
  536. package/next.config.mjs +1 -1
  537. package/open-sse/executors/opencode-go.js +2 -0
  538. package/open-sse/executors/opencode-zen.js +12 -4
  539. package/open-sse/executors/opencode.js +31 -8
  540. package/open-sse/handlers/systemoneCore.js +4 -2
  541. package/open-sse/providers/registry/opencode-zen.js +2 -2
  542. package/open-sse/providers/registry/opencode.js +3 -3
  543. package/open-sse/translator/request/openai-to-claude.js +4 -1
  544. package/package.json +5 -22
  545. package/src/app/(dashboard)/dashboard/console-log/ConsoleLogClient.tsx +20 -6
  546. package/src/app/api/providers/[id]/test/testUtils.js +1 -1
  547. package/src/app/api/proxy-pools/[id]/test/route.js +1 -2
  548. package/src/lib/consoleLogBuffer.js +2 -1
  549. package/src/shared/components/AddCustomEmbeddingModal.tsx +0 -14
  550. package/src/shared/components/ChangelogModal.tsx +0 -6
  551. package/src/shared/components/CursorAuthModal.tsx +0 -7
  552. package/src/shared/components/EditConnectionModal.tsx +0 -22
  553. package/src/shared/components/GitLabAuthModal.tsx +0 -8
  554. package/src/shared/components/Header.tsx +0 -6
  555. package/src/shared/components/HeaderMenu.tsx +0 -5
  556. package/src/shared/components/IFlowCookieModal.tsx +0 -7
  557. package/src/shared/components/ModelSelectModal.tsx +0 -19
  558. package/src/shared/components/NoAuthProxyCard.tsx +0 -5
  559. package/src/shared/components/OAuthModal.tsx +0 -11
  560. package/src/shared/components/ProviderIcon.tsx +0 -11
  561. package/src/shared/components/XiaomiMimoAuthModal.tsx +0 -7
  562. package/src/shared/utils/cn.ts +3 -4
  563. package/src/sse/utils/logger.ts +62 -13
  564. package/.next/server/chunks/1157.js +0 -1
  565. package/.next/server/chunks/257.js +0 -67
  566. package/.next/server/chunks/3533.js +0 -1
  567. package/.next/static/chunks/1278-d7d5375869132de1.js +0 -1
  568. package/.next/static/chunks/208-fcb6c54f9db5664f.js +0 -1
  569. package/.next/static/chunks/3153-fde052e626cc6d40.js +0 -67
  570. package/.next/static/chunks/6817-449f7a2452845c74.js +0 -1
  571. package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-c074ab1b76a6c8ba.js +0 -1
  572. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-654e770c4dca90e8.js +0 -1
  573. package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-aac9a9397d3f7f17.js +0 -1
  574. package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-d60651b77028b014.js +0 -1
  575. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/page-3d78f5834ef97b82.js +0 -10
  576. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/page-e41bf53886195393.js +0 -1
  577. package/.next/static/chunks/app/(dashboard)/dashboard/page-670583d9f9c104af.js +0 -1
  578. package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-7c9e30c4985582a6.js +0 -1
  579. package/.next/static/chunks/app/(dashboard)/dashboard/token-saver/page-388b616d8c2aa3fc.js +0 -1
  580. package/.next/static/chunks/app/(dashboard)/dashboard/usage/page-466f7a8f7319ad85.js +0 -1
  581. package/.next/static/chunks/app/dashboard/settings/pricing/page-b9ee16bd322c018e.js +0 -1
  582. package/.next/static/chunks/app/landing/page-a088604744d51552.js +0 -1
  583. package/.next/static/chunks/app/layout-56cb8d3773a70c00.js +0 -1
  584. package/.next/static/chunks/app/login/page-dd11fb741ed7fda4.js +0 -1
  585. package/.next/static/chunks/main-app-17abdf14ff64ab69.js +0 -1
  586. package/.next/static/chunks/next/dist/client/components/builtin/global-error-21486667022bd4cf.js +0 -1
  587. package/.next/static/css/8fbebca0759ae504.css +0 -1
  588. package/scripts/dev-local.mjs +0 -67
  589. /package/.next/static/{AiSMDHTT8m1mHG-uAmkFq → 3VUtJ57WoimjS256-MQ04}/_buildManifest.js +0 -0
  590. /package/.next/static/{AiSMDHTT8m1mHG-uAmkFq → 3VUtJ57WoimjS256-MQ04}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@amir83nasr/10router",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/Amir83Nasr/10Router.git"
7
7
  },
8
- "packageManager": "pnpm@12.5.1",
8
+ "packageManager": "pnpm@12.6.0",
9
9
  "description": "10Router dashboard",
10
10
  "bin": {
11
11
  "10router": "bin/10router.mjs"
@@ -13,7 +13,6 @@
13
13
  "files": [
14
14
  "bin/",
15
15
  "custom-server.js",
16
- "scripts/dev-local.mjs",
17
16
  "src/",
18
17
  "open-sse/",
19
18
  "public/",
@@ -29,13 +28,10 @@
29
28
  },
30
29
  "scripts": {
31
30
  "dev": "node scripts/dev-local.mjs",
32
- "dev:webpack": "next dev --webpack --port 20127",
31
+ "dev:update": "node scripts/test-update-notice.mjs",
33
32
  "build": "next build --webpack",
34
- "start": "node custom-server.js --port 20127",
35
- "dev:bun": "bun --bun next dev --webpack --port 20127",
36
- "dev:ui": "node scripts/dev-local.mjs --ui",
37
- "build:bun": "bun --bun next build --webpack",
38
- "start:bun": "bun ./.next/standalone/custom-server.js",
33
+ "start": "node custom-server.js --port 20128",
34
+ "pkg:test": "node scripts/test-pkg.mjs",
39
35
  "format": "prettier --write .",
40
36
  "format:check": "prettier --check .",
41
37
  "lint": "eslint .",
@@ -59,21 +55,10 @@
59
55
  "@dnd-kit/utilities": "^3.2.2",
60
56
  "@next/third-parties": "^16.2.9",
61
57
  "@node-saml/node-saml": "^5.1.0",
62
- "@radix-ui/react-avatar": "^1.2.6",
63
- "@radix-ui/react-dialog": "^1.1.23",
64
- "@radix-ui/react-dropdown-menu": "^2.1.24",
65
- "@radix-ui/react-label": "^2.1.15",
66
- "@radix-ui/react-select": "^2.3.7",
67
- "@radix-ui/react-separator": "^1.1.15",
68
- "@radix-ui/react-slot": "^1.3.3",
69
- "@radix-ui/react-switch": "^1.3.7",
70
- "@radix-ui/react-tabs": "^1.1.21",
71
- "@radix-ui/react-tooltip": "^1.2.16",
72
58
  "@xyflow/react": "^12.10.1",
73
59
  "bcryptjs": "^3.0.3",
74
60
  "chalk": "^5.6.2",
75
61
  "class-variance-authority": "^0.7.1",
76
- "clsx": "^2.1.1",
77
62
  "cn": "^0.3.0",
78
63
  "confbox": "^0.2.4",
79
64
  "jose": "^6.1.3",
@@ -83,13 +68,11 @@
83
68
  "node-machine-id": "^1.1.12",
84
69
  "open": "^11.0.0",
85
70
  "ora": "^9.1.0",
86
- "prop-types": "^15.8.1",
87
71
  "radix-ui": "^1.6.7",
88
72
  "react": "19.2.4",
89
73
  "react-dom": "19.2.4",
90
74
  "recharts": "^3.8.0",
91
75
  "sql.js": "^1.14.1",
92
- "tailwind-merge": "^3.7.0",
93
76
  "tw-animate-css": "^1.4.0",
94
77
  "undici": "^7.19.2",
95
78
  "uuid": "^13.0.0",
@@ -21,12 +21,20 @@ import type { LogCategory, LogEntry, LogLevel } from "@/lib/logLine.js";
21
21
  // ── LEVEL META ───────────────────────────────────────────
22
22
 
23
23
  const LEVEL_BADGE: Record<LogLevel, "default" | "secondary" | "destructive"> = {
24
- debug: "default",
25
- info: "secondary",
24
+ debug: "secondary",
25
+ info: "default",
26
26
  warn: "secondary",
27
27
  error: "destructive",
28
28
  };
29
29
 
30
+ // Badge color per level (BADGE variants are limited: default/secondary/destructive).
31
+ const LEVEL_BADGE_CLASS: Record<LogLevel, string> = {
32
+ debug: "bg-muted text-muted-foreground",
33
+ info: "bg-sky-500/15 text-sky-700 dark:text-sky-300",
34
+ warn: "bg-amber-500/15 text-amber-700 dark:text-amber-300",
35
+ error: "",
36
+ };
37
+
30
38
  const LEVEL_LABEL: Record<LogLevel, string> = {
31
39
  debug: "DEBUG",
32
40
  info: "INFO",
@@ -174,6 +182,7 @@ function LogMessage({ text, isError }: { text: string; isError: boolean }) {
174
182
 
175
183
  function LogRow({ entry }: { entry: LogEntry }) {
176
184
  const isError = entry.level === "error";
185
+ const isWarn = entry.level === "warn";
177
186
  const isDone = entry.category === "done";
178
187
 
179
188
  return (
@@ -181,15 +190,20 @@ function LogRow({ entry }: { entry: LogEntry }) {
181
190
  className={`flex items-start gap-2 px-3 py-1.5 leading-relaxed ${
182
191
  isError
183
192
  ? "border-l-2 border-red-500 bg-red-500/5"
184
- : isDone
185
- ? "border-l-2 border-green-500 bg-green-500/5"
186
- : "border-l-2 border-transparent hover:bg-muted/50"
193
+ : isWarn
194
+ ? "border-l-2 border-amber-500 bg-amber-500/5"
195
+ : isDone
196
+ ? "border-l-2 border-green-500 bg-green-500/5"
197
+ : "border-l-2 border-transparent hover:bg-muted/50"
187
198
  }`}
188
199
  >
189
200
  <span className="shrink-0 pt-0.5 text-[11px] text-muted-foreground tabular-nums">
190
201
  {formatClock(entry.ts)}
191
202
  </span>
192
- <Badge variant={LEVEL_BADGE[entry.level]} className="shrink-0">
203
+ <Badge
204
+ variant={LEVEL_BADGE[entry.level]}
205
+ className={`shrink-0 ${LEVEL_BADGE_CLASS[entry.level]}`}
206
+ >
193
207
  {LEVEL_LABEL[entry.level]}
194
208
  </Badge>
195
209
  <span className="shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-semibold text-muted-foreground uppercase">
@@ -906,7 +906,7 @@ async function testApiKeyConnection(connection, effectiveProxy = null) {
906
906
  const res = await fetchWithConnectionProxy(
907
907
  "https://opencode.ai/zen/v1/models",
908
908
  {
909
- headers: { Authorization: "Bearer public", "User-Agent": "opencode/1.18.31" },
909
+ headers: { Authorization: "Bearer public", "User-Agent": "opencode/1.18.35" },
910
910
  },
911
911
  effectiveProxy,
912
912
  );
@@ -1,14 +1,13 @@
1
1
  import { NextResponse } from "next/server";
2
2
  import { getProxyPoolById, updateProxyPool } from "@/models";
3
3
  import { testProxyUrl } from "@/lib/network/proxyTest";
4
- import { fetch as undiciFetch } from "undici";
5
4
 
6
5
  async function testVercelRelay(relayUrl, timeoutMs = 10000) {
7
6
  const controller = new AbortController();
8
7
  const startedAt = Date.now();
9
8
  const timer = setTimeout(() => controller.abort(), timeoutMs);
10
9
  try {
11
- const res = await undiciFetch(relayUrl, {
10
+ const res = await fetch(relayUrl, {
12
11
  method: "GET",
13
12
  headers: {
14
13
  "x-relay-target": "https://httpbin.org",
@@ -42,7 +42,8 @@ function scheduleFlush() {
42
42
  state.flushTimer?.unref?.();
43
43
  }
44
44
 
45
- // Strip ANSI escape codes so terminal colors don't bleed into UI
45
+ // Strip ANSI escape codes (colors, bold) so terminal styling doesn't bleed
46
+ // into UI; the viewer applies its own per-level colors.
46
47
  const ANSI_RE = /\x1b\[[0-9;]*m/g;
47
48
 
48
49
  function stripAnsi(str) {
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
 
3
3
  import { useState, useEffect } from "react";
4
- import PropTypes from "prop-types";
5
4
  import Modal from "./Modal";
6
5
  import { Input } from "@/components/ui/input";
7
6
  import { Button } from "@/components/ui/button";
@@ -205,16 +204,3 @@ export default function AddCustomEmbeddingModal({
205
204
  </Modal>
206
205
  );
207
206
  }
208
-
209
- AddCustomEmbeddingModal.propTypes = {
210
- isOpen: PropTypes.bool.isRequired,
211
- onClose: PropTypes.func.isRequired,
212
- onCreated: PropTypes.func,
213
- onSaved: PropTypes.func,
214
- node: PropTypes.shape({
215
- id: PropTypes.string,
216
- name: PropTypes.string,
217
- prefix: PropTypes.string,
218
- baseUrl: PropTypes.string,
219
- }),
220
- };
@@ -2,7 +2,6 @@
2
2
  import Icon from "@/shared/components/Icon";
3
3
 
4
4
  import { useEffect, useState } from "react";
5
- import PropTypes from "prop-types";
6
5
  import { marked } from "marked";
7
6
  import { GITHUB_CONFIG } from "@/shared/constants/config";
8
7
  import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog";
@@ -75,8 +74,3 @@ export default function ChangelogModal({ isOpen, onClose }: ChangelogModalProps)
75
74
  </Dialog>
76
75
  );
77
76
  }
78
-
79
- ChangelogModal.propTypes = {
80
- isOpen: PropTypes.bool.isRequired,
81
- onClose: PropTypes.func.isRequired,
82
- };
@@ -2,7 +2,6 @@
2
2
  import Icon from "@/shared/components/Icon";
3
3
 
4
4
  import { useState, useEffect } from "react";
5
- import PropTypes from "prop-types";
6
5
  import Modal from "./Modal";
7
6
  import { Input } from "@/components/ui/input";
8
7
  import { Button } from "@/components/ui/button";
@@ -205,9 +204,3 @@ export default function CursorAuthModal({ isOpen, onSuccess, onClose }: CursorAu
205
204
  </Modal>
206
205
  );
207
206
  }
208
-
209
- CursorAuthModal.propTypes = {
210
- isOpen: PropTypes.bool.isRequired,
211
- onSuccess: PropTypes.func,
212
- onClose: PropTypes.func.isRequired,
213
- };
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
 
3
3
  import { useState, useEffect } from "react";
4
- import PropTypes from "prop-types";
5
4
  import Modal from "@/shared/components/Modal";
6
5
  import { Input } from "@/components/ui/input";
7
6
  import { Button } from "@/components/ui/button";
@@ -346,24 +345,3 @@ export default function EditConnectionModal({
346
345
  </Modal>
347
346
  );
348
347
  }
349
-
350
- EditConnectionModal.propTypes = {
351
- isOpen: PropTypes.bool.isRequired,
352
- connection: PropTypes.shape({
353
- id: PropTypes.string,
354
- name: PropTypes.string,
355
- email: PropTypes.string,
356
- priority: PropTypes.number,
357
- authType: PropTypes.string,
358
- provider: PropTypes.string,
359
- providerSpecificData: PropTypes.object,
360
- }),
361
- proxyPools: PropTypes.arrayOf(
362
- PropTypes.shape({
363
- id: PropTypes.string,
364
- name: PropTypes.string,
365
- }),
366
- ),
367
- onSave: PropTypes.func.isRequired,
368
- onClose: PropTypes.func.isRequired,
369
- };
@@ -2,7 +2,6 @@
2
2
  import Icon from "@/shared/components/Icon";
3
3
 
4
4
  import { useState } from "react";
5
- import PropTypes from "prop-types";
6
5
  import { Loader2 } from "lucide-react";
7
6
  import Modal from "./Modal";
8
7
  import OAuthModal from "./OAuthModal";
@@ -285,10 +284,3 @@ export default function GitLabAuthModal({
285
284
  </Modal>
286
285
  );
287
286
  }
288
-
289
- GitLabAuthModal.propTypes = {
290
- isOpen: PropTypes.bool.isRequired,
291
- providerInfo: PropTypes.shape({ name: PropTypes.string }),
292
- onSuccess: PropTypes.func,
293
- onClose: PropTypes.func.isRequired,
294
- };
@@ -4,7 +4,6 @@ import Icon from "@/shared/components/Icon";
4
4
  import { useEffect, useMemo, useState } from "react";
5
5
  import { usePathname } from "next/navigation";
6
6
  import Link from "next/link";
7
- import PropTypes from "prop-types";
8
7
  import ProviderIcon from "@/shared/components/ProviderIcon";
9
8
  import HeaderMenu from "@/shared/components/HeaderMenu";
10
9
  import { useHeaderSearchStore } from "@/store/headerSearchStore";
@@ -363,8 +362,3 @@ function HeaderSearch() {
363
362
  </div>
364
363
  );
365
364
  }
366
-
367
- Header.propTypes = {
368
- onMenuClick: PropTypes.func,
369
- showMenuButton: PropTypes.bool,
370
- };
@@ -2,7 +2,6 @@
2
2
  import Icon from "@/shared/components/Icon";
3
3
 
4
4
  import { useState } from "react";
5
- import PropTypes from "prop-types";
6
5
  import ChangelogModal from "./ChangelogModal";
7
6
  import { useShutdown } from "@/shared/hooks/useShutdown";
8
7
  import ShutdownModal from "./ShutdownModal";
@@ -69,7 +68,3 @@ export default function HeaderMenu({ onLogout }: HeaderMenuProps) {
69
68
  </>
70
69
  );
71
70
  }
72
-
73
- HeaderMenu.propTypes = {
74
- onLogout: PropTypes.func.isRequired,
75
- };
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
 
3
3
  import { useState } from "react";
4
- import PropTypes from "prop-types";
5
4
  import { Loader2 } from "lucide-react";
6
5
  import Modal from "./Modal";
7
6
  import { Button } from "@/components/ui/button";
@@ -132,9 +131,3 @@ export default function IFlowCookieModal({ isOpen, onSuccess, onClose }: IFlowCo
132
131
  </Modal>
133
132
  );
134
133
  }
135
-
136
- IFlowCookieModal.propTypes = {
137
- isOpen: PropTypes.bool.isRequired,
138
- onSuccess: PropTypes.func,
139
- onClose: PropTypes.func,
140
- };
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
 
3
3
  import { useState, useMemo, useEffect } from "react";
4
- import PropTypes from "prop-types";
5
4
  import { Check, Info, Layers, PenLine, Search, SearchX } from "lucide-react";
6
5
  import {
7
6
  Dialog,
@@ -735,21 +734,3 @@ export default function ModelSelectModal({
735
734
  </Dialog>
736
735
  );
737
736
  }
738
-
739
- ModelSelectModal.propTypes = {
740
- isOpen: PropTypes.bool.isRequired,
741
- onClose: PropTypes.func.isRequired,
742
- onSelect: PropTypes.func.isRequired,
743
- onDeselect: PropTypes.func,
744
- selectedModel: PropTypes.string,
745
- activeProviders: PropTypes.arrayOf(
746
- PropTypes.shape({
747
- provider: PropTypes.string.isRequired,
748
- }),
749
- ),
750
- title: PropTypes.string,
751
- modelAliases: PropTypes.object,
752
- kindFilter: PropTypes.string,
753
- addedModelValues: PropTypes.arrayOf(PropTypes.string),
754
- closeOnSelect: PropTypes.bool,
755
- };
@@ -2,7 +2,6 @@
2
2
  import Icon from "@/shared/components/Icon";
3
3
 
4
4
  import { useCallback, useEffect, useState } from "react";
5
- import PropTypes from "prop-types";
6
5
  import { Card, CardContent } from "@/components/ui/card";
7
6
  import {
8
7
  Select,
@@ -172,7 +171,3 @@ export default function NoAuthProxyCard({ providerId }: NoAuthProxyCardProps) {
172
171
  </Card>
173
172
  );
174
173
  }
175
-
176
- NoAuthProxyCard.propTypes = {
177
- providerId: PropTypes.string.isRequired,
178
- };
@@ -2,7 +2,6 @@
2
2
  import Icon from "@/shared/components/Icon";
3
3
 
4
4
  import { useState, useEffect, useRef, useCallback } from "react";
5
- import PropTypes from "prop-types";
6
5
  import Modal from "./Modal";
7
6
  import { Input } from "@/components/ui/input";
8
7
  import { Button } from "@/components/ui/button";
@@ -1043,13 +1042,3 @@ export default function OAuthModal({
1043
1042
  </Modal>
1044
1043
  );
1045
1044
  }
1046
-
1047
- OAuthModal.propTypes = {
1048
- isOpen: PropTypes.bool.isRequired,
1049
- provider: PropTypes.string,
1050
- providerInfo: PropTypes.shape({ name: PropTypes.string }),
1051
- onSuccess: PropTypes.func,
1052
- onClose: PropTypes.func.isRequired,
1053
- /** Extra metadata passed to /authorize and /exchange (e.g. gitlab clientId/baseUrl) */
1054
- oauthMeta: PropTypes.object,
1055
- };
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
 
3
3
  import { useState } from "react";
4
- import PropTypes from "prop-types";
5
4
  import { getProviderIconSrc, markProviderIconMissing } from "@/shared/utils/providerIcon";
6
5
 
7
6
  function resolveSrc(src: any, providerId: any) {
@@ -68,13 +67,3 @@ export default function ProviderIcon({
68
67
  />
69
68
  );
70
69
  }
71
-
72
- ProviderIcon.propTypes = {
73
- src: PropTypes.string,
74
- providerId: PropTypes.string,
75
- alt: PropTypes.string,
76
- size: PropTypes.number,
77
- className: PropTypes.string,
78
- fallbackText: PropTypes.string,
79
- fallbackColor: PropTypes.string,
80
- };
@@ -2,7 +2,6 @@
2
2
  import Icon from "@/shared/components/Icon";
3
3
 
4
4
  import { useState, useEffect } from "react";
5
- import PropTypes from "prop-types";
6
5
  import Modal from "./Modal";
7
6
  import { Button } from "@/components/ui/button";
8
7
 
@@ -269,9 +268,3 @@ export default function XiaomiMimoAuthModal({
269
268
  </Modal>
270
269
  );
271
270
  }
272
-
273
- XiaomiMimoAuthModal.propTypes = {
274
- isOpen: PropTypes.bool.isRequired,
275
- onSuccess: PropTypes.func,
276
- onClose: PropTypes.func.isRequired,
277
- };
@@ -1,7 +1,6 @@
1
- // Utility: merge class names (clsx + tailwind-merge).
2
- import { clsx, type ClassValue } from "clsx";
3
- import { twMerge } from "tailwind-merge";
1
+ // Utility: merge class names (cn package = clsx + tailwind-merge).
2
+ import { cn as cnMerge, type ClassValue } from "cn";
4
3
 
5
4
  export function cn(...inputs: ClassValue[]): string {
6
- return twMerge(clsx(...inputs));
5
+ return cnMerge(...inputs);
7
6
  }
@@ -1,14 +1,45 @@
1
1
  // Terminal logger for the request/runtime core.
2
2
  //
3
- // One line per event, plain ASCII (no emoji, no ANSI colors) so output stays
4
- // greppable and pipe-safe. Two shapes:
3
+ // One line per event, ANSI-colored (NO_COLOR-aware) for terminal readability.
4
+ // Two shapes:
5
5
  //
6
6
  // [HH:MM:SS] LEVEL [scope] message debug/info/warn/error
7
7
  // [HH:MM:SS] [reqid] EVENT message correlated request lines
8
8
  //
9
9
  // Correlated lines share a short hex id per client session, so all lines of
10
- // one conversation can be followed with grep. Errors go to stderr; everything
11
- // else goes to stdout.
10
+ // one conversation can be followed with grep. Colors wrap tokens only, so
11
+ // grep still matches; the dashboard strips ANSI on ingest. Errors go to
12
+ // stderr; everything else goes to stdout.
13
+
14
+ // ANSI colors, emitted unconditionally (except NO_COLOR) so background log
15
+ // files keep colors for `10router logs` tailing.
16
+ const NO_COLOR = typeof process !== "undefined" && "NO_COLOR" in (process.env ?? {});
17
+ const ansi = (code: string): string => (NO_COLOR ? "" : `\x1b[${code}m`);
18
+ const RESET = ansi("0");
19
+ const BOLD = ansi("1");
20
+ const DIM = ansi("2");
21
+ const RED = ansi("31");
22
+ const GREEN = ansi("32");
23
+ const YELLOW = ansi("33");
24
+ const CYAN = ansi("36");
25
+ const GRAY = ansi("90");
26
+
27
+ const LEVEL_COLORS: Record<string, string> = {
28
+ DEBUG: GRAY,
29
+ INFO: CYAN,
30
+ WARN: YELLOW,
31
+ ERROR: RED,
32
+ };
33
+
34
+ const EVENT_COLORS: Record<string, string> = {
35
+ REQ: CYAN,
36
+ DONE: GREEN,
37
+ REFRESH: YELLOW,
38
+ SAVERS: GRAY,
39
+ BLOCKED: RED,
40
+ ABORT: RED,
41
+ ERROR: RED,
42
+ };
12
43
 
13
44
  const LOG_LEVELS: Record<string, number> = {
14
45
  DEBUG: 0,
@@ -48,12 +79,17 @@ type ThinkIntent = { mode?: string; budget?: number; level?: string };
48
79
  // Print one correlated line: [time] [reqid] EVENT message
49
80
  export function line(tag: string, event: string, message: string): void {
50
81
  if (LEVEL > LOG_LEVELS.INFO) return;
51
- console.log(`[${formatTime()}] [${tag}] ${event} ${message}`);
82
+ const color = EVENT_COLORS[event] ?? "";
83
+ console.log(
84
+ `${DIM}[${formatTime()}]${RESET} [${tag}] ${color}${BOLD}${event}${RESET} ${message}`,
85
+ );
52
86
  }
53
87
 
54
88
  // Like line() but always printed regardless of LOG_LEVEL (errors must never be hidden)
55
89
  export function errorLine(tag: string, event: string, message: string): void {
56
- console.error(`[${formatTime()}] [${tag}] ${event} ${message}`);
90
+ console.error(
91
+ `${DIM}[${formatTime()}]${RESET} [${tag}] ${RED}${BOLD}${event}${RESET} ${message}`,
92
+ );
57
93
  }
58
94
 
59
95
  // Format thinking intent for the request line ("high(10k)" / "off" / "auto")
@@ -92,45 +128,58 @@ function formatData(data: unknown): string {
92
128
  export function debug(tag: string, message: string, data?: unknown): void {
93
129
  if (LEVEL <= LOG_LEVELS.DEBUG) {
94
130
  const dataStr = data ? ` ${formatData(data)}` : "";
95
- console.log(`[${formatTime()}] DEBUG [${tag}] ${message}${dataStr}`);
131
+ console.log(
132
+ `${DIM}[${formatTime()}]${RESET} ${GRAY}DEBUG${RESET} ${DIM}[${tag}]${RESET} ${message}${dataStr}`,
133
+ );
96
134
  }
97
135
  }
98
136
 
99
137
  export function info(tag: string, message: string, data?: unknown): void {
100
138
  if (LEVEL <= LOG_LEVELS.INFO) {
101
139
  const dataStr = data ? ` ${formatData(data)}` : "";
102
- console.log(`[${formatTime()}] INFO [${tag}] ${message}${dataStr}`);
140
+ console.log(
141
+ `${DIM}[${formatTime()}]${RESET} ${CYAN}INFO${RESET} ${DIM}[${tag}]${RESET} ${message}${dataStr}`,
142
+ );
103
143
  }
104
144
  }
105
145
 
106
146
  export function warn(tag: string, message: string, data?: unknown): void {
107
147
  if (LEVEL <= LOG_LEVELS.WARN) {
108
148
  const dataStr = data ? ` ${formatData(data)}` : "";
109
- console.warn(`[${formatTime()}] WARN [${tag}] ${message}${dataStr}`);
149
+ console.warn(
150
+ `${DIM}[${formatTime()}]${RESET} ${YELLOW}WARN${RESET} ${DIM}[${tag}]${RESET} ${message}${dataStr}`,
151
+ );
110
152
  }
111
153
  }
112
154
 
113
155
  export function error(tag: string, message: string, data?: unknown): void {
114
156
  if (LEVEL <= LOG_LEVELS.ERROR) {
115
157
  const dataStr = data ? ` ${formatData(data)}` : "";
116
- console.error(`[${formatTime()}] ERROR [${tag}] ${message}${dataStr}`);
158
+ console.error(
159
+ `${DIM}[${formatTime()}]${RESET} ${RED}ERROR${RESET} ${DIM}[${tag}]${RESET} ${message}${dataStr}`,
160
+ );
117
161
  }
118
162
  }
119
163
 
120
164
  export function request(method: string, path: string, extra?: unknown): void {
121
165
  const dataStr = extra ? ` ${formatData(extra)}` : "";
122
- console.log(`[${formatTime()}] [http] --> ${method} ${path}${dataStr}`);
166
+ console.log(
167
+ `${DIM}[${formatTime()}]${RESET} ${DIM}[http]${RESET} ${CYAN}-->${RESET} ${BOLD}${method}${RESET} ${path}${dataStr}`,
168
+ );
123
169
  }
124
170
 
125
171
  export function response(status: number, duration: number, extra?: unknown): void {
126
172
  const dataStr = extra ? ` ${formatData(extra)}` : "";
127
173
  const emit = status < 400 ? console.log : console.error;
128
- emit(`[${formatTime()}] [http] <-- ${status} ${duration}ms${dataStr}`);
174
+ const color = status < 400 ? GREEN : RED;
175
+ emit(
176
+ `${DIM}[${formatTime()}]${RESET} ${DIM}[http]${RESET} ${color}<--${RESET} ${color}${BOLD}${status}${RESET} ${duration}ms${dataStr}`,
177
+ );
129
178
  }
130
179
 
131
180
  export function stream(event: string, data?: unknown): void {
132
181
  const dataStr = data ? ` ${formatData(data)}` : "";
133
- console.log(`[${formatTime()}] [stream] ${event}${dataStr}`);
182
+ console.log(`${DIM}[${formatTime()}]${RESET} ${DIM}[stream]${RESET} ${event}${dataStr}`);
134
183
  }
135
184
 
136
185
  // Mask sensitive data