@jsonstudio/rcc 0.89.1803 → 0.89.1959

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 (283) hide show
  1. package/configsamples/config.json +19 -0
  2. package/configsamples/provider/deepseek/config.v1.json +59 -0
  3. package/dist/build-info.js +2 -2
  4. package/dist/cli/commands/claude.d.ts +4 -0
  5. package/dist/cli/commands/claude.js +56 -0
  6. package/dist/cli/commands/claude.js.map +1 -0
  7. package/dist/cli/commands/clock-admin.d.ts +20 -0
  8. package/dist/cli/commands/clock-admin.js +234 -0
  9. package/dist/cli/commands/clock-admin.js.map +1 -0
  10. package/dist/cli/commands/code.d.ts +0 -42
  11. package/dist/cli/commands/code.js +4 -414
  12. package/dist/cli/commands/code.js.map +1 -1
  13. package/dist/cli/commands/codex.d.ts +4 -0
  14. package/dist/cli/commands/codex.js +43 -0
  15. package/dist/cli/commands/codex.js.map +1 -0
  16. package/dist/cli/commands/examples.js +13 -16
  17. package/dist/cli/commands/examples.js.map +1 -1
  18. package/dist/cli/commands/init/basic.d.ts +40 -0
  19. package/dist/cli/commands/init/basic.js +482 -0
  20. package/dist/cli/commands/init/basic.js.map +1 -0
  21. package/dist/cli/commands/init/camoufox.d.ts +7 -0
  22. package/dist/cli/commands/init/camoufox.js +59 -0
  23. package/dist/cli/commands/init/camoufox.js.map +1 -0
  24. package/dist/cli/commands/init/interactive.d.ts +18 -0
  25. package/dist/cli/commands/init/interactive.js +223 -0
  26. package/dist/cli/commands/init/interactive.js.map +1 -0
  27. package/dist/cli/commands/init/shared.d.ts +66 -0
  28. package/dist/cli/commands/init/shared.js +9 -0
  29. package/dist/cli/commands/init/shared.js.map +1 -0
  30. package/dist/cli/commands/init/workflows.d.ts +29 -0
  31. package/dist/cli/commands/init/workflows.js +341 -0
  32. package/dist/cli/commands/init/workflows.js.map +1 -0
  33. package/dist/cli/commands/init.d.ts +2 -26
  34. package/dist/cli/commands/init.js +220 -53
  35. package/dist/cli/commands/init.js.map +1 -1
  36. package/dist/cli/commands/launcher-kernel.d.ts +78 -0
  37. package/dist/cli/commands/launcher-kernel.js +1194 -0
  38. package/dist/cli/commands/launcher-kernel.js.map +1 -0
  39. package/dist/cli/commands/start.js +27 -1
  40. package/dist/cli/commands/start.js.map +1 -1
  41. package/dist/cli/commands/status.d.ts +2 -0
  42. package/dist/cli/commands/status.js +24 -1
  43. package/dist/cli/commands/status.js.map +1 -1
  44. package/dist/cli/commands/stop.d.ts +1 -0
  45. package/dist/cli/commands/stop.js +201 -4
  46. package/dist/cli/commands/stop.js.map +1 -1
  47. package/dist/cli/commands/tmux-inject.d.ts +20 -0
  48. package/dist/cli/commands/tmux-inject.js +212 -0
  49. package/dist/cli/commands/tmux-inject.js.map +1 -0
  50. package/dist/cli/config/init-provider-catalog.js +34 -0
  51. package/dist/cli/config/init-provider-catalog.js.map +1 -1
  52. package/dist/cli/register/claude-command.d.ts +3 -0
  53. package/dist/cli/register/claude-command.js +5 -0
  54. package/dist/cli/register/claude-command.js.map +1 -0
  55. package/dist/cli/register/clock-admin-command.d.ts +3 -0
  56. package/dist/cli/register/clock-admin-command.js +5 -0
  57. package/dist/cli/register/clock-admin-command.js.map +1 -0
  58. package/dist/cli/register/codex-command.d.ts +3 -0
  59. package/dist/cli/register/codex-command.js +5 -0
  60. package/dist/cli/register/codex-command.js.map +1 -0
  61. package/dist/cli/register/status-config-commands.d.ts +2 -0
  62. package/dist/cli/register/status-config-commands.js.map +1 -1
  63. package/dist/cli/register/tmux-inject-command.d.ts +3 -0
  64. package/dist/cli/register/tmux-inject-command.js +5 -0
  65. package/dist/cli/register/tmux-inject-command.js.map +1 -0
  66. package/dist/cli/server/port-utils.d.ts +3 -2
  67. package/dist/cli/server/port-utils.js +171 -32
  68. package/dist/cli/server/port-utils.js.map +1 -1
  69. package/dist/cli.js +45 -6
  70. package/dist/cli.js.map +1 -1
  71. package/dist/client/gemini/gemini-protocol-client.js +56 -5
  72. package/dist/client/gemini/gemini-protocol-client.js.map +1 -1
  73. package/dist/commands/token-daemon.js +59 -7
  74. package/dist/commands/token-daemon.js.map +1 -1
  75. package/dist/commands/validate.js +87 -15
  76. package/dist/commands/validate.js.map +1 -1
  77. package/dist/config/routecodex-config-loader.js +31 -2
  78. package/dist/config/routecodex-config-loader.js.map +1 -1
  79. package/dist/docs/daemon-admin-ui.html +948 -74
  80. package/dist/index.d.ts +1 -0
  81. package/dist/index.js +325 -37
  82. package/dist/index.js.map +1 -1
  83. package/dist/manager/quota/provider-quota-center.js +8 -14
  84. package/dist/manager/quota/provider-quota-center.js.map +1 -1
  85. package/dist/modules/llmswitch/bridge.d.ts +39 -0
  86. package/dist/modules/llmswitch/bridge.js +169 -0
  87. package/dist/modules/llmswitch/bridge.js.map +1 -1
  88. package/dist/modules/pipeline/utils/colored-logger.js +1 -1
  89. package/dist/modules/pipeline/utils/colored-logger.js.map +1 -1
  90. package/dist/providers/auth/deepseek-account-auth.d.ts +39 -0
  91. package/dist/providers/auth/deepseek-account-auth.js +329 -0
  92. package/dist/providers/auth/deepseek-account-auth.js.map +1 -0
  93. package/dist/providers/auth/deepseek-account-token-acquirer.d.ts +15 -0
  94. package/dist/providers/auth/deepseek-account-token-acquirer.js +644 -0
  95. package/dist/providers/auth/deepseek-account-token-acquirer.js.map +1 -0
  96. package/dist/providers/auth/oauth-lifecycle.js +26 -4
  97. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  98. package/dist/providers/auth/oauth-repair-cooldown.d.ts +5 -0
  99. package/dist/providers/auth/oauth-repair-cooldown.js +39 -0
  100. package/dist/providers/auth/oauth-repair-cooldown.js.map +1 -1
  101. package/dist/providers/auth/token-scanner/index.d.ts +6 -0
  102. package/dist/providers/auth/token-scanner/index.js +53 -0
  103. package/dist/providers/auth/token-scanner/index.js.map +1 -1
  104. package/dist/providers/core/api/provider-config.d.ts +17 -2
  105. package/dist/providers/core/api/provider-types.d.ts +6 -0
  106. package/dist/providers/core/api/provider-types.js.map +1 -1
  107. package/dist/providers/core/config/camoufox-launcher.d.ts +7 -0
  108. package/dist/providers/core/config/camoufox-launcher.js +68 -21
  109. package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
  110. package/dist/providers/core/config/service-profiles.js +19 -0
  111. package/dist/providers/core/config/service-profiles.js.map +1 -1
  112. package/dist/providers/core/contracts/deepseek-provider-contract.d.ts +34 -0
  113. package/dist/providers/core/contracts/deepseek-provider-contract.js +100 -0
  114. package/dist/providers/core/contracts/deepseek-provider-contract.js.map +1 -0
  115. package/dist/providers/core/runtime/anthropic-http-provider.d.ts +0 -5
  116. package/dist/providers/core/runtime/anthropic-http-provider.js +0 -26
  117. package/dist/providers/core/runtime/anthropic-http-provider.js.map +1 -1
  118. package/dist/providers/core/runtime/deepseek-http-provider.d.ts +35 -0
  119. package/dist/providers/core/runtime/deepseek-http-provider.js +373 -0
  120. package/dist/providers/core/runtime/deepseek-http-provider.js.map +1 -0
  121. package/dist/providers/core/runtime/deepseek-session-pow.d.ts +55 -0
  122. package/dist/providers/core/runtime/deepseek-session-pow.js +422 -0
  123. package/dist/providers/core/runtime/deepseek-session-pow.js.map +1 -0
  124. package/dist/providers/core/runtime/gemini-cli-http-provider.d.ts +0 -3
  125. package/dist/providers/core/runtime/gemini-cli-http-provider.js +0 -72
  126. package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
  127. package/dist/providers/core/runtime/gemini-http-provider.d.ts +1 -7
  128. package/dist/providers/core/runtime/gemini-http-provider.js +3 -110
  129. package/dist/providers/core/runtime/gemini-http-provider.js.map +1 -1
  130. package/dist/providers/core/runtime/http-request-executor.d.ts +1 -0
  131. package/dist/providers/core/runtime/http-request-executor.js +4 -0
  132. package/dist/providers/core/runtime/http-request-executor.js.map +1 -1
  133. package/dist/providers/core/runtime/http-transport-provider.d.ts +10 -4
  134. package/dist/providers/core/runtime/http-transport-provider.js +308 -82
  135. package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
  136. package/dist/providers/core/runtime/iflow-http-provider.d.ts +0 -4
  137. package/dist/providers/core/runtime/iflow-http-provider.js +0 -28
  138. package/dist/providers/core/runtime/iflow-http-provider.js.map +1 -1
  139. package/dist/providers/core/runtime/provider-factory.d.ts +5 -0
  140. package/dist/providers/core/runtime/provider-factory.js +59 -6
  141. package/dist/providers/core/runtime/provider-factory.js.map +1 -1
  142. package/dist/providers/core/runtime/responses-provider.d.ts +0 -2
  143. package/dist/providers/core/runtime/responses-provider.js +0 -11
  144. package/dist/providers/core/runtime/responses-provider.js.map +1 -1
  145. package/dist/providers/core/strategies/oauth-device-flow.js +16 -1
  146. package/dist/providers/core/strategies/oauth-device-flow.js.map +1 -1
  147. package/dist/providers/core/utils/provider-type-utils.js +2 -1
  148. package/dist/providers/core/utils/provider-type-utils.js.map +1 -1
  149. package/dist/providers/profile/families/anthropic-profile.d.ts +2 -0
  150. package/dist/providers/profile/families/anthropic-profile.js +32 -0
  151. package/dist/providers/profile/families/anthropic-profile.js.map +1 -0
  152. package/dist/providers/profile/families/antigravity-profile.d.ts +2 -0
  153. package/dist/providers/profile/families/antigravity-profile.js +109 -0
  154. package/dist/providers/profile/families/antigravity-profile.js.map +1 -0
  155. package/dist/providers/profile/families/glm-profile.d.ts +2 -0
  156. package/dist/providers/profile/families/glm-profile.js +48 -0
  157. package/dist/providers/profile/families/glm-profile.js.map +1 -0
  158. package/dist/providers/profile/families/iflow-profile.d.ts +2 -0
  159. package/dist/providers/profile/families/iflow-profile.js +232 -0
  160. package/dist/providers/profile/families/iflow-profile.js.map +1 -0
  161. package/dist/providers/profile/families/qwen-profile.d.ts +2 -0
  162. package/dist/providers/profile/families/qwen-profile.js +14 -0
  163. package/dist/providers/profile/families/qwen-profile.js.map +1 -0
  164. package/dist/providers/profile/families/responses-profile.d.ts +2 -0
  165. package/dist/providers/profile/families/responses-profile.js +28 -0
  166. package/dist/providers/profile/families/responses-profile.js.map +1 -0
  167. package/dist/providers/profile/profile-contracts.d.ts +74 -0
  168. package/dist/providers/profile/profile-contracts.js +2 -0
  169. package/dist/providers/profile/profile-contracts.js.map +1 -0
  170. package/dist/providers/profile/profile-registry.d.ts +3 -0
  171. package/dist/providers/profile/profile-registry.js +40 -0
  172. package/dist/providers/profile/profile-registry.js.map +1 -0
  173. package/dist/providers/profile/provider-directory.d.ts +2 -0
  174. package/dist/providers/profile/provider-directory.js +55 -0
  175. package/dist/providers/profile/provider-directory.js.map +1 -0
  176. package/dist/providers/profile/provider-profile-loader.js +43 -3
  177. package/dist/providers/profile/provider-profile-loader.js.map +1 -1
  178. package/dist/providers/profile/provider-profile.d.ts +8 -0
  179. package/dist/scripts/deepseek/pow-solver.mjs +146 -0
  180. package/dist/scripts/deepseek/sha3_wasm_bg.7b9ca65ddd.wasm +0 -0
  181. package/dist/server/handlers/config-admin-handler.js +27 -0
  182. package/dist/server/handlers/config-admin-handler.js.map +1 -1
  183. package/dist/server/runtime/http-server/clock-client-registry.d.ts +113 -0
  184. package/dist/server/runtime/http-server/clock-client-registry.js +592 -0
  185. package/dist/server/runtime/http-server/clock-client-registry.js.map +1 -0
  186. package/dist/server/runtime/http-server/clock-client-routes.d.ts +2 -0
  187. package/dist/server/runtime/http-server/clock-client-routes.js +481 -0
  188. package/dist/server/runtime/http-server/clock-client-routes.js.map +1 -0
  189. package/dist/server/runtime/http-server/clock-daemon-inject-config.d.ts +1 -0
  190. package/dist/server/runtime/http-server/clock-daemon-inject-config.js +11 -0
  191. package/dist/server/runtime/http-server/clock-daemon-inject-config.js.map +1 -0
  192. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js +3 -3
  193. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js.map +1 -1
  194. package/dist/server/runtime/http-server/daemon-admin/auth-session.d.ts +1 -0
  195. package/dist/server/runtime/http-server/daemon-admin/auth-session.js +18 -2
  196. package/dist/server/runtime/http-server/daemon-admin/auth-session.js.map +1 -1
  197. package/dist/server/runtime/http-server/daemon-admin/control-handler.js +2 -15
  198. package/dist/server/runtime/http-server/daemon-admin/control-handler.js.map +1 -1
  199. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js +65 -7
  200. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js.map +1 -1
  201. package/dist/server/runtime/http-server/executor-metadata.js +37 -1
  202. package/dist/server/runtime/http-server/executor-metadata.js.map +1 -1
  203. package/dist/server/runtime/http-server/executor-provider.js +55 -0
  204. package/dist/server/runtime/http-server/executor-provider.js.map +1 -1
  205. package/dist/server/runtime/http-server/executor-response.js +49 -1
  206. package/dist/server/runtime/http-server/executor-response.js.map +1 -1
  207. package/dist/server/runtime/http-server/index.d.ts +10 -0
  208. package/dist/server/runtime/http-server/index.js +534 -9
  209. package/dist/server/runtime/http-server/index.js.map +1 -1
  210. package/dist/server/runtime/http-server/managed-process-probe.d.ts +6 -0
  211. package/dist/server/runtime/http-server/managed-process-probe.js +294 -0
  212. package/dist/server/runtime/http-server/managed-process-probe.js.map +1 -0
  213. package/dist/server/runtime/http-server/middleware.js +16 -1
  214. package/dist/server/runtime/http-server/middleware.js.map +1 -1
  215. package/dist/server/runtime/http-server/provider-utils.js +6 -2
  216. package/dist/server/runtime/http-server/provider-utils.js.map +1 -1
  217. package/dist/server/runtime/http-server/request-executor.d.ts +1 -0
  218. package/dist/server/runtime/http-server/request-executor.js +360 -35
  219. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  220. package/dist/server/runtime/http-server/routes.js +95 -3
  221. package/dist/server/runtime/http-server/routes.js.map +1 -1
  222. package/dist/server/runtime/http-server/stats-manager.d.ts +10 -0
  223. package/dist/server/runtime/http-server/stats-manager.js +119 -16
  224. package/dist/server/runtime/http-server/stats-manager.js.map +1 -1
  225. package/dist/server/runtime/http-server/tmux-session-probe.d.ts +3 -0
  226. package/dist/server/runtime/http-server/tmux-session-probe.js +101 -0
  227. package/dist/server/runtime/http-server/tmux-session-probe.js.map +1 -0
  228. package/dist/server/utils/stage-logger.js +21 -5
  229. package/dist/server/utils/stage-logger.js.map +1 -1
  230. package/dist/token-daemon/index.js +59 -10
  231. package/dist/token-daemon/index.js.map +1 -1
  232. package/dist/token-daemon/server-utils.d.ts +1 -0
  233. package/dist/token-daemon/server-utils.js +4 -1
  234. package/dist/token-daemon/server-utils.js.map +1 -1
  235. package/dist/token-daemon/token-daemon.js +38 -4
  236. package/dist/token-daemon/token-daemon.js.map +1 -1
  237. package/dist/token-daemon/token-types.d.ts +1 -1
  238. package/dist/token-daemon/token-types.js +2 -1
  239. package/dist/token-daemon/token-types.js.map +1 -1
  240. package/dist/token-daemon/token-utils.js +5 -2
  241. package/dist/token-daemon/token-utils.js.map +1 -1
  242. package/dist/utils/clock-client-token.d.ts +3 -0
  243. package/dist/utils/clock-client-token.js +54 -0
  244. package/dist/utils/clock-client-token.js.map +1 -0
  245. package/dist/utils/managed-server-pids.d.ts +25 -0
  246. package/dist/utils/managed-server-pids.js +176 -0
  247. package/dist/utils/managed-server-pids.js.map +1 -0
  248. package/dist/utils/process-lifecycle-logger.d.ts +8 -0
  249. package/dist/utils/process-lifecycle-logger.js +151 -0
  250. package/dist/utils/process-lifecycle-logger.js.map +1 -0
  251. package/dist/utils/runtime-exit-forensics.d.ts +30 -0
  252. package/dist/utils/runtime-exit-forensics.js +101 -0
  253. package/dist/utils/runtime-exit-forensics.js.map +1 -0
  254. package/dist/utils/shutdown-caller-context.d.ts +22 -0
  255. package/dist/utils/shutdown-caller-context.js +25 -0
  256. package/dist/utils/shutdown-caller-context.js.map +1 -0
  257. package/docs/PROVIDERS_BUILTIN.md +8 -0
  258. package/docs/PROVIDER_TYPES.md +3 -1
  259. package/docs/SERVERTOOL_PRE_COMMAND_HOOKS.md +85 -0
  260. package/docs/clock-client-daemon-design.md +343 -0
  261. package/docs/daemon-admin-ui.html +948 -74
  262. package/docs/providers/deepseek-web-provider-design.md +192 -0
  263. package/docs/routing-instructions.md +4 -1
  264. package/docs/stop-message-auto.md +4 -3
  265. package/docs/v2-architecture/PROVIDER-V2-CHANGESET-RELEASE-CHECKLIST.md +80 -0
  266. package/docs/v2-architecture/PROVIDER-V2-LAYERING-ADR-DRAFT.md +225 -0
  267. package/docs/v2-architecture/PROVIDER-V2-MIGRATION-MATRIX-DRAFT.md +88 -0
  268. package/docs/v2-architecture/PROVIDER-V2-PHASED-MIGRATION-ROLLBACK-DRAFT.md +164 -0
  269. package/docs/v2-architecture/PROVIDER-V2-PROFILE-API-REGISTRY-DRAFT.md +201 -0
  270. package/docs/v2-architecture/PROVIDER-V2-PROFILE-GEMINI-DRAFT.md +56 -0
  271. package/docs/v2-architecture/PROVIDER-V2-REFACTOR-OVERVIEW-DRAFT.md +102 -0
  272. package/docs/v2-architecture/PROVIDER-V2-VERIFICATION-MATRIX-DRAFT.md +163 -0
  273. package/package.json +10 -9
  274. package/scripts/copy-compat-assets.mjs +18 -0
  275. package/scripts/copy-modules-config.mjs +1 -0
  276. package/scripts/deepseek/pow-solver.mjs +146 -0
  277. package/scripts/deepseek/sha3_wasm_bg.7b9ca65ddd.wasm +0 -0
  278. package/scripts/ensure-cli-executable.mjs +64 -0
  279. package/scripts/install-global.sh +5 -2
  280. package/scripts/install.sh +1 -1
  281. package/scripts/monitor/daemon-kill-watch.mjs +184 -0
  282. package/scripts/monitor/port-kill-watch.sh +74 -0
  283. package/scripts/quick-install.sh +1 -1
@@ -1,5 +1,8 @@
1
1
  import { spawnSync as nodeSpawnSync } from 'node:child_process';
2
+ import net from 'node:net';
2
3
  import { API_PATHS, HTTP_PROTOCOLS, LOCAL_HOSTS } from '../../constants/index.js';
4
+ import { logProcessLifecycle } from '../../utils/process-lifecycle-logger.js';
5
+ import { listManagedServerPidsByPort } from '../../utils/managed-server-pids.js';
3
6
  export function killPidBestEffortImpl(args) {
4
7
  const { pid, force, isWindows } = args;
5
8
  const spawnSyncImpl = args.spawnSyncImpl ?? nodeSpawnSync;
@@ -7,55 +10,81 @@ export function killPidBestEffortImpl(args) {
7
10
  if (!Number.isFinite(pid) || pid <= 0) {
8
11
  return;
9
12
  }
13
+ if (pid === process.pid) {
14
+ logProcessLifecycle({
15
+ event: 'self_termination',
16
+ source: 'cli.port-utils',
17
+ details: {
18
+ result: 'blocked',
19
+ reason: 'self_kill_guard',
20
+ signal: force ? 'SIGKILL' : 'SIGTERM',
21
+ targetPid: pid
22
+ }
23
+ });
24
+ return;
25
+ }
10
26
  if (isWindows) {
11
27
  const taskkillArgs = ['/PID', String(pid), '/T'];
12
28
  if (force) {
13
29
  taskkillArgs.push('/F');
14
30
  }
31
+ logProcessLifecycle({
32
+ event: 'kill_attempt',
33
+ source: 'cli.port-utils',
34
+ details: { targetPid: pid, signal: force ? 'TASKKILL_F' : 'TASKKILL', result: 'attempt' }
35
+ });
15
36
  try {
16
37
  spawnSyncImpl('taskkill', taskkillArgs, { stdio: 'ignore', encoding: 'utf8' });
38
+ logProcessLifecycle({
39
+ event: 'kill_attempt',
40
+ source: 'cli.port-utils',
41
+ details: { targetPid: pid, signal: force ? 'TASKKILL_F' : 'TASKKILL', result: 'success' }
42
+ });
17
43
  }
18
- catch {
19
- // best-effort
44
+ catch (error) {
45
+ logProcessLifecycle({
46
+ event: 'kill_attempt',
47
+ source: 'cli.port-utils',
48
+ details: { targetPid: pid, signal: force ? 'TASKKILL_F' : 'TASKKILL', result: 'failed', error }
49
+ });
20
50
  }
21
51
  return;
22
52
  }
53
+ const signal = force ? 'SIGKILL' : 'SIGTERM';
54
+ logProcessLifecycle({
55
+ event: 'kill_attempt',
56
+ source: 'cli.port-utils',
57
+ details: { targetPid: pid, signal, result: 'attempt' }
58
+ });
23
59
  try {
24
- processKill(pid, force ? 'SIGKILL' : 'SIGTERM');
60
+ processKill(pid, signal);
61
+ logProcessLifecycle({
62
+ event: 'kill_attempt',
63
+ source: 'cli.port-utils',
64
+ details: { targetPid: pid, signal, result: 'success' }
65
+ });
25
66
  }
26
- catch {
27
- // best-effort
67
+ catch (error) {
68
+ logProcessLifecycle({
69
+ event: 'kill_attempt',
70
+ source: 'cli.port-utils',
71
+ details: { targetPid: pid, signal, result: 'failed', error }
72
+ });
28
73
  }
29
74
  }
30
75
  export function findListeningPidsImpl(args) {
31
- const { port, isWindows, logger, parseNetstatListeningPids } = args;
76
+ const { port } = args;
32
77
  const spawnSyncImpl = args.spawnSyncImpl ?? nodeSpawnSync;
78
+ const processKill = args.processKill ?? process.kill.bind(process);
33
79
  try {
34
- if (isWindows) {
35
- const result = spawnSyncImpl('netstat', ['-ano', '-p', 'tcp'], { encoding: 'utf8' });
36
- if (result.error) {
37
- logger.warning(`netstat not available to inspect port usage: ${result.error.message}`);
38
- return [];
39
- }
40
- return parseNetstatListeningPids(result.stdout || '', port);
41
- }
42
- // macOS/BSD lsof expects either "-i TCP:port" or "-tiTCP:port" as a single argument.
43
- // Use the compact form to avoid treating ":port" as a filename.
44
- const result = spawnSyncImpl('lsof', [`-tiTCP:${port}`, '-sTCP:LISTEN'], { encoding: 'utf8' });
45
- if (result.error) {
46
- logger.warning(`lsof not available to inspect port usage: ${result.error.message}`);
47
- return [];
48
- }
49
- const out = String(result.stdout || '').trim();
50
- if (!out) {
51
- return [];
52
- }
53
- return out
54
- .split(/\s+/g)
55
- .map((s) => Number(String(s).trim()))
56
- .filter((n) => Number.isFinite(n) && n > 0);
80
+ return listManagedServerPidsByPort(port, {
81
+ routeCodexHomeDir: args.routeCodexHomeDir,
82
+ processKill,
83
+ spawnSyncImpl
84
+ });
57
85
  }
58
86
  catch {
87
+ args.logger.warning(`Failed to resolve managed pid for port ${port}`);
59
88
  return [];
60
89
  }
61
90
  }
@@ -91,6 +120,25 @@ export async function ensurePortAvailableImpl(args) {
91
120
  if (!port || Number.isNaN(port)) {
92
121
  return;
93
122
  }
123
+ logProcessLifecycle({
124
+ event: 'port_check_start',
125
+ source: 'cli.ensurePortAvailable',
126
+ details: { port, restart: Boolean(opts.restart) }
127
+ });
128
+ const canBindPort = async () => {
129
+ return await new Promise((resolve) => {
130
+ try {
131
+ const server = net.createServer();
132
+ server.once('error', () => resolve(false));
133
+ server.listen({ host: '0.0.0.0', port }, () => {
134
+ server.close(() => resolve(true));
135
+ });
136
+ }
137
+ catch {
138
+ resolve(false);
139
+ }
140
+ });
141
+ };
94
142
  // Best-effort HTTP shutdown on common loopback hosts to cover IPv4/IPv6
95
143
  try {
96
144
  const candidates = [LOCAL_HOSTS.IPV4, LOCAL_HOSTS.LOCALHOST];
@@ -105,10 +153,41 @@ export async function ensurePortAvailableImpl(args) {
105
153
  /* ignore */
106
154
  }
107
155
  }, 700);
156
+ const callerTs = new Date().toISOString();
157
+ logProcessLifecycle({
158
+ event: 'port_http_shutdown',
159
+ source: 'cli.ensurePortAvailable',
160
+ details: {
161
+ result: 'attempt',
162
+ host: h,
163
+ port,
164
+ callerTs,
165
+ callerPid: process.pid,
166
+ callerCwd: process.cwd(),
167
+ callerCmd: process.argv.join(' ').slice(0, 1024)
168
+ }
169
+ });
108
170
  await args.fetchImpl(`http://${h}:${port}/shutdown`, {
109
171
  method: 'POST',
110
- signal: controller.signal
111
- }).catch(() => { });
172
+ signal: controller.signal,
173
+ headers: {
174
+ 'x-routecodex-stop-caller-pid': String(process.pid),
175
+ 'x-routecodex-stop-caller-ts': callerTs,
176
+ 'x-routecodex-stop-caller-cwd': process.cwd(),
177
+ 'x-routecodex-stop-caller-cmd': process.argv.join(' ').slice(0, 1024)
178
+ }
179
+ }).catch((error) => {
180
+ logProcessLifecycle({
181
+ event: 'port_http_shutdown',
182
+ source: 'cli.ensurePortAvailable',
183
+ details: {
184
+ result: 'failed',
185
+ host: h,
186
+ port,
187
+ error
188
+ }
189
+ });
190
+ });
112
191
  clearTimeout(t);
113
192
  }
114
193
  catch {
@@ -120,12 +199,47 @@ export async function ensurePortAvailableImpl(args) {
120
199
  catch {
121
200
  /* ignore */
122
201
  }
202
+ if (await canBindPort()) {
203
+ logProcessLifecycle({
204
+ event: 'port_check_result',
205
+ source: 'cli.ensurePortAvailable',
206
+ details: { port, result: 'free' }
207
+ });
208
+ return;
209
+ }
123
210
  const initialPids = args.findListeningPids(port);
124
211
  if (initialPids.length === 0) {
125
- return;
212
+ const healthyWithoutPid = await args.isServerHealthyQuick(port);
213
+ if (healthyWithoutPid && !opts.restart) {
214
+ logProcessLifecycle({
215
+ event: 'port_check_result',
216
+ source: 'cli.ensurePortAvailable',
217
+ details: { port, result: 'already_running_unmanaged' }
218
+ });
219
+ parentSpinner.stop();
220
+ args.logger.success(`RouteCodex is already running on port ${port}.`);
221
+ args.logger.info(`Use 'rcc stop --port ${port}' for graceful shutdown.`);
222
+ args.exit(0);
223
+ }
224
+ logProcessLifecycle({
225
+ event: 'port_check_result',
226
+ source: 'cli.ensurePortAvailable',
227
+ details: { port, result: 'occupied_unmanaged' }
228
+ });
229
+ throw new Error(`Port ${port} is occupied by an unmanaged process. Refusing blind kill; stop it manually or use /shutdown if it is RouteCodex.`);
126
230
  }
231
+ logProcessLifecycle({
232
+ event: 'port_check_result',
233
+ source: 'cli.ensurePortAvailable',
234
+ details: { port, result: 'occupied', pids: initialPids }
235
+ });
127
236
  const healthy = await args.isServerHealthyQuick(port);
128
237
  if (healthy && !opts.restart) {
238
+ logProcessLifecycle({
239
+ event: 'port_check_result',
240
+ source: 'cli.ensurePortAvailable',
241
+ details: { port, result: 'already_running', pids: initialPids }
242
+ });
129
243
  parentSpinner.stop();
130
244
  args.logger.success(`RouteCodex is already running on port ${port}.`);
131
245
  args.logger.info(`Use 'rcc stop' or 'rcc start --restart' to restart.`);
@@ -148,6 +262,11 @@ export async function ensurePortAvailableImpl(args) {
148
262
  const gracefulDeadline = Date.now() + gracefulTimeout;
149
263
  while (Date.now() < gracefulDeadline) {
150
264
  if (args.findListeningPids(port).length === 0) {
265
+ logProcessLifecycle({
266
+ event: 'port_check_result',
267
+ source: 'cli.ensurePortAvailable',
268
+ details: { port, result: 'freed_after_graceful' }
269
+ });
151
270
  stopSpinner.succeed(`Port ${port} freed after graceful stop.`);
152
271
  args.logger.success(`Port ${port} freed after graceful stop.`);
153
272
  parentSpinner.start('Starting RouteCodex server...');
@@ -157,6 +276,11 @@ export async function ensurePortAvailableImpl(args) {
157
276
  }
158
277
  let remaining = args.findListeningPids(port);
159
278
  if (remaining.length) {
279
+ logProcessLifecycle({
280
+ event: 'port_check_result',
281
+ source: 'cli.ensurePortAvailable',
282
+ details: { port, result: 'graceful_timeout', pids: remaining }
283
+ });
160
284
  stopSpinner.warn(`Graceful stop timed out, sending SIGKILL to PID(s): ${remaining.join(', ')}`);
161
285
  args.logger.warning(`Graceful stop timed out. Forcing SIGKILL to PID(s): ${remaining.join(', ')}`);
162
286
  for (const pid of remaining) {
@@ -172,6 +296,11 @@ export async function ensurePortAvailableImpl(args) {
172
296
  const killDeadline = Date.now() + killTimeout;
173
297
  while (Date.now() < killDeadline) {
174
298
  if (args.findListeningPids(port).length === 0) {
299
+ logProcessLifecycle({
300
+ event: 'port_check_result',
301
+ source: 'cli.ensurePortAvailable',
302
+ details: { port, result: 'freed_after_force' }
303
+ });
175
304
  stopSpinner.succeed(`Port ${port} freed after SIGKILL.`);
176
305
  args.logger.success(`Port ${port} freed after SIGKILL.`);
177
306
  parentSpinner.start('Starting RouteCodex server...');
@@ -182,10 +311,20 @@ export async function ensurePortAvailableImpl(args) {
182
311
  }
183
312
  remaining = args.findListeningPids(port);
184
313
  if (remaining.length) {
314
+ logProcessLifecycle({
315
+ event: 'port_check_result',
316
+ source: 'cli.ensurePortAvailable',
317
+ details: { port, result: 'failed', pids: remaining }
318
+ });
185
319
  stopSpinner.fail(`Failed to free port ${port}. Still held by PID(s): ${remaining.join(', ')}`);
186
320
  args.logger.error(`Failed to free port ${port}. Still held by PID(s): ${remaining.join(', ')}`);
187
321
  throw new Error(`Failed to free port ${port}`);
188
322
  }
323
+ logProcessLifecycle({
324
+ event: 'port_check_result',
325
+ source: 'cli.ensurePortAvailable',
326
+ details: { port, result: 'freed' }
327
+ });
189
328
  stopSpinner.succeed(`Port ${port} freed.`);
190
329
  args.logger.success(`Port ${port} freed.`);
191
330
  parentSpinner.start('Starting RouteCodex server...');
@@ -1 +1 @@
1
- {"version":3,"file":"port-utils.js","sourceRoot":"","sources":["../../../src/cli/server/port-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port-utils.js","sourceRoot":"","sources":["../../../src/cli/server/port-utils.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -12,7 +12,6 @@ import { fileURLToPath } from 'url';
12
12
  import { DEFAULT_CONFIG } from './constants/index.js';
13
13
  import { buildInfo } from './build-info.js';
14
14
  import { ensureLocalTokenPortalEnv } from './token-portal/local-token-portal.js';
15
- import { parseNetstatListeningPids } from './utils/windows-netstat.js';
16
15
  import { ensurePortAvailableImpl, findListeningPidsImpl, isServerHealthyQuickImpl, killPidBestEffortImpl } from './cli/server/port-utils.js';
17
16
  import { registerBasicCommands } from './cli/register/basic-commands.js';
18
17
  import { loadRouteCodexConfig } from './config/routecodex-config-loader.js';
@@ -24,7 +23,12 @@ import { registerRestartCommand } from './cli/register/restart-command.js';
24
23
  import { registerStopCommand } from './cli/register/stop-command.js';
25
24
  import { registerStartCommand } from './cli/register/start-command.js';
26
25
  import { registerCodeCommand } from './cli/register/code-command.js';
26
+ import { registerClaudeCommand } from './cli/register/claude-command.js';
27
+ import { registerCodexCommand } from './cli/register/codex-command.js';
27
28
  import { registerCamoufoxCommand } from './cli/register/camoufox-command.js';
29
+ import { registerTmuxInjectCommand } from './cli/register/tmux-inject-command.js';
30
+ import { registerClockAdminCommand } from './cli/register/clock-admin-command.js';
31
+ import { listManagedServerZombieChildrenByPort } from './utils/managed-server-pids.js';
28
32
  const __filename = fileURLToPath(import.meta.url);
29
33
  const __dirname = path.dirname(__filename);
30
34
  const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
@@ -211,8 +215,13 @@ try {
211
215
  program.addCommand(createValidateCommand());
212
216
  }
213
217
  catch { /* optional */ }
214
- // Code command - Launch Claude Code interface
218
+ // Deprecated `code` command (guides users to `claude`)
215
219
  registerCodeCommand(program, {
220
+ logger,
221
+ exit: (code) => process.exit(code)
222
+ });
223
+ // Claude/Codex launcher commands
224
+ const launcherContext = {
216
225
  isDevPackage: IS_DEV_PACKAGE,
217
226
  isWindows: IS_WINDOWS,
218
227
  defaultDevPort: DEFAULT_DEV_PORT,
@@ -233,6 +242,29 @@ registerCodeCommand(program, {
233
242
  }),
234
243
  onSignal: (sig, cb) => process.on(sig, cb),
235
244
  exit: (code) => process.exit(code)
245
+ };
246
+ registerClaudeCommand(program, launcherContext);
247
+ registerCodexCommand(program, launcherContext);
248
+ // External tmux injection command
249
+ registerTmuxInjectCommand(program, {
250
+ isDevPackage: IS_DEV_PACKAGE,
251
+ defaultDevPort: DEFAULT_DEV_PORT,
252
+ logger,
253
+ log: (line) => console.log(line),
254
+ loadConfig: (explicitPath) => loadRouteCodexConfig(explicitPath),
255
+ fetch,
256
+ env: process.env,
257
+ exit: (code) => process.exit(code)
258
+ });
259
+ registerClockAdminCommand(program, {
260
+ isDevPackage: IS_DEV_PACKAGE,
261
+ defaultDevPort: DEFAULT_DEV_PORT,
262
+ logger,
263
+ log: (line) => console.log(line),
264
+ loadConfig: (explicitPath) => loadRouteCodexConfig(explicitPath),
265
+ fetch,
266
+ env: process.env,
267
+ exit: (code) => process.exit(code)
236
268
  });
237
269
  // Init command - guided config generation
238
270
  registerInitCommand(program, {
@@ -311,7 +343,8 @@ registerStatusConfigCommands(program, {
311
343
  logger,
312
344
  log: (line) => console.log(line),
313
345
  loadConfig: () => loadRouteCodexConfig(),
314
- fetch
346
+ fetch,
347
+ listManagedZombieChildren: (port) => listManagedServerZombieChildrenByPort(port)
315
348
  }
316
349
  });
317
350
  // Stop command
@@ -324,6 +357,7 @@ registerStopCommand(program, {
324
357
  killPidBestEffort,
325
358
  sleep,
326
359
  stopTokenDaemonIfRunning,
360
+ fetchImpl: fetch,
327
361
  env: process.env,
328
362
  exit: (code) => process.exit(code)
329
363
  });
@@ -367,10 +401,9 @@ async function ensurePortAvailable(port, parentSpinner, opts = {}) {
367
401
  function findListeningPids(port) {
368
402
  return findListeningPidsImpl({
369
403
  port,
370
- isWindows: IS_WINDOWS,
371
404
  spawnSyncImpl: spawnSync,
372
405
  logger,
373
- parseNetstatListeningPids
406
+ processKill: process.kill.bind(process)
374
407
  });
375
408
  }
376
409
  // Fallback keypress setup: capture Ctrl+C and 'q' to trigger shutdown when SIGINT is not delivered
@@ -431,5 +464,11 @@ function getModulesConfigPath() {
431
464
  return path.resolve(__dirname, '../config/modules.json');
432
465
  }
433
466
  // Parse command line arguments (must be last)
434
- program.parse();
467
+ async function main() {
468
+ await program.parseAsync(process.argv);
469
+ }
470
+ void main().catch((error) => {
471
+ logger.error(error instanceof Error ? error.message : String(error));
472
+ process.exit(1);
473
+ });
435
474
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,61 @@ import { stripInternalKeysDeep } from '../../utils/strip-internal-keys.js';
2
2
  function hasDataEnvelope(payload) {
3
3
  return typeof payload === 'object' && payload !== null && 'data' in payload;
4
4
  }
5
+ function isOpenAiChatMessage(value) {
6
+ return !!value && typeof value === 'object' && 'role' in value;
7
+ }
8
+ function normalizeMessageText(content) {
9
+ if (typeof content === 'string') {
10
+ return content;
11
+ }
12
+ try {
13
+ return JSON.stringify(content ?? '');
14
+ }
15
+ catch {
16
+ return String(content ?? '');
17
+ }
18
+ }
19
+ function hasGeminiShape(payload) {
20
+ return Array.isArray(payload.contents) || (!!payload.systemInstruction && typeof payload.systemInstruction === 'object');
21
+ }
22
+ function convertOpenAiMessagesToGeminiPayload(payload) {
23
+ if (hasGeminiShape(payload)) {
24
+ return payload;
25
+ }
26
+ const messages = Array.isArray(payload.messages) ? payload.messages.filter(isOpenAiChatMessage) : [];
27
+ if (!messages.length) {
28
+ return payload;
29
+ }
30
+ const systemMessages = messages.filter((item) => item.role === 'system' && typeof item.content === 'string');
31
+ const userAndAssistant = messages.filter((item) => item.role === 'user' || item.role === 'assistant');
32
+ const contents = userAndAssistant.map((message) => ({
33
+ role: message.role === 'assistant' ? 'model' : 'user',
34
+ parts: [{ text: normalizeMessageText(message.content) }]
35
+ }));
36
+ const systemInstruction = systemMessages.length > 0
37
+ ? {
38
+ role: 'system',
39
+ parts: [{ text: systemMessages.map((item) => String(item.content)).join('\n') }]
40
+ }
41
+ : undefined;
42
+ const rebuilt = {
43
+ ...payload,
44
+ contents,
45
+ ...(systemInstruction ? { systemInstruction } : {})
46
+ };
47
+ delete rebuilt.messages;
48
+ delete rebuilt.stream;
49
+ return rebuilt;
50
+ }
5
51
  export class GeminiProtocolClient {
6
52
  buildRequestBody(request) {
7
53
  const payload = this.extractPayload(request);
8
- const body = { ...payload };
54
+ const normalizedPayload = convertOpenAiMessagesToGeminiPayload(payload);
55
+ const body = { ...normalizedPayload };
9
56
  const model = typeof body.model === 'string' ? body.model.trim() : '';
10
57
  if (!model) {
11
58
  throw new Error('provider-runtime-error: missing model from virtual router');
12
59
  }
13
- // Internal routing/debug metadata must never be forwarded to upstream providers.
14
- // (It can be huge, e.g. __raw_request_body / clientHeaders, and may trigger 400s.)
15
60
  if ('metadata' in body) {
16
61
  delete body.metadata;
17
62
  }
@@ -35,9 +80,9 @@ export class GeminiProtocolClient {
35
80
  }
36
81
  finalizeHeaders(headers, _request) {
37
82
  const normalized = { ...headers };
38
- const hasGeminiKey = Object.keys(normalized).some(key => key.toLowerCase() === 'x-goog-api-key');
83
+ const hasGeminiKey = Object.keys(normalized).some((key) => key.toLowerCase() === 'x-goog-api-key');
39
84
  if (!hasGeminiKey) {
40
- const authorizationKey = Object.keys(normalized).find(key => key.toLowerCase() === 'authorization');
85
+ const authorizationKey = Object.keys(normalized).find((key) => key.toLowerCase() === 'authorization');
41
86
  if (authorizationKey) {
42
87
  const token = normalized[authorizationKey]?.replace(/^Bearer\s+/i, '').trim();
43
88
  if (token) {
@@ -67,6 +112,12 @@ export class GeminiProtocolClient {
67
112
  if (typeof payload.max_tokens === 'number') {
68
113
  generationConfig.maxOutputTokens = payload.max_tokens;
69
114
  }
115
+ if (typeof payload.temperature === 'number') {
116
+ generationConfig.temperature = payload.temperature;
117
+ }
118
+ if (typeof payload.top_p === 'number') {
119
+ generationConfig.topP = payload.top_p;
120
+ }
70
121
  return Object.keys(generationConfig).length > 0 ? generationConfig : undefined;
71
122
  }
72
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-protocol-client.js","sourceRoot":"","sources":["../../../src/client/gemini/gemini-protocol-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-protocol-client.js","sourceRoot":"","sources":["../../../src/client/gemini/gemini-protocol-client.ts"],"names":[],"mappings":"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"}