@jsonstudio/rcc 0.90.252 → 0.90.352

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 (335) hide show
  1. package/README.md +16 -16
  2. package/config/providers/ali-coding-plan.json +73 -0
  3. package/dist/build-info.js +2 -2
  4. package/dist/cli/commands/camoufox.js +2 -2
  5. package/dist/cli/commands/camoufox.js.map +1 -1
  6. package/dist/cli/commands/clean.js +4 -3
  7. package/dist/cli/commands/clean.js.map +1 -1
  8. package/dist/cli/commands/config.js +2 -1
  9. package/dist/cli/commands/config.js.map +1 -1
  10. package/dist/cli/commands/env.js +2 -1
  11. package/dist/cli/commands/env.js.map +1 -1
  12. package/dist/cli/commands/init/basic.js +2 -1
  13. package/dist/cli/commands/init/basic.js.map +1 -1
  14. package/dist/cli/commands/init.js +4 -3
  15. package/dist/cli/commands/init.js.map +1 -1
  16. package/dist/cli/commands/launcher-kernel.js +34 -8
  17. package/dist/cli/commands/launcher-kernel.js.map +1 -1
  18. package/dist/cli/commands/port.js +1 -1
  19. package/dist/cli/commands/port.js.map +1 -1
  20. package/dist/cli/commands/restart.js +3 -2
  21. package/dist/cli/commands/restart.js.map +1 -1
  22. package/dist/cli/commands/session-admin.js +46 -8
  23. package/dist/cli/commands/session-admin.js.map +1 -1
  24. package/dist/cli/commands/session-inject.js +43 -4
  25. package/dist/cli/commands/session-inject.js.map +1 -1
  26. package/dist/cli/commands/start.js +4 -3
  27. package/dist/cli/commands/start.js.map +1 -1
  28. package/dist/cli/commands/stop.js +3 -2
  29. package/dist/cli/commands/stop.js.map +1 -1
  30. package/dist/cli/config/bundled-docs.js +2 -6
  31. package/dist/cli/config/bundled-docs.js.map +1 -1
  32. package/dist/cli/config/init-config.d.ts +1 -0
  33. package/dist/cli/config/init-config.js +6 -3
  34. package/dist/cli/config/init-config.js.map +1 -1
  35. package/dist/cli/config/init-provider-catalog.js +4 -4
  36. package/dist/cli/config/init-provider-catalog.js.map +1 -1
  37. package/dist/cli/config/precommand-default-script.js +3 -9
  38. package/dist/cli/config/precommand-default-script.js.map +1 -1
  39. package/dist/cli/guardian/paths.js +2 -3
  40. package/dist/cli/guardian/paths.js.map +1 -1
  41. package/dist/cli.js +10 -2
  42. package/dist/cli.js.map +1 -1
  43. package/dist/commands/camoufox-fp.js +2 -3
  44. package/dist/commands/camoufox-fp.js.map +1 -1
  45. package/dist/commands/migrate-user-config.d.ts +6 -0
  46. package/dist/commands/migrate-user-config.js +53 -0
  47. package/dist/commands/migrate-user-config.js.map +1 -0
  48. package/dist/commands/provider-update.js +9 -9
  49. package/dist/commands/provider-update.js.map +1 -1
  50. package/dist/commands/quota-daemon.js +3 -3
  51. package/dist/commands/quota-daemon.js.map +1 -1
  52. package/dist/commands/quota-status.js +2 -2
  53. package/dist/commands/quota-status.js.map +1 -1
  54. package/dist/commands/token-daemon.js +2 -2
  55. package/dist/commands/token-daemon.js.map +1 -1
  56. package/dist/commands/validate.js +2 -3
  57. package/dist/commands/validate.js.map +1 -1
  58. package/dist/config/auth-file-resolver.js +2 -2
  59. package/dist/config/auth-file-resolver.js.map +1 -1
  60. package/dist/config/provider-v2-loader.js +9 -6
  61. package/dist/config/provider-v2-loader.js.map +1 -1
  62. package/dist/config/routecodex-config-loader.js +2 -2
  63. package/dist/config/routecodex-config-loader.js.map +1 -1
  64. package/dist/config/unified-config-paths.js +33 -11
  65. package/dist/config/unified-config-paths.js.map +1 -1
  66. package/dist/config/user-config-migration.d.ts +42 -0
  67. package/dist/config/user-config-migration.js +188 -0
  68. package/dist/config/user-config-migration.js.map +1 -0
  69. package/dist/config/user-data-paths.d.ts +59 -0
  70. package/dist/config/user-data-paths.js +174 -0
  71. package/dist/config/user-data-paths.js.map +1 -0
  72. package/dist/config/virtual-router-builder.d.ts +1 -1
  73. package/dist/config/virtual-router-builder.js +1 -1
  74. package/dist/daemon-admin-ui/assets/index-Bnx13Byl.js +15 -0
  75. package/dist/daemon-admin-ui/index.html +1 -1
  76. package/dist/docs/daemon-admin-ui.html +9 -9
  77. package/dist/index.js +66 -13
  78. package/dist/index.js.map +1 -1
  79. package/dist/manager/modules/health/index.js +2 -2
  80. package/dist/manager/modules/health/index.js.map +1 -1
  81. package/dist/manager/modules/quota/antigravity-quota-persistence.d.ts +2 -1
  82. package/dist/manager/modules/quota/antigravity-quota-persistence.js +11 -22
  83. package/dist/manager/modules/quota/antigravity-quota-persistence.js.map +1 -1
  84. package/dist/manager/quota/provider-quota-center.js +33 -25
  85. package/dist/manager/quota/provider-quota-center.js.map +1 -1
  86. package/dist/manager/quota/provider-quota-store.js +11 -4
  87. package/dist/manager/quota/provider-quota-store.js.map +1 -1
  88. package/dist/modules/config/pipeline-config-path.js +3 -3
  89. package/dist/modules/config/pipeline-config-path.js.map +1 -1
  90. package/dist/modules/llmswitch/bridge/index.d.ts +1 -1
  91. package/dist/modules/llmswitch/bridge/index.js +1 -1
  92. package/dist/modules/llmswitch/bridge/index.js.map +1 -1
  93. package/dist/modules/llmswitch/bridge/native-exports.d.ts +1 -0
  94. package/dist/modules/llmswitch/bridge/native-exports.js +27 -0
  95. package/dist/modules/llmswitch/bridge/native-exports.js.map +1 -1
  96. package/dist/modules/llmswitch/bridge/snapshot-recorder.js +95 -24
  97. package/dist/modules/llmswitch/bridge/snapshot-recorder.js.map +1 -1
  98. package/dist/modules/llmswitch/bridge/state-integrations.d.ts +18 -0
  99. package/dist/modules/llmswitch/bridge/state-integrations.js +28 -0
  100. package/dist/modules/llmswitch/bridge/state-integrations.js.map +1 -1
  101. package/dist/modules/llmswitch/bridge.d.ts +2 -2
  102. package/dist/modules/llmswitch/bridge.js +2 -2
  103. package/dist/modules/llmswitch/bridge.js.map +1 -1
  104. package/dist/modules/pipeline/utils/colored-logger.d.ts +1 -0
  105. package/dist/modules/pipeline/utils/colored-logger.js +13 -9
  106. package/dist/modules/pipeline/utils/colored-logger.js.map +1 -1
  107. package/dist/providers/auth/antigravity-fingerprint.js +2 -3
  108. package/dist/providers/auth/antigravity-fingerprint.js.map +1 -1
  109. package/dist/providers/auth/antigravity-reauth-state.js +2 -3
  110. package/dist/providers/auth/antigravity-reauth-state.js.map +1 -1
  111. package/dist/providers/auth/antigravity-user-agent.js +2 -2
  112. package/dist/providers/auth/antigravity-user-agent.js.map +1 -1
  113. package/dist/providers/auth/antigravity-warmup.js +2 -3
  114. package/dist/providers/auth/antigravity-warmup.js.map +1 -1
  115. package/dist/providers/auth/deepseek-account-auth.js +4 -3
  116. package/dist/providers/auth/deepseek-account-auth.js.map +1 -1
  117. package/dist/providers/auth/deepseek-account-token-acquirer.js +3 -2
  118. package/dist/providers/auth/deepseek-account-token-acquirer.js.map +1 -1
  119. package/dist/providers/auth/oauth-auth.js +2 -3
  120. package/dist/providers/auth/oauth-auth.js.map +1 -1
  121. package/dist/providers/auth/oauth-lifecycle/path-resolver.js +6 -7
  122. package/dist/providers/auth/oauth-lifecycle/path-resolver.js.map +1 -1
  123. package/dist/providers/auth/oauth-lifecycle.js +4 -4
  124. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  125. package/dist/providers/auth/oauth-repair-cooldown.js +2 -3
  126. package/dist/providers/auth/oauth-repair-cooldown.js.map +1 -1
  127. package/dist/providers/auth/token-scanner/index.js +2 -3
  128. package/dist/providers/auth/token-scanner/index.js.map +1 -1
  129. package/dist/providers/auth/token-storage/token-file-resolver.js +8 -7
  130. package/dist/providers/auth/token-storage/token-file-resolver.js.map +1 -1
  131. package/dist/providers/auth/tokenfile-auth.js +5 -6
  132. package/dist/providers/auth/tokenfile-auth.js.map +1 -1
  133. package/dist/providers/core/config/camoufox-launcher.js +3 -4
  134. package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
  135. package/dist/providers/core/config/provider-oauth-configs.js +2 -2
  136. package/dist/providers/core/config/provider-oauth-configs.js.map +1 -1
  137. package/dist/providers/core/hooks/hooks-integration.js +1 -1
  138. package/dist/providers/core/hooks/hooks-integration.js.map +1 -1
  139. package/dist/providers/core/runtime/deepseek-http-provider.js +2 -1
  140. package/dist/providers/core/runtime/deepseek-http-provider.js.map +1 -1
  141. package/dist/providers/core/utils/snapshot-writer.js +2 -1
  142. package/dist/providers/core/utils/snapshot-writer.js.map +1 -1
  143. package/dist/providers/profile/families/anthropic-profile.js +32 -0
  144. package/dist/providers/profile/families/anthropic-profile.js.map +1 -1
  145. package/dist/server/handlers/config-admin-handler.d.ts +1 -1
  146. package/dist/server/handlers/config-admin-handler.js +6 -6
  147. package/dist/server/handlers/config-admin-handler.js.map +1 -1
  148. package/dist/server/handlers/handler-response-utils.js +9 -4
  149. package/dist/server/handlers/handler-response-utils.js.map +1 -1
  150. package/dist/server/runtime/http-server/clock-runtime-hooks.d.ts +2 -0
  151. package/dist/server/runtime/http-server/clock-runtime-hooks.js +91 -0
  152. package/dist/server/runtime/http-server/clock-runtime-hooks.js.map +1 -0
  153. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js +51 -13
  154. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js.map +1 -1
  155. package/dist/server/runtime/http-server/daemon-admin/auth-store.d.ts +1 -9
  156. package/dist/server/runtime/http-server/daemon-admin/auth-store.js +2 -18
  157. package/dist/server/runtime/http-server/daemon-admin/auth-store.js.map +1 -1
  158. package/dist/server/runtime/http-server/daemon-admin/control-handler.js +3 -3
  159. package/dist/server/runtime/http-server/daemon-admin/control-handler.js.map +1 -1
  160. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js +2 -2
  161. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js.map +1 -1
  162. package/dist/server/runtime/http-server/daemon-admin/providers-handler-routing-utils.js +5 -4
  163. package/dist/server/runtime/http-server/daemon-admin/providers-handler-routing-utils.js.map +1 -1
  164. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js +3 -3
  165. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js.map +1 -1
  166. package/dist/server/runtime/http-server/daemon-admin-routes.d.ts +2 -0
  167. package/dist/server/runtime/http-server/daemon-admin-routes.js +11 -8
  168. package/dist/server/runtime/http-server/daemon-admin-routes.js.map +1 -1
  169. package/dist/server/runtime/http-server/executor/client-injection-flow.js +9 -1
  170. package/dist/server/runtime/http-server/executor/client-injection-flow.js.map +1 -1
  171. package/dist/server/runtime/http-server/executor/provider-response-converter.js +119 -26
  172. package/dist/server/runtime/http-server/executor/provider-response-converter.js.map +1 -1
  173. package/dist/server/runtime/http-server/executor/request-retry-helpers.d.ts +1 -0
  174. package/dist/server/runtime/http-server/executor/request-retry-helpers.js +26 -0
  175. package/dist/server/runtime/http-server/executor/request-retry-helpers.js.map +1 -1
  176. package/dist/server/runtime/http-server/http-server-bootstrap.js +2 -3
  177. package/dist/server/runtime/http-server/http-server-bootstrap.js.map +1 -1
  178. package/dist/server/runtime/http-server/http-server-lifecycle.js +2 -0
  179. package/dist/server/runtime/http-server/http-server-lifecycle.js.map +1 -1
  180. package/dist/server/runtime/http-server/http-server-runtime-setup.js +2 -0
  181. package/dist/server/runtime/http-server/http-server-runtime-setup.js.map +1 -1
  182. package/dist/server/runtime/http-server/http-server-session-daemon.js +9 -299
  183. package/dist/server/runtime/http-server/http-server-session-daemon.js.map +1 -1
  184. package/dist/server/runtime/http-server/middleware.d.ts +7 -0
  185. package/dist/server/runtime/http-server/middleware.js +1 -1
  186. package/dist/server/runtime/http-server/middleware.js.map +1 -1
  187. package/dist/server/runtime/http-server/request-executor.js +36 -51
  188. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  189. package/dist/server/runtime/http-server/routes.js +10 -3
  190. package/dist/server/runtime/http-server/routes.js.map +1 -1
  191. package/dist/server/runtime/http-server/servertool-admin-state.d.ts +1 -0
  192. package/dist/server/runtime/http-server/servertool-admin-state.js +7 -2
  193. package/dist/server/runtime/http-server/servertool-admin-state.js.map +1 -1
  194. package/dist/server/runtime/http-server/session-client-route-utils.d.ts +1 -0
  195. package/dist/server/runtime/http-server/session-client-route-utils.js +49 -4
  196. package/dist/server/runtime/http-server/session-client-route-utils.js.map +1 -1
  197. package/dist/server/runtime/http-server/session-client-routes.d.ts +5 -1
  198. package/dist/server/runtime/http-server/session-client-routes.js +60 -30
  199. package/dist/server/runtime/http-server/session-client-routes.js.map +1 -1
  200. package/dist/server/runtime/http-server/session-dir.js +6 -12
  201. package/dist/server/runtime/http-server/session-dir.js.map +1 -1
  202. package/dist/server/runtime/http-server/stats-manager.js +4 -3
  203. package/dist/server/runtime/http-server/stats-manager.js.map +1 -1
  204. package/dist/server/utils/non-blocking-error-logger.js +2 -1
  205. package/dist/server/utils/non-blocking-error-logger.js.map +1 -1
  206. package/dist/server/utils/request-log-color.js +10 -3
  207. package/dist/server/utils/request-log-color.js.map +1 -1
  208. package/dist/server/utils/stage-logger.js +71 -9
  209. package/dist/server/utils/stage-logger.js.map +1 -1
  210. package/dist/token-daemon/history-store.js +2 -1
  211. package/dist/token-daemon/history-store.js.map +1 -1
  212. package/dist/token-daemon/leader-lock.js +2 -2
  213. package/dist/token-daemon/leader-lock.js.map +1 -1
  214. package/dist/token-daemon/quota-auth-issue.js +2 -4
  215. package/dist/token-daemon/quota-auth-issue.js.map +1 -1
  216. package/dist/token-daemon/server-utils.js +3 -4
  217. package/dist/token-daemon/server-utils.js.map +1 -1
  218. package/dist/token-daemon/token-daemon.js +6 -6
  219. package/dist/token-daemon/token-daemon.js.map +1 -1
  220. package/dist/token-daemon/token-utils.js +2 -1
  221. package/dist/token-daemon/token-utils.js.map +1 -1
  222. package/dist/token-portal/fingerprint-summary.js +2 -3
  223. package/dist/token-portal/fingerprint-summary.js.map +1 -1
  224. package/dist/token-portal/local-token-portal.js +1 -1
  225. package/dist/token-portal/local-token-portal.js.map +1 -1
  226. package/dist/utils/daemon-stop-intent.js +2 -2
  227. package/dist/utils/daemon-stop-intent.js.map +1 -1
  228. package/dist/utils/errorsamples.js +3 -1
  229. package/dist/utils/errorsamples.js.map +1 -1
  230. package/dist/utils/llms-engine-shadow.js +2 -2
  231. package/dist/utils/llms-engine-shadow.js.map +1 -1
  232. package/dist/utils/managed-server-pids.js +2 -2
  233. package/dist/utils/managed-server-pids.js.map +1 -1
  234. package/dist/utils/process-lifecycle-logger.js +2 -1
  235. package/dist/utils/process-lifecycle-logger.js.map +1 -1
  236. package/dist/utils/runtime-exit-forensics.js +2 -2
  237. package/dist/utils/runtime-exit-forensics.js.map +1 -1
  238. package/dist/utils/session-log-color.js +31 -5
  239. package/dist/utils/session-log-color.js.map +1 -1
  240. package/dist/utils/snapshot-writer.js +2 -1
  241. package/dist/utils/snapshot-writer.js.map +1 -1
  242. package/docs/CODEX_AND_CLAUDE_CODE.md +1 -1
  243. package/docs/CONFIG_ARCHITECTURE.md +7 -7
  244. package/docs/DAEMON_CONTROL_PLANE.md +2 -2
  245. package/docs/INSTALLATION_AND_QUICKSTART.md +2 -2
  246. package/docs/INSTRUCTION_MARKUP.md +2 -2
  247. package/docs/OAUTH.md +6 -6
  248. package/docs/PORTS.md +1 -1
  249. package/docs/PROVIDERS_BUILTIN.md +2 -2
  250. package/docs/QUOTA_MANAGER_V3.md +2 -2
  251. package/docs/ROUTING_POLICY_SCHEMA.md +1 -1
  252. package/docs/SERVERTOOL_CLOCK_DESIGN.md +1 -1
  253. package/docs/SERVERTOOL_PRE_COMMAND_HOOKS.md +4 -4
  254. package/docs/anthropic-request-golden-samples.md +4 -4
  255. package/docs/chat-glm-500-analysis.md +2 -2
  256. package/docs/chat-request-golden-samples.md +4 -4
  257. package/docs/codex-samples-replay.md +3 -3
  258. package/docs/daemon-admin-api-design.md +2 -2
  259. package/docs/daemon-admin-ui.html +9 -9
  260. package/docs/design/servertool-stopmessage-lifecycle.md +5 -0
  261. package/docs/golden-ci-library.md +8 -8
  262. package/docs/monitoring/Design.md +2 -2
  263. package/docs/multi-token-auth-guide.md +6 -6
  264. package/docs/oauth-authentication-guide.md +1 -1
  265. package/docs/oauth-iflow-implementation.md +2 -2
  266. package/docs/pipeline-routing-report.md +1 -1
  267. package/docs/plans/manager-daemon/PLAN.md +1 -1
  268. package/docs/plans/provider-config-v2-plan.md +8 -8
  269. package/docs/plans/provider-runtime-manager-plan.md +4 -4
  270. package/docs/provider-analysis.md +5 -5
  271. package/docs/provider-quota-design.md +2 -2
  272. package/docs/providers/antigravity-fingerprint-ua-warmup.md +5 -5
  273. package/docs/providers/antigravity-gemini-provider-compat.md +3 -3
  274. package/docs/providers/deepseek-web-provider-design.md +1 -1
  275. package/docs/providers/gemini-provider.md +1 -1
  276. package/docs/providers/provider-composite-testing.md +2 -2
  277. package/docs/providers/tabglm-claude-code-compat.md +1 -1
  278. package/docs/replay-evidence-iflow-400.txt +3 -3
  279. package/docs/reports/routing-classification-report.json +6 -6
  280. package/docs/reports/routing-classification-report.md +6 -6
  281. package/docs/reports/thinking-keywords-report.json +6 -6
  282. package/docs/responses/README.md +5 -5
  283. package/docs/responses-generic-provider.md +1 -1
  284. package/docs/responses-passthrough-provider-design.md +7 -7
  285. package/docs/routing-instructions.md +1 -1
  286. package/docs/token-daemon-preview.html +3 -3
  287. package/docs/token-refresh-daemon-plan.md +7 -7
  288. package/docs/verification/modelscope-verify.md +2 -2
  289. package/docs/verified-configs/README.md +2 -2
  290. package/docs/verified-configs/v0.45.0/README.md +5 -5
  291. package/docs/verified-configs/v0.45.0/merged-config.5521.json +3 -3
  292. package/docs/verified-configs/v0.45.0/merged-config.qwen-5522.json +3 -3
  293. package/package.json +3 -2
  294. package/scripts/anthropic-four-config-e2e.mjs +5 -5
  295. package/scripts/anthropic-toolcall.mjs +1 -1
  296. package/scripts/batch-toolcall-report.mjs +1 -1
  297. package/scripts/build-core.mjs +2 -7
  298. package/scripts/claude-e2e-listdir-all.sh +1 -1
  299. package/scripts/claude-e2e-listdir-per-config.sh +4 -4
  300. package/scripts/clean-safe.mjs +1 -1
  301. package/scripts/cleanup-beads-oversized-notes.mjs +182 -0
  302. package/scripts/config-core-compare.ts +1 -1
  303. package/scripts/ensure-llmswitch-mode.mjs +7 -1
  304. package/scripts/glm1210-curl-test.sh +1 -1
  305. package/scripts/install-release.sh +1 -1
  306. package/scripts/mock-provider/capture-from-configs.mjs +1 -1
  307. package/scripts/outbound-network-toolcall.mjs +2 -2
  308. package/scripts/outbound-regression-codex-samples.mjs +1 -1
  309. package/scripts/pack-mode.mjs +14 -1
  310. package/scripts/pack-rcc.mjs +9 -4
  311. package/scripts/provider-v2-smoke.mjs +3 -3
  312. package/scripts/publish-rcc.mjs +8 -3
  313. package/scripts/replay-recorded-toolcall.mjs +1 -2
  314. package/scripts/responses-fai-capture.mjs +1 -1
  315. package/scripts/responses-sse-capture.mjs +1 -1
  316. package/scripts/responses-sse-proxy.mjs +1 -1
  317. package/scripts/responses-sse-replay-golden.mjs +252 -111
  318. package/scripts/run-bg.sh +1 -1
  319. package/scripts/run-fg-gtimeout.sh +1 -1
  320. package/scripts/tests/antigravity-codex-sample-pipeline-compare.mjs +1 -1
  321. package/scripts/tests/antigravity-gemini-dryrun-compare.mjs +1 -1
  322. package/scripts/tests/responses-provider-dry-run.mjs +1 -1
  323. package/scripts/tests/virtual-router-health.mjs +1 -1
  324. package/scripts/update-models.mjs +2 -2
  325. package/scripts/v2-simple-monitor.mjs +1 -1
  326. package/scripts/vendor-core.mjs +12 -7
  327. package/scripts/verify-e2e-gemini-followup-sample.mjs +1 -1
  328. package/scripts/verify-e2e-toolcall.mjs +2 -2
  329. package/scripts/verify-health.mjs +2 -2
  330. package/scripts/verify-sse-loop.mjs +1 -1
  331. package/scripts/virtual-router-dryrun.mjs +2 -2
  332. package/scripts/virtual-router-shadow-v2-real.mjs +3 -3
  333. package/dist/daemon-admin-ui/assets/index-C8vP_c5E.js +0 -15
  334. package/docs/rccx-wasm-migration.md +0 -74
  335. package/scripts/compare-codex-rccx.mjs +0 -326
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>RouteCodex Admin</title>
7
- <script type="module" crossorigin src="/daemon/admin/assets/index-C8vP_c5E.js"></script>
7
+ <script type="module" crossorigin src="/daemon/admin/assets/index-Bnx13Byl.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/daemon/admin/assets/index-DjIoHmNv.css">
9
9
  </head>
10
10
  <body>
@@ -720,8 +720,8 @@
720
720
  <div class="title">
721
721
  <h1>RouteCodex Daemon Admin</h1>
722
722
  <p>
723
- Writes to <span class="mono">~/.routecodex/config.json</span>. This UI requires an admin password:
724
- first visit will ask you to set one (stored at <span class="mono">~/.routecodex/login</span>), then you login with it.
723
+ Writes to <span class="mono">~/.rcc/config.json</span>. This UI requires an admin password:
724
+ first visit will ask you to set one (stored at <span class="mono">~/.rcc/login</span>), then you login with it.
725
725
  </p>
726
726
  </div>
727
727
  <div class="statusline">
@@ -1039,7 +1039,7 @@
1039
1039
  <input
1040
1040
  id="apikeyValueInput"
1041
1041
  type="password"
1042
- placeholder="will be written to ~/.routecodex/auth/*.key"
1042
+ placeholder="will be written to ~/.rcc/auth/*.key"
1043
1043
  style="flex: 1; min-width: 260px;"
1044
1044
  />
1045
1045
  </div>
@@ -1074,7 +1074,7 @@
1074
1074
  <input
1075
1075
  id="cookieFileInput"
1076
1076
  type="text"
1077
- placeholder="~/.routecodex/auth/iflow-work.cookie"
1077
+ placeholder="~/.rcc/auth/iflow-work.cookie"
1078
1078
  style="flex: 1; min-width: 280px;"
1079
1079
  />
1080
1080
  </div>
@@ -1171,7 +1171,7 @@
1171
1171
  <div class="card" style="box-shadow:none;">
1172
1172
  <p class="section-title">Stats (historical)</p>
1173
1173
  <p class="section-sub">
1174
- Aggregated from <span class="mono">~/.routecodex/logs/provider-stats.jsonl</span> (best-effort).
1174
+ Aggregated from <span class="mono">~/.rcc/logs/provider-stats.jsonl</span> (best-effort).
1175
1175
  </p>
1176
1176
  <div class="notice mono" id="statsHistoricalTotalsBox" style="white-space: pre-wrap;"></div>
1177
1177
  <div class="table-wrap" style="margin-top: 10px;">
@@ -1233,7 +1233,7 @@
1233
1233
  <p class="section-title">Token usage (session + historical)</p>
1234
1234
  <p class="section-sub">
1235
1235
  Session stats reset on server restart. Historical totals are aggregated from
1236
- <span class="mono">~/.routecodex/logs/provider-stats.jsonl</span> (best-effort).
1236
+ <span class="mono">~/.rcc/logs/provider-stats.jsonl</span> (best-effort).
1237
1237
  </p>
1238
1238
  <div class="row" style="margin-bottom: 10px;">
1239
1239
  <button id="refreshTokensBtn" class="primary">Refresh</button>
@@ -1263,7 +1263,7 @@
1263
1263
  <div class="card" style="box-shadow:none;">
1264
1264
  <p class="section-title">Auth Inventory</p>
1265
1265
  <p class="section-sub">
1266
- Token files + API key authfiles in <span class="mono">~/.routecodex/auth</span>.
1266
+ Token files + API key authfiles in <span class="mono">~/.rcc/auth</span>.
1267
1267
  </p>
1268
1268
  <div class="row" style="margin-bottom: 10px;">
1269
1269
  <button id="refreshCredentialsBtn" class="primary">Refresh</button>
@@ -2292,7 +2292,7 @@
2292
2292
  type: "iflow",
2293
2293
  baseURL: "https://apis.iflow.cn/v1",
2294
2294
  compatibilityProfile: "chat:iflow",
2295
- auth: { type: "iflow-cookie", cookieFile: "~/.routecodex/auth/iflow-work.cookie" },
2295
+ auth: { type: "iflow-cookie", cookieFile: "~/.rcc/auth/iflow-work.cookie" },
2296
2296
  models: {}
2297
2297
  };
2298
2298
  }
@@ -3216,7 +3216,7 @@
3216
3216
  if (authMode === "cookie") {
3217
3217
  base.auth = {
3218
3218
  type: "iflow-cookie",
3219
- cookieFile: ($("cookieFileInput").value || "").trim() || "~/.routecodex/auth/iflow.cookie"
3219
+ cookieFile: ($("cookieFileInput").value || "").trim() || "~/.rcc/auth/iflow.cookie"
3220
3220
  };
3221
3221
  }
3222
3222
  if (authMode === "oauth") {
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ import { listManagedServerPidsByPort } from './utils/managed-server-pids.js';
21
21
  import { inferUngracefulPreviousExit, resolveRuntimeLifecyclePath, safeMarkRuntimeExit, safeReadRuntimeLifecycle, safeWriteRuntimeLifecycle } from './utils/runtime-exit-forensics.js';
22
22
  import { resolveRouteCodexConfigPath } from './config/config-paths.js';
23
23
  import { loadRouteCodexConfig } from './config/routecodex-config-loader.js';
24
+ import { ensureRccUserDirEnvironment, resolveRccPath, resolveRccPathForRead } from './config/user-data-paths.js';
24
25
  let runtimeMinimalLogFilterInstalled = false;
25
26
  function resolveBoolFromEnv(value, fallback) {
26
27
  if (!value) {
@@ -35,6 +36,49 @@ function resolveBoolFromEnv(value, fallback) {
35
36
  }
36
37
  return fallback;
37
38
  }
39
+ function safeProcessCwd(fallback) {
40
+ try {
41
+ const cwd = process.cwd();
42
+ if (typeof cwd === 'string' && cwd.trim()) {
43
+ return cwd;
44
+ }
45
+ }
46
+ catch {
47
+ // current working directory may disappear between launches
48
+ }
49
+ const fallbackValue = String(fallback || '').trim();
50
+ if (fallbackValue) {
51
+ return path.resolve(fallbackValue);
52
+ }
53
+ try {
54
+ const home = homedir();
55
+ if (typeof home === 'string' && home.trim()) {
56
+ return path.resolve(home);
57
+ }
58
+ }
59
+ catch {
60
+ // ignore homedir lookup failure
61
+ }
62
+ return path.dirname(process.execPath);
63
+ }
64
+ function ensureProcessCwdAccessible() {
65
+ try {
66
+ process.cwd();
67
+ return;
68
+ }
69
+ catch {
70
+ // fall through and rebind cwd
71
+ }
72
+ const fallbackDir = safeProcessCwd(path.dirname(process.argv[1] || process.execPath));
73
+ try {
74
+ process.chdir(fallbackDir);
75
+ }
76
+ catch {
77
+ // keep original state if rebind fails; downstream callers still use safeProcessCwd
78
+ }
79
+ }
80
+ ensureProcessCwdAccessible();
81
+ ensureRccUserDirEnvironment();
38
82
  function resolveExpectedParentPid() {
39
83
  const raw = String(process.env.ROUTECODEX_EXPECT_PARENT_PID ?? process.env.RCC_EXPECT_PARENT_PID ?? '').trim();
40
84
  if (!raw) {
@@ -72,14 +116,23 @@ const ANSI_GREEN = '\x1b[32m';
72
116
  const ANSI_RED = '\x1b[31m';
73
117
  const ANSI_PATTERN = /\x1b\[[0-9;]*m/;
74
118
  function isConsoleColorEnabled() {
75
- if (String(process.env.NO_COLOR || '').trim()) {
119
+ const routecodexForceColor = String(process.env.ROUTECODEX_FORCE_LOG_COLOR
120
+ ?? process.env.RCC_FORCE_LOG_COLOR
121
+ ?? '').trim().toLowerCase();
122
+ if (routecodexForceColor === '1' || routecodexForceColor === 'true' || routecodexForceColor === 'yes' || routecodexForceColor === 'on') {
123
+ return true;
124
+ }
125
+ if (routecodexForceColor === '0' || routecodexForceColor === 'false' || routecodexForceColor === 'no' || routecodexForceColor === 'off') {
76
126
  return false;
77
127
  }
78
128
  const forceColor = String(process.env.FORCE_COLOR || '').trim();
79
129
  if (forceColor === '0') {
80
130
  return false;
81
131
  }
82
- return process.stdout?.isTTY === true;
132
+ if (forceColor.length > 0) {
133
+ return true;
134
+ }
135
+ return true;
83
136
  }
84
137
  function wrapAnsi(text, color) {
85
138
  return `${color}${text}${ANSI_RESET}`;
@@ -458,7 +511,7 @@ function resolveSignalCaller(signal) {
458
511
  platform: process.platform,
459
512
  node: process.version,
460
513
  execPath: process.execPath,
461
- cwd: process.cwd(),
514
+ cwd: safeProcessCwd(),
462
515
  uptimeSec: Math.floor(process.uptime()),
463
516
  argv: process.argv.slice(0, 10).map((entry) => truncateLogValue(String(entry), 240))
464
517
  },
@@ -515,8 +568,8 @@ function getDefaultModulesConfigPath() {
515
568
  scriptDir ? path.join(scriptDir, 'config', 'modules.json') : null,
516
569
  scriptDir ? path.join(scriptDir, '..', 'config', 'modules.json') : null,
517
570
  path.join(execDir, 'config', 'modules.json'),
518
- path.join(process.cwd(), 'config', 'modules.json'),
519
- path.join(homedir(), '.routecodex', 'config', 'modules.json')
571
+ path.join(safeProcessCwd(execDir), 'config', 'modules.json'),
572
+ resolveRccPathForRead('config', 'modules.json')
520
573
  ];
521
574
  for (const configPath of possiblePaths) {
522
575
  if (configPath && fsSync.existsSync(configPath)) {
@@ -526,7 +579,7 @@ function getDefaultModulesConfigPath() {
526
579
  }
527
580
  }
528
581
  }
529
- return path.join(process.cwd(), 'config', 'modules.json');
582
+ return path.join(safeProcessCwd(execDir), 'config', 'modules.json');
530
583
  }
531
584
  function resolveAppBaseDir() {
532
585
  const env = String(process.env.ROUTECODEX_BASEDIR || process.env.RCC_BASEDIR || '').trim();
@@ -538,7 +591,7 @@ function resolveAppBaseDir() {
538
591
  return path.resolve(path.dirname(__filename), '..');
539
592
  }
540
593
  catch {
541
- return process.cwd();
594
+ return safeProcessCwd();
542
595
  }
543
596
  }
544
597
  /**
@@ -548,7 +601,7 @@ class RouteCodexApp {
548
601
  httpServer = null;
549
602
  modulesConfigPath;
550
603
  _isRunning = false;
551
- configPath = path.join(process.cwd(), 'config', 'config.json');
604
+ configPath = path.join(safeProcessCwd(), 'config', 'config.json');
552
605
  baseDir;
553
606
  constructor(modulesConfigPath) {
554
607
  this.modulesConfigPath = modulesConfigPath || getDefaultModulesConfigPath();
@@ -588,7 +641,7 @@ class RouteCodexApp {
588
641
  // This is required to avoid cold-start tool-call failures after server restarts.
589
642
  try {
590
643
  const { warmupAntigravitySessionSignatureModule, configureAntigravitySessionSignaturePersistence } = await import('./modules/llmswitch/bridge.js');
591
- const stateDir = path.join(homedir(), '.routecodex', 'state');
644
+ const stateDir = resolveRccPath('state');
592
645
  try {
593
646
  fsSync.mkdirSync(stateDir, { recursive: true });
594
647
  }
@@ -731,7 +784,7 @@ class RouteCodexApp {
731
784
  // 异步写入 PID 文件,不阻塞启动流程
732
785
  void (async () => {
733
786
  try {
734
- const routeCodexHome = path.join(homedir(), '.routecodex');
787
+ const routeCodexHome = resolveRccPath();
735
788
  await fs.mkdir(routeCodexHome, { recursive: true });
736
789
  await fs.writeFile(path.join(routeCodexHome, `server-${bindPort}.pid`), String(process.pid), 'utf8');
737
790
  }
@@ -960,7 +1013,7 @@ class RouteCodexApp {
960
1013
  }
961
1014
  }
962
1015
  }
963
- // 使用共享解析逻辑解析用户配置路径(支持 ~/.routecodex/config 目录)
1016
+ // 使用共享解析逻辑解析用户配置路径(支持 ~/.rcc/config 目录)
964
1017
  try {
965
1018
  const sharedPath = resolveRouteCodexConfigPath();
966
1019
  if (sharedPath && fsSync.existsSync(sharedPath)) {
@@ -979,7 +1032,7 @@ class RouteCodexApp {
979
1032
  // ignore and fall back
980
1033
  }
981
1034
  // 最后检查默认配置文件
982
- const defaultConfigPath = path.join(homedir(), '.routecodex', 'config.json');
1035
+ const defaultConfigPath = resolveRccPathForRead('config.json');
983
1036
  if (fsSync.existsSync(defaultConfigPath)) {
984
1037
  const defaultStats = fsSync.statSync(defaultConfigPath);
985
1038
  if (!defaultStats.isFile()) {
@@ -1397,7 +1450,7 @@ function resolveRestartEntryScript(argv) {
1397
1450
  if (raw.startsWith('-')) {
1398
1451
  return null;
1399
1452
  }
1400
- return path.isAbsolute(raw) ? raw : path.resolve(process.cwd(), raw);
1453
+ return path.isAbsolute(raw) ? raw : path.resolve(safeProcessCwd(), raw);
1401
1454
  }
1402
1455
  function parseRestartEntryWaitMs() {
1403
1456
  const raw = process.env.ROUTECODEX_RESTART_ENTRY_WAIT_MS;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
- import { homedir } from 'node:os';
4
3
  import { JsonlFileStore } from '../../storage/file-store.js';
4
+ import { resolveRccPath } from '../../../config/user-data-paths.js';
5
5
  export class HealthManagerModule {
6
6
  id = 'health';
7
7
  serverId = null;
@@ -69,7 +69,7 @@ export class HealthManagerModule {
69
69
  return this.initialSnapshot;
70
70
  }
71
71
  resolveStateDir() {
72
- const base = path.join(homedir(), '.routecodex', 'state', 'router', this.serverId || 'default');
72
+ const base = resolveRccPath('state', 'router', this.serverId || 'default');
73
73
  try {
74
74
  fs.mkdirSync(base, { recursive: true });
75
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/manager/modules/health/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/manager/modules/health/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ export type QuotaRecordLike = {
6
6
  fetchedAt: number;
7
7
  };
8
8
  export declare function resolveQuotaManagerDir(resolveHomeDir: () => string): string;
9
- export declare function resolveQuotaStatePath(resolveHomeDir: () => string): string;
9
+ export declare function resolveQuotaStateWritePath(resolveHomeDir: () => string): string;
10
+ export declare function resolveQuotaStateReadPath(resolveHomeDir: () => string): string;
10
11
  export declare function loadAntigravitySnapshotFromDisk(resolveHomeDir: () => string): Record<string, QuotaRecordLike>;
11
12
  export declare function saveAntigravitySnapshotToDisk(resolveHomeDir: () => string, snapshot: Record<string, QuotaRecordLike>): Promise<void>;
12
13
  export declare function createQuotaStore(options: {
@@ -1,9 +1,9 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import fsAsync from 'node:fs/promises';
4
- import { loadProviderQuotaSnapshot } from '../../quota/provider-quota-store.js';
4
+ import { resolveRccQuotaDir, resolveRccStateDir } from '../../../config/user-data-paths.js';
5
5
  export function resolveQuotaManagerDir(resolveHomeDir) {
6
- const base = path.join(resolveHomeDir(), '.routecodex', 'quota');
6
+ const base = resolveRccQuotaDir(resolveHomeDir());
7
7
  try {
8
8
  fs.mkdirSync(base, { recursive: true });
9
9
  }
@@ -12,18 +12,21 @@ export function resolveQuotaManagerDir(resolveHomeDir) {
12
12
  }
13
13
  return base;
14
14
  }
15
- export function resolveQuotaStatePath(resolveHomeDir) {
16
- const baseDir = path.join(resolveHomeDir(), '.routecodex', 'state', 'quota');
15
+ export function resolveQuotaStateWritePath(resolveHomeDir) {
16
+ const primaryBaseDir = path.join(resolveRccStateDir(resolveHomeDir()), 'quota');
17
17
  try {
18
- fs.mkdirSync(baseDir, { recursive: true });
18
+ fs.mkdirSync(primaryBaseDir, { recursive: true });
19
19
  }
20
20
  catch {
21
21
  // best effort
22
22
  }
23
- return path.join(baseDir, 'antigravity.json');
23
+ return path.join(primaryBaseDir, 'antigravity.json');
24
+ }
25
+ export function resolveQuotaStateReadPath(resolveHomeDir) {
26
+ return resolveQuotaStateWritePath(resolveHomeDir);
24
27
  }
25
28
  export function loadAntigravitySnapshotFromDisk(resolveHomeDir) {
26
- const filePath = resolveQuotaStatePath(resolveHomeDir);
29
+ const filePath = resolveQuotaStateReadPath(resolveHomeDir);
27
30
  try {
28
31
  if (!fs.existsSync(filePath)) {
29
32
  return {};
@@ -59,7 +62,7 @@ export function loadAntigravitySnapshotFromDisk(resolveHomeDir) {
59
62
  }
60
63
  }
61
64
  export async function saveAntigravitySnapshotToDisk(resolveHomeDir, snapshot) {
62
- const filePath = resolveQuotaStatePath(resolveHomeDir);
65
+ const filePath = resolveQuotaStateWritePath(resolveHomeDir);
63
66
  try {
64
67
  await fsAsync.writeFile(filePath, `${JSON.stringify(snapshot, null, 2)}\n`, 'utf8');
65
68
  }
@@ -92,20 +95,6 @@ export function createQuotaStore(options) {
92
95
  catch {
93
96
  primaryLoadFailed = primaryExists;
94
97
  }
95
- try {
96
- const legacy = await loadProviderQuotaSnapshot();
97
- if (legacy && legacy.providers && typeof legacy.providers === 'object') {
98
- const nowMs = Date.now();
99
- options.onStatus('loaded');
100
- return {
101
- savedAtMs: Number.isFinite(Date.parse(legacy.updatedAt)) ? Date.parse(legacy.updatedAt) : nowMs,
102
- providers: legacy.providers
103
- };
104
- }
105
- }
106
- catch {
107
- // ignore
108
- }
109
98
  options.onStatus(primaryLoadFailed ? 'load_error' : 'missing');
110
99
  return null;
111
100
  },