@kaitranntt/ccs 8.8.1-dev.2 → 8.8.1-dev.21

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 (323) hide show
  1. package/README.md +5 -3
  2. package/dist/api/services/profile-lifecycle-validation.d.ts.map +1 -1
  3. package/dist/api/services/profile-lifecycle-validation.js +3 -8
  4. package/dist/api/services/profile-lifecycle-validation.js.map +1 -1
  5. package/dist/auth/resume-lane-diagnostics.d.ts +9 -0
  6. package/dist/auth/resume-lane-diagnostics.d.ts.map +1 -1
  7. package/dist/auth/resume-lane-diagnostics.js +105 -1
  8. package/dist/auth/resume-lane-diagnostics.js.map +1 -1
  9. package/dist/auth/resume-lane-warning.d.ts +9 -1
  10. package/dist/auth/resume-lane-warning.d.ts.map +1 -1
  11. package/dist/auth/resume-lane-warning.js +72 -5
  12. package/dist/auth/resume-lane-warning.js.map +1 -1
  13. package/dist/ccs.d.ts +1 -1
  14. package/dist/ccs.d.ts.map +1 -1
  15. package/dist/ccs.js +5 -1
  16. package/dist/ccs.js.map +1 -1
  17. package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
  18. package/dist/cliproxy/accounts/registry.js +14 -16
  19. package/dist/cliproxy/accounts/registry.js.map +1 -1
  20. package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts +1 -1
  21. package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts.map +1 -1
  22. package/dist/cliproxy/auth/oauth-cli-args.d.ts +11 -0
  23. package/dist/cliproxy/auth/oauth-cli-args.d.ts.map +1 -0
  24. package/dist/cliproxy/auth/oauth-cli-args.js +53 -0
  25. package/dist/cliproxy/auth/oauth-cli-args.js.map +1 -0
  26. package/dist/cliproxy/auth/oauth-cli-capabilities.d.ts +11 -0
  27. package/dist/cliproxy/auth/oauth-cli-capabilities.d.ts.map +1 -0
  28. package/dist/cliproxy/auth/oauth-cli-capabilities.js +101 -0
  29. package/dist/cliproxy/auth/oauth-cli-capabilities.js.map +1 -0
  30. package/dist/cliproxy/auth/oauth-handler.d.ts +0 -6
  31. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  32. package/dist/cliproxy/auth/oauth-handler.js +70 -43
  33. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  34. package/dist/cliproxy/auth/test-fixtures/gemini-backend-guidance-child.scenario.d.ts +2 -0
  35. package/dist/cliproxy/auth/test-fixtures/gemini-backend-guidance-child.scenario.d.ts.map +1 -0
  36. package/dist/cliproxy/auth/test-fixtures/gemini-backend-guidance-child.scenario.js +207 -0
  37. package/dist/cliproxy/auth/test-fixtures/gemini-backend-guidance-child.scenario.js.map +1 -0
  38. package/dist/cliproxy/binary-manager.d.ts +1 -0
  39. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  40. package/dist/cliproxy/binary-manager.js +1 -1
  41. package/dist/cliproxy/binary-manager.js.map +1 -1
  42. package/dist/cliproxy/config/env-builder.d.ts +5 -0
  43. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  44. package/dist/cliproxy/config/env-builder.js +24 -1
  45. package/dist/cliproxy/config/env-builder.js.map +1 -1
  46. package/dist/cliproxy/config/generator.d.ts +2 -1
  47. package/dist/cliproxy/config/generator.d.ts.map +1 -1
  48. package/dist/cliproxy/config/generator.js +81 -11
  49. package/dist/cliproxy/config/generator.js.map +1 -1
  50. package/dist/cliproxy/config/oauth-model-alias-config.d.ts +6 -0
  51. package/dist/cliproxy/config/oauth-model-alias-config.d.ts.map +1 -0
  52. package/dist/cliproxy/config/oauth-model-alias-config.js +136 -0
  53. package/dist/cliproxy/config/oauth-model-alias-config.js.map +1 -0
  54. package/dist/cliproxy/config/payload-rule-config.d.ts +6 -0
  55. package/dist/cliproxy/config/payload-rule-config.d.ts.map +1 -0
  56. package/dist/cliproxy/config/payload-rule-config.js +137 -0
  57. package/dist/cliproxy/config/payload-rule-config.js.map +1 -0
  58. package/dist/cliproxy/executor/claude-launcher.d.ts +3 -0
  59. package/dist/cliproxy/executor/claude-launcher.d.ts.map +1 -1
  60. package/dist/cliproxy/executor/claude-launcher.js +7 -3
  61. package/dist/cliproxy/executor/claude-launcher.js.map +1 -1
  62. package/dist/cliproxy/executor/env-resolver.d.ts +2 -0
  63. package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
  64. package/dist/cliproxy/executor/env-resolver.js +6 -4
  65. package/dist/cliproxy/executor/env-resolver.js.map +1 -1
  66. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  67. package/dist/cliproxy/executor/index.js +7 -5
  68. package/dist/cliproxy/executor/index.js.map +1 -1
  69. package/dist/cliproxy/model-catalog.d.ts +2 -0
  70. package/dist/cliproxy/model-catalog.d.ts.map +1 -1
  71. package/dist/cliproxy/model-catalog.js +67 -0
  72. package/dist/cliproxy/model-catalog.js.map +1 -1
  73. package/dist/cliproxy/quota/quota-fetcher-claude.d.ts.map +1 -1
  74. package/dist/cliproxy/quota/quota-fetcher-claude.js +11 -1
  75. package/dist/cliproxy/quota/quota-fetcher-claude.js.map +1 -1
  76. package/dist/cliproxy/routing/retry-settings.d.ts +18 -0
  77. package/dist/cliproxy/routing/retry-settings.d.ts.map +1 -0
  78. package/dist/cliproxy/routing/retry-settings.js +185 -0
  79. package/dist/cliproxy/routing/retry-settings.js.map +1 -0
  80. package/dist/cliproxy/routing/routing-strategy-http.d.ts +3 -0
  81. package/dist/cliproxy/routing/routing-strategy-http.d.ts.map +1 -1
  82. package/dist/cliproxy/routing/routing-strategy-http.js +13 -3
  83. package/dist/cliproxy/routing/routing-strategy-http.js.map +1 -1
  84. package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -1
  85. package/dist/cliproxy/services/catalog-cache.js +6 -0
  86. package/dist/cliproxy/services/catalog-cache.js.map +1 -1
  87. package/dist/cliproxy/session-tracker.d.ts.map +1 -1
  88. package/dist/cliproxy/session-tracker.js +4 -18
  89. package/dist/cliproxy/session-tracker.js.map +1 -1
  90. package/dist/cliproxy/types/config-types.d.ts +3 -0
  91. package/dist/cliproxy/types/config-types.d.ts.map +1 -1
  92. package/dist/codex-auth/shell-detect.d.ts +2 -0
  93. package/dist/codex-auth/shell-detect.d.ts.map +1 -1
  94. package/dist/codex-auth/shell-detect.js +15 -1
  95. package/dist/codex-auth/shell-detect.js.map +1 -1
  96. package/dist/commands/bar/bar-process-control.d.ts +43 -0
  97. package/dist/commands/bar/bar-process-control.d.ts.map +1 -0
  98. package/dist/commands/bar/bar-process-control.js +255 -0
  99. package/dist/commands/bar/bar-process-control.js.map +1 -0
  100. package/dist/commands/bar/bar-server-probe.d.ts +5 -2
  101. package/dist/commands/bar/bar-server-probe.d.ts.map +1 -1
  102. package/dist/commands/bar/bar-server-probe.js +38 -12
  103. package/dist/commands/bar/bar-server-probe.js.map +1 -1
  104. package/dist/commands/bar/help-subcommand.d.ts.map +1 -1
  105. package/dist/commands/bar/help-subcommand.js +2 -0
  106. package/dist/commands/bar/help-subcommand.js.map +1 -1
  107. package/dist/commands/bar/index.d.ts.map +1 -1
  108. package/dist/commands/bar/index.js +13 -3
  109. package/dist/commands/bar/index.js.map +1 -1
  110. package/dist/commands/bar/launch-descriptor.d.ts +2 -0
  111. package/dist/commands/bar/launch-descriptor.d.ts.map +1 -1
  112. package/dist/commands/bar/launch-descriptor.js +6 -1
  113. package/dist/commands/bar/launch-descriptor.js.map +1 -1
  114. package/dist/commands/bar/launch-subcommand.d.ts +18 -1
  115. package/dist/commands/bar/launch-subcommand.d.ts.map +1 -1
  116. package/dist/commands/bar/launch-subcommand.js +149 -45
  117. package/dist/commands/bar/launch-subcommand.js.map +1 -1
  118. package/dist/commands/bar/port-arg.d.ts +16 -0
  119. package/dist/commands/bar/port-arg.d.ts.map +1 -0
  120. package/dist/commands/bar/port-arg.js +41 -0
  121. package/dist/commands/bar/port-arg.js.map +1 -0
  122. package/dist/commands/bar/serve-subcommand.d.ts +5 -0
  123. package/dist/commands/bar/serve-subcommand.d.ts.map +1 -1
  124. package/dist/commands/bar/serve-subcommand.js +47 -29
  125. package/dist/commands/bar/serve-subcommand.js.map +1 -1
  126. package/dist/commands/bar/status-subcommand.d.ts.map +1 -1
  127. package/dist/commands/bar/status-subcommand.js +11 -2
  128. package/dist/commands/bar/status-subcommand.js.map +1 -1
  129. package/dist/commands/bar/stop-subcommand.d.ts +5 -0
  130. package/dist/commands/bar/stop-subcommand.d.ts.map +1 -1
  131. package/dist/commands/bar/stop-subcommand.js +71 -27
  132. package/dist/commands/bar/stop-subcommand.js.map +1 -1
  133. package/dist/commands/cliproxy/catalog-subcommand.d.ts.map +1 -1
  134. package/dist/commands/cliproxy/catalog-subcommand.js +2 -0
  135. package/dist/commands/cliproxy/catalog-subcommand.js.map +1 -1
  136. package/dist/commands/cliproxy/quota-subcommand/sections/claude.d.ts.map +1 -1
  137. package/dist/commands/cliproxy/quota-subcommand/sections/claude.js +2 -1
  138. package/dist/commands/cliproxy/quota-subcommand/sections/claude.js.map +1 -1
  139. package/dist/config/schemas/cliproxy.d.ts +66 -0
  140. package/dist/config/schemas/cliproxy.d.ts.map +1 -1
  141. package/dist/config/schemas/cliproxy.js +13 -1
  142. package/dist/config/schemas/cliproxy.js.map +1 -1
  143. package/dist/config/schemas/index.d.ts +1 -1
  144. package/dist/config/schemas/index.d.ts.map +1 -1
  145. package/dist/config/schemas/index.js.map +1 -1
  146. package/dist/config/schemas/version.d.ts +2 -1
  147. package/dist/config/schemas/version.d.ts.map +1 -1
  148. package/dist/config/schemas/version.js +2 -1
  149. package/dist/config/schemas/version.js.map +1 -1
  150. package/dist/copilot/copilot-executor.d.ts +3 -1
  151. package/dist/copilot/copilot-executor.d.ts.map +1 -1
  152. package/dist/copilot/copilot-executor.js +11 -7
  153. package/dist/copilot/copilot-executor.js.map +1 -1
  154. package/dist/cursor/cursor-profile-executor.d.ts +3 -1
  155. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -1
  156. package/dist/cursor/cursor-profile-executor.js +8 -4
  157. package/dist/cursor/cursor-profile-executor.js.map +1 -1
  158. package/dist/delegation/headless-executor.d.ts.map +1 -1
  159. package/dist/delegation/headless-executor.js +4 -3
  160. package/dist/delegation/headless-executor.js.map +1 -1
  161. package/dist/dispatcher/flows/copilot-flow.d.ts.map +1 -1
  162. package/dist/dispatcher/flows/copilot-flow.js +3 -2
  163. package/dist/dispatcher/flows/copilot-flow.js.map +1 -1
  164. package/dist/dispatcher/flows/cursor-flow.d.ts.map +1 -1
  165. package/dist/dispatcher/flows/cursor-flow.js +3 -2
  166. package/dist/dispatcher/flows/cursor-flow.js.map +1 -1
  167. package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -1
  168. package/dist/dispatcher/flows/settings-flow.js +12 -10
  169. package/dist/dispatcher/flows/settings-flow.js.map +1 -1
  170. package/dist/management/shared-manager/diverged-file-adopter.d.ts +5 -0
  171. package/dist/management/shared-manager/diverged-file-adopter.d.ts.map +1 -0
  172. package/dist/management/shared-manager/diverged-file-adopter.js +361 -0
  173. package/dist/management/shared-manager/diverged-file-adopter.js.map +1 -0
  174. package/dist/management/shared-manager/fs-helpers.d.ts +9 -0
  175. package/dist/management/shared-manager/fs-helpers.d.ts.map +1 -1
  176. package/dist/management/shared-manager/fs-helpers.js +9 -0
  177. package/dist/management/shared-manager/fs-helpers.js.map +1 -1
  178. package/dist/management/shared-manager/plugin-layout-internals.d.ts.map +1 -1
  179. package/dist/management/shared-manager/plugin-layout-internals.js +33 -3
  180. package/dist/management/shared-manager/plugin-layout-internals.js.map +1 -1
  181. package/dist/management/shared-manager/shared-dir-linker.d.ts.map +1 -1
  182. package/dist/management/shared-manager/shared-dir-linker.js +44 -5
  183. package/dist/management/shared-manager/shared-dir-linker.js.map +1 -1
  184. package/dist/proxy/proxy-daemon-entry.js +10 -2
  185. package/dist/proxy/proxy-daemon-entry.js.map +1 -1
  186. package/dist/proxy/server/messages-route.d.ts +2 -2
  187. package/dist/proxy/server/messages-route.d.ts.map +1 -1
  188. package/dist/proxy/server/messages-route.js +33 -24
  189. package/dist/proxy/server/messages-route.js.map +1 -1
  190. package/dist/proxy/server/proxy-server.d.ts +1 -0
  191. package/dist/proxy/server/proxy-server.d.ts.map +1 -1
  192. package/dist/proxy/server/proxy-server.js +57 -5
  193. package/dist/proxy/server/proxy-server.js.map +1 -1
  194. package/dist/proxy/server/upstream-transport.d.ts +14 -0
  195. package/dist/proxy/server/upstream-transport.d.ts.map +1 -0
  196. package/dist/proxy/server/upstream-transport.js +72 -0
  197. package/dist/proxy/server/upstream-transport.js.map +1 -0
  198. package/dist/proxy/transformers/request-transformer.d.ts.map +1 -1
  199. package/dist/proxy/transformers/request-transformer.js +43 -1
  200. package/dist/proxy/transformers/request-transformer.js.map +1 -1
  201. package/dist/services/logging/log-redaction.d.ts.map +1 -1
  202. package/dist/services/logging/log-redaction.js +4 -1
  203. package/dist/services/logging/log-redaction.js.map +1 -1
  204. package/dist/services/logging/log-types.d.ts +1 -0
  205. package/dist/services/logging/log-types.d.ts.map +1 -1
  206. package/dist/services/logging/log-types.js.map +1 -1
  207. package/dist/shared/extended-context-utils.d.ts +1 -1
  208. package/dist/shared/extended-context-utils.d.ts.map +1 -1
  209. package/dist/shared/extended-context-utils.js +1 -0
  210. package/dist/shared/extended-context-utils.js.map +1 -1
  211. package/dist/ui/assets/{Trans-DikqwpyV.js → Trans-dQ5QXCeL.js} +1 -1
  212. package/dist/ui/assets/{accounts-CyxhHZCf.js → accounts-DMMNI7g4.js} +1 -1
  213. package/dist/ui/assets/{alert-dialog-BK0GUnuD.js → alert-dialog-BIWuuEiP.js} +1 -1
  214. package/dist/ui/assets/{api-Drl6gU6G.js → api-BKTghVxS.js} +1 -1
  215. package/dist/ui/assets/{auth-section-BFye5Fvc.js → auth-section-BKDcPs0P.js} +1 -1
  216. package/dist/ui/assets/{backups-section-C7CHLX_s.js → backups-section-DB1N4X1P.js} +1 -1
  217. package/dist/ui/assets/{channels-BA2KK53N.js → channels-dhk_rRcA.js} +1 -1
  218. package/dist/ui/assets/{checkbox-DLtUhzvo.js → checkbox-h1pwW_6m.js} +1 -1
  219. package/dist/ui/assets/{claude-extension-CA2ZhSXe.js → claude-extension-WLOGl6eK.js} +1 -1
  220. package/dist/ui/assets/cliproxy-CE_mZIGU.js +4 -0
  221. package/dist/ui/assets/{cliproxy-ai-providers-DEVLuNRr.js → cliproxy-ai-providers-DVkAmHVF.js} +5 -5
  222. package/dist/ui/assets/{cliproxy-control-panel-DaKavcwL.js → cliproxy-control-panel-D25OT5u5.js} +1 -1
  223. package/dist/ui/assets/{codex-0YcVMxMn.js → codex-Bqc25al7.js} +1 -1
  224. package/dist/ui/assets/{confirm-dialog-BwPR9XXP.js → confirm-dialog-BnAIV9ZB.js} +1 -1
  225. package/dist/ui/assets/{copilot-6THRMSL4.js → copilot-BdjZjuRs.js} +2 -2
  226. package/dist/ui/assets/{cursor-ZtSOucIl.js → cursor-DTbIQ-d7.js} +1 -1
  227. package/dist/ui/assets/{droid-BG47JDeh.js → droid-DAjrpAjP.js} +1 -1
  228. package/dist/ui/assets/{globalenv-section-D0BWEyrv.js → globalenv-section-BzirfKtN.js} +1 -1
  229. package/dist/ui/assets/{health-B8Qaa0qy.js → health-CDCop1Et.js} +1 -1
  230. package/dist/ui/assets/index-B4yjQknk.js +56 -0
  231. package/dist/ui/assets/{index-C65cM80c.js → index-BF4hYrQf.js} +1 -1
  232. package/dist/ui/assets/{index-DcEHhFv0.js → index-BhGdNER3.js} +1 -1
  233. package/dist/ui/assets/{index-CS_fnSTf.js → index-DMGiMF5C.js} +1 -1
  234. package/dist/ui/assets/{index-CWlp8l--.js → index-Dkee4NQG.js} +1 -1
  235. package/dist/ui/assets/{index-BTxrAL0k.js → index-bC8F80OC.js} +1 -1
  236. package/dist/ui/assets/{index-B1iFOK1I.js → index-vdkPayvk.js} +1 -1
  237. package/dist/ui/assets/{logs-ztBN-pY4.js → logs-Bb1BaiFq.js} +1 -1
  238. package/dist/ui/assets/{masked-input-b2gPi_ia.js → masked-input-DxWhb6sQ.js} +1 -1
  239. package/dist/ui/assets/proxy-status-widget-Dj_46CdP.js +1 -0
  240. package/dist/ui/assets/{raw-json-settings-editor-panel-75NIX76T.js → raw-json-settings-editor-panel-BeZJbsnO.js} +1 -1
  241. package/dist/ui/assets/{searchable-select-DeH1m4S9.js → searchable-select-CcXdAHJm.js} +1 -1
  242. package/dist/ui/assets/{separator-BZsY9-Ng.js → separator-O1g2RdCE.js} +1 -1
  243. package/dist/ui/assets/{shared-DJw2MGMK.js → shared-Ct6UqE0N.js} +1 -1
  244. package/dist/ui/assets/{table-tGhm7uxn.js → table-D4ZJKsoh.js} +1 -1
  245. package/dist/ui/assets/{updates-Dgx9dXJc.js → updates-jnNBispr.js} +1 -1
  246. package/dist/ui/assets/{use-accounts-syuH2gXE.js → use-accounts-DXwh5f2t.js} +1 -1
  247. package/dist/ui/index.html +1 -1
  248. package/dist/utils/fetch-proxy-setup.d.ts.map +1 -1
  249. package/dist/utils/fetch-proxy-setup.js +10 -6
  250. package/dist/utils/fetch-proxy-setup.js.map +1 -1
  251. package/dist/utils/shell-executor.d.ts +1 -1
  252. package/dist/utils/shell-executor.d.ts.map +1 -1
  253. package/dist/utils/shell-executor.js +5 -8
  254. package/dist/utils/shell-executor.js.map +1 -1
  255. package/dist/utils/sync-lock-retry.d.ts +9 -0
  256. package/dist/utils/sync-lock-retry.d.ts.map +1 -0
  257. package/dist/utils/sync-lock-retry.js +107 -0
  258. package/dist/utils/sync-lock-retry.js.map +1 -0
  259. package/dist/utils/websearch/claude-tool-args.d.ts +1 -1
  260. package/dist/utils/websearch/claude-tool-args.d.ts.map +1 -1
  261. package/dist/utils/websearch/claude-tool-args.js +3 -2
  262. package/dist/utils/websearch/claude-tool-args.js.map +1 -1
  263. package/dist/utils/websearch/hook-config.d.ts +2 -1
  264. package/dist/utils/websearch/hook-config.d.ts.map +1 -1
  265. package/dist/utils/websearch/hook-config.js +1 -2
  266. package/dist/utils/websearch/hook-config.js.map +1 -1
  267. package/dist/utils/websearch/hook-env.d.ts +2 -1
  268. package/dist/utils/websearch/hook-env.d.ts.map +1 -1
  269. package/dist/utils/websearch/hook-env.js +1 -2
  270. package/dist/utils/websearch/hook-env.js.map +1 -1
  271. package/dist/utils/websearch/hook-installer.d.ts +2 -1
  272. package/dist/utils/websearch/hook-installer.d.ts.map +1 -1
  273. package/dist/utils/websearch/hook-installer.js +1 -2
  274. package/dist/utils/websearch/hook-installer.js.map +1 -1
  275. package/dist/utils/websearch/index.d.ts +2 -0
  276. package/dist/utils/websearch/index.d.ts.map +1 -1
  277. package/dist/utils/websearch/index.js +3 -1
  278. package/dist/utils/websearch/index.js.map +1 -1
  279. package/dist/utils/websearch/launch-state.d.ts +9 -0
  280. package/dist/utils/websearch/launch-state.d.ts.map +1 -0
  281. package/dist/utils/websearch/launch-state.js +15 -0
  282. package/dist/utils/websearch/launch-state.js.map +1 -0
  283. package/dist/utils/websearch/mcp-installer.d.ts +6 -5
  284. package/dist/utils/websearch/mcp-installer.d.ts.map +1 -1
  285. package/dist/utils/websearch/mcp-installer.js +10 -15
  286. package/dist/utils/websearch/mcp-installer.js.map +1 -1
  287. package/dist/utils/websearch/status.d.ts +4 -3
  288. package/dist/utils/websearch/status.d.ts.map +1 -1
  289. package/dist/utils/websearch/status.js +7 -10
  290. package/dist/utils/websearch/status.js.map +1 -1
  291. package/dist/utils/websearch-manager.d.ts +2 -0
  292. package/dist/utils/websearch-manager.d.ts.map +1 -1
  293. package/dist/utils/websearch-manager.js +3 -1
  294. package/dist/utils/websearch-manager.js.map +1 -1
  295. package/dist/web-server/model-pricing.d.ts.map +1 -1
  296. package/dist/web-server/model-pricing.js +22 -0
  297. package/dist/web-server/model-pricing.js.map +1 -1
  298. package/dist/web-server/routes/bar-routes.d.ts.map +1 -1
  299. package/dist/web-server/routes/bar-routes.js +15 -10
  300. package/dist/web-server/routes/bar-routes.js.map +1 -1
  301. package/dist/web-server/routes/cliproxy-routing-routes.d.ts.map +1 -1
  302. package/dist/web-server/routes/cliproxy-routing-routes.js +28 -0
  303. package/dist/web-server/routes/cliproxy-routing-routes.js.map +1 -1
  304. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  305. package/dist/web-server/routes/settings-routes.js +1 -0
  306. package/dist/web-server/routes/settings-routes.js.map +1 -1
  307. package/dist/web-server/usage/claude-native-credentials.d.ts +23 -2
  308. package/dist/web-server/usage/claude-native-credentials.d.ts.map +1 -1
  309. package/dist/web-server/usage/claude-native-credentials.js +78 -14
  310. package/dist/web-server/usage/claude-native-credentials.js.map +1 -1
  311. package/dist/web-server/usage/native-quota-collector.d.ts +10 -9
  312. package/dist/web-server/usage/native-quota-collector.d.ts.map +1 -1
  313. package/dist/web-server/usage/native-quota-collector.js +113 -42
  314. package/dist/web-server/usage/native-quota-collector.js.map +1 -1
  315. package/package.json +2 -1
  316. package/scripts/ci-parity-gate.sh +4 -30
  317. package/scripts/hardening-inventory.js +37 -4
  318. package/scripts/maintainability-metrics.js +2 -8
  319. package/scripts/run-test-bucket.js +1 -0
  320. package/scripts/runtime-source-classifier.js +12 -0
  321. package/dist/ui/assets/cliproxy-Chx5_Ekw.js +0 -4
  322. package/dist/ui/assets/index-D8lIJFv2.js +0 -56
  323. package/dist/ui/assets/proxy-status-widget-BrX3HZwn.js +0 -1
@@ -8,7 +8,11 @@
8
8
  * Detached model (replaces the old in-process model):
9
9
  * 1. Probe candidate ports (bar.json port first, then 3000/3001/3002/8000/8080).
10
10
  * 2. If a live server is found → reuse it, write bar.json, open app, return.
11
- * 3. Else refresh launch.json, getPort to pick a free port, spawn
11
+ * With an explicit --port that differs from the running server's port,
12
+ * stop that server first and fall through to a fresh start instead.
13
+ * 3. Else → pick a port (--port exactly when given; otherwise bar.json's
14
+ * recorded port first, then the default candidates), refresh launch.json
15
+ * (including --port so the Swift app self-starts on the same port), spawn
12
16
  * `ccs bar serve --port N` detached with stdio → serve.log, poll
13
17
  * /api/bar/summary until 200 (timeout ~10 s), write bar.json, open app,
14
18
  * return. The CLI process exits; the server continues as a detached child.
@@ -48,9 +52,11 @@ const config_loader_facade_1 = require("../../config/config-loader-facade");
48
52
  const bar_auth_token_1 = require("../../utils/bar-auth-token");
49
53
  const bar_paths_1 = require("./bar-paths");
50
54
  const launch_descriptor_1 = require("./launch-descriptor");
55
+ const port_arg_1 = require("./port-arg");
51
56
  const bar_server_probe_1 = require("./bar-server-probe");
52
57
  Object.defineProperty(exports, "defaultFindRunningServer", { enumerable: true, get: function () { return bar_server_probe_1.defaultFindRunningServer; } });
53
58
  Object.defineProperty(exports, "resolveBarPort", { enumerable: true, get: function () { return bar_server_probe_1.resolveBarPort; } });
59
+ const bar_process_control_1 = require("./bar-process-control");
54
60
  const BAR_PROBE_TIMEOUT_MS = 1500;
55
61
  const MAX_BAR_PROBE_RESPONSE_BYTES = 8192;
56
62
  // ---------------------------------------------------------------------------
@@ -122,13 +128,9 @@ async function defaultWaitForServerLive(baseUrl) {
122
128
  settled = true;
123
129
  clearTimeout(absoluteDeadline);
124
130
  socket.destroy();
125
- if (statusCode === 200) {
126
- const echoMatch = headerSection.match(new RegExp(`${bar_auth_token_1.BAR_AUTH_TOKEN_HEADER}:\\s*([^\\r\\n]+)`, 'i'));
127
- const proof = echoMatch ? echoMatch[1].trim() : '';
128
- resolve({ statusCode, tokenMatched: (0, bar_auth_token_1.isMatchingBarAuthProof)(token, nonce, proof) });
129
- return;
130
- }
131
- resolve({ statusCode, tokenMatched: false });
131
+ const echoMatch = headerSection.match(new RegExp(`${bar_auth_token_1.BAR_AUTH_TOKEN_HEADER}:\\s*([^\\r\\n]+)`, 'i'));
132
+ const proof = echoMatch ? echoMatch[1].trim() : '';
133
+ resolve({ statusCode, tokenMatched: (0, bar_auth_token_1.isMatchingBarAuthProof)(token, nonce, proof) });
132
134
  };
133
135
  const socket = net.connect({ host: url.hostname.replace(/^\[|\]$/g, ''), port: Number(url.port) }, () => {
134
136
  // Do NOT include the token in the request; only send a fresh nonce so
@@ -145,7 +147,7 @@ async function defaultWaitForServerLive(baseUrl) {
145
147
  const statusMatch = rawResponse.match(/^HTTP\/\d(?:\.\d)?\s+(\d{3})/);
146
148
  if (statusMatch) {
147
149
  const code = Number(statusMatch[1]);
148
- if (code !== 200) {
150
+ if (code !== 200 && code !== 401 && code !== 403) {
149
151
  finish(code, rawResponse);
150
152
  return;
151
153
  }
@@ -168,7 +170,7 @@ async function defaultWaitForServerLive(baseUrl) {
168
170
  const { statusCode, tokenMatched } = await probe();
169
171
  if (statusCode === 200 && tokenMatched)
170
172
  return;
171
- if (statusCode !== null && isAuthRequiredStatus(statusCode)) {
173
+ if (statusCode !== null && isAuthRequiredStatus(statusCode) && tokenMatched) {
172
174
  throw new BarServerAuthRequiredError(baseUrl, statusCode);
173
175
  }
174
176
  await new Promise((resolve) => setTimeout(resolve, INTERVAL_MS));
@@ -195,17 +197,34 @@ const DEFAULT_APP_INSTALL_PATH = path.join(os.homedir(), 'Applications', 'CCS Ba
195
197
  // Implementation
196
198
  // ---------------------------------------------------------------------------
197
199
  async function handleBarLaunch(_args, deps = {}) {
200
+ const argError = (0, port_arg_1.validatePortArgs)(_args);
201
+ if (argError !== null) {
202
+ console.error(`[X] ${argError}`);
203
+ process.exitCode = 1;
204
+ return;
205
+ }
198
206
  const ccsDir = (deps.getCcsDir ?? defaultGetCcsDir)();
199
207
  const openApp = deps.openApp ?? defaultOpenApp;
200
208
  const appInstallPath = deps.appInstallPath ?? DEFAULT_APP_INSTALL_PATH;
201
209
  const getPortFn = deps.getPort ?? defaultGetPort;
202
210
  const spawnDetachedServer = deps.spawnDetachedServer ?? defaultSpawnDetachedServer;
203
211
  const waitForServerLive = deps.waitForServerLive ?? defaultWaitForServerLive;
212
+ const createLaunchDescriptor = deps.createLaunchDescriptor ?? launch_descriptor_1.createBarLaunchDescriptor;
204
213
  const writeLaunchDescriptor = deps.writeLaunchDescriptor ?? defaultWriteLaunchDescriptor;
214
+ const stopDetachedServer = deps.stopDetachedServer ?? bar_process_control_1.stopDetachedBarServer;
205
215
  // Wire findRunningServer after ccsDir is resolved.
206
216
  const findRunningServer = deps.findRunningServer ?? (() => (0, bar_server_probe_1.defaultFindRunningServer)(ccsDir));
207
217
  const barJsonPath = (0, bar_paths_1.getBarJsonPath)(ccsDir);
208
218
  const launchJsonPath = (0, bar_paths_1.getLaunchJsonPath)(ccsDir);
219
+ // 0. Parse --port. A present-but-invalid value is a hard error (silently
220
+ // launching on a different port than the user asked for is worse).
221
+ const portFlag = (0, port_arg_1.parsePortFlag)(_args);
222
+ if (portFlag.present && portFlag.port === null) {
223
+ console.error('[X] Invalid --port value. Use a number between 1 and 65535.');
224
+ process.exitCode = 1;
225
+ return;
226
+ }
227
+ const requestedPort = portFlag.port;
209
228
  // 1. Probe for an already-running server.
210
229
  let running = null;
211
230
  try {
@@ -214,65 +233,137 @@ async function handleBarLaunch(_args, deps = {}) {
214
233
  catch {
215
234
  /* any probe error counts as null */
216
235
  }
236
+ let movingFrom = null;
237
+ let port = null;
217
238
  if (running !== null) {
218
239
  if (running.authRequired) {
219
240
  console.error(`[X] CCS Bar cannot launch while dashboard authentication protects ${running.baseUrl}.`);
220
241
  console.error('[i] Disable dashboard authentication for CCS Bar or start the dashboard manually.');
221
242
  return;
222
243
  }
223
- // Reuse the live server — write bar.json and open the app.
224
- const barJson = {
225
- baseUrl: running.baseUrl,
226
- port: running.port,
227
- authMode: 'loopback',
228
- };
244
+ if (requestedPort === null || running.port === requestedPort) {
245
+ // Reuse the live server — write bar.json and open the app.
246
+ const barJson = {
247
+ baseUrl: running.baseUrl,
248
+ port: running.port,
249
+ authMode: 'loopback',
250
+ };
251
+ try {
252
+ fs.mkdirSync(ccsDir, { recursive: true });
253
+ fs.writeFileSync(barJsonPath, JSON.stringify(barJson, null, 2));
254
+ }
255
+ catch (err) {
256
+ const msg = err instanceof Error ? err.message : String(err);
257
+ console.error(`[X] Failed to write bar.json: ${msg}`);
258
+ return;
259
+ }
260
+ console.log(`[OK] Reusing running CCS web-server at ${running.baseUrl}`);
261
+ console.log(`[i] Discovery file written: ${barJsonPath}`);
262
+ await _openAppWithFallback(appInstallPath, openApp);
263
+ return;
264
+ }
265
+ // Explicit --port that differs from the running server: preflight the
266
+ // destination before disrupting the healthy current service.
267
+ console.log(`[i] CCS Bar server is running on port ${running.port}; moving to port ${requestedPort}...`);
268
+ if (requestedPort === null)
269
+ return;
229
270
  try {
230
- fs.mkdirSync(ccsDir, { recursive: true });
231
- fs.writeFileSync(barJsonPath, JSON.stringify(barJson, null, 2));
271
+ const availablePort = await getPortFn({ port: [requestedPort], host: '127.0.0.1' });
272
+ if (availablePort !== requestedPort) {
273
+ console.error(`[X] Port ${requestedPort} is already in use by another process.`);
274
+ console.error('[i] The existing CCS Bar server was left running.');
275
+ process.exitCode = 1;
276
+ return;
277
+ }
278
+ port = requestedPort;
232
279
  }
233
280
  catch (err) {
234
281
  const msg = err instanceof Error ? err.message : String(err);
235
- console.error(`[X] Failed to write bar.json: ${msg}`);
282
+ console.error(`[X] Could not preflight port ${requestedPort}: ${msg}`);
283
+ console.error('[i] The existing CCS Bar server was left running.');
284
+ process.exitCode = 1;
236
285
  return;
237
286
  }
238
- console.log(`[OK] Reusing running CCS web-server at ${running.baseUrl}`);
239
- console.log(`[i] Discovery file written: ${barJsonPath}`);
240
- await _openAppWithFallback(appInstallPath, openApp);
241
- return;
287
+ try {
288
+ await stopDetachedServer(ccsDir);
289
+ }
290
+ catch (err) {
291
+ const msg = err instanceof Error ? err.message : String(err);
292
+ console.error(`[X] Could not safely stop the running server: ${msg}`);
293
+ console.error('[i] Recovery state was preserved; resolve the stop error, then retry.');
294
+ process.exitCode = 1;
295
+ return;
296
+ }
297
+ movingFrom = running;
298
+ // Fall through to the fresh-start path below.
242
299
  }
243
- // 2. No live server — pick a port, write/refresh launch.json, spawn detached.
244
- // 2a. Pick a free port.
245
- let port;
300
+ // 2. No live server (or moving ports) — pick a port, write/refresh
301
+ // launch.json, spawn detached.
302
+ // 2a. Pick a free port. An explicit --port must be honored exactly; without
303
+ // it, the port recorded in bar.json is preferred so the server keeps
304
+ // coming back on the port the user last chose (sticky port).
246
305
  try {
247
- port = await getPortFn({ port: [3000, 3001, 3002, 8000, 8080], host: '127.0.0.1' });
306
+ if (port !== null) {
307
+ // Destination was already preflighted before stopping the prior server.
308
+ }
309
+ else if (requestedPort !== null) {
310
+ const got = await getPortFn({ port: [requestedPort], host: '127.0.0.1' });
311
+ if (got !== requestedPort) {
312
+ console.error(`[X] Port ${requestedPort} is already in use by another process.`);
313
+ console.error('[i] Choose a different port or free it, then retry.');
314
+ process.exitCode = 1;
315
+ return;
316
+ }
317
+ port = requestedPort;
318
+ }
319
+ else {
320
+ const stickyPort = (0, bar_server_probe_1.resolveBarPort)(ccsDir);
321
+ const base = [3000, 3001, 3002, 8000, 8080];
322
+ const candidates = stickyPort !== null ? [stickyPort, ...base.filter((p) => p !== stickyPort)] : base;
323
+ port = await getPortFn({ port: candidates, host: '127.0.0.1' });
324
+ }
248
325
  }
249
326
  catch (err) {
250
327
  const msg = err instanceof Error ? err.message : String(err);
251
328
  console.error(`[X] Could not find a free port: ${msg}`);
252
329
  return;
253
330
  }
254
- // 2b. Write/refresh launch.json so the Swift app can self-start next time.
255
- try {
256
- const launchDescriptor = (0, launch_descriptor_1.createBarLaunchDescriptor)();
257
- writeLaunchDescriptor(launchJsonPath, launchDescriptor);
258
- }
259
- catch (err) {
260
- // Non-fatal — the Swift app falls back to resolving `ccs` via PATH.
261
- const msg = err instanceof Error ? err.message : String(err);
262
- console.error(`[!] Could not write launch.json: ${msg}`);
331
+ if (port === null) {
332
+ console.error('[X] Could not resolve a valid CCS Bar port.');
333
+ process.exitCode = 1;
334
+ return;
263
335
  }
264
- // 2c. Spawn the detached server.
336
+ const selectedPort = port;
337
+ const rollbackPriorServer = async () => {
338
+ if (movingFrom === null)
339
+ return;
340
+ try {
341
+ spawnDetachedServer(movingFrom.port, serveLogPath);
342
+ await waitForServerLive(movingFrom.baseUrl);
343
+ console.log(`[OK] Restored CCS Bar server at ${movingFrom.baseUrl}.`);
344
+ }
345
+ catch (rollbackErr) {
346
+ const message = rollbackErr instanceof Error ? rollbackErr.message : String(rollbackErr);
347
+ console.error(`[X] Failed to restore CCS Bar at ${movingFrom.baseUrl}: ${message}`);
348
+ console.error('[i] Existing discovery and launch state was preserved for manual recovery.');
349
+ }
350
+ };
351
+ // 2b. Spawn the detached server. launch.json is not replaced until the new
352
+ // server is proven live, preserving the prior recovery path during a move.
265
353
  const serveLogPath = (0, bar_paths_1.getServeLogPath)(ccsDir);
266
- const baseUrl = `http://127.0.0.1:${port}`;
354
+ const baseUrl = `http://127.0.0.1:${selectedPort}`;
267
355
  let spawnedChild;
268
356
  try {
269
357
  fs.mkdirSync((0, bar_paths_1.getBarDir)(ccsDir), { recursive: true });
270
- spawnedChild = spawnDetachedServer(port, serveLogPath);
358
+ spawnedChild = spawnDetachedServer(selectedPort, serveLogPath);
271
359
  }
272
360
  catch (err) {
273
361
  const msg = err instanceof Error ? err.message : String(err);
274
362
  console.error(`[X] Could not start CCS web-server: ${msg}`);
275
- console.error('[i] Run `ccs config` to start the dashboard manually.');
363
+ await rollbackPriorServer();
364
+ if (movingFrom === null)
365
+ console.error('[i] Run `ccs config` to start the dashboard manually.');
366
+ process.exitCode = 1;
276
367
  return;
277
368
  }
278
369
  console.log('[i] Starting CCS Bar server...');
@@ -285,17 +376,30 @@ async function handleBarLaunch(_args, deps = {}) {
285
376
  spawnedChild?.kill();
286
377
  console.error(`[X] CCS Bar cannot launch while dashboard authentication protects ${baseUrl}.`);
287
378
  console.error('[i] Disable dashboard authentication for CCS Bar or start the dashboard manually.');
288
- return;
289
379
  }
290
- const msg = err instanceof Error ? err.message : String(err);
291
- console.error(`[X] Could not connect to CCS web-server: ${msg}`);
292
- console.error(`[i] Check logs at ${serveLogPath}`);
380
+ else {
381
+ const msg = err instanceof Error ? err.message : String(err);
382
+ console.error(`[X] Could not connect to CCS web-server: ${msg}`);
383
+ console.error(`[i] Check logs at ${serveLogPath}`);
384
+ }
385
+ spawnedChild?.kill();
386
+ await rollbackPriorServer();
387
+ process.exitCode = 1;
293
388
  return;
294
389
  }
390
+ // 2d. Persist the proven-good recovery descriptor.
391
+ try {
392
+ const launchDescriptor = createLaunchDescriptor({ port: selectedPort });
393
+ writeLaunchDescriptor(launchJsonPath, launchDescriptor);
394
+ }
395
+ catch (err) {
396
+ const msg = err instanceof Error ? err.message : String(err);
397
+ console.error(`[!] Could not write launch.json: ${msg}`);
398
+ }
295
399
  // 2e. Write bar.json.
296
400
  const barJson = {
297
401
  baseUrl,
298
- port,
402
+ port: selectedPort,
299
403
  authMode: 'loopback',
300
404
  };
301
405
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"launch-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/launch-subcommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/launch-subcommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared `--port N` flag parsing for the `ccs bar` command family.
3
+ *
4
+ * `present` distinguishes "flag not given" from "flag given with a bad value"
5
+ * so launch can reject typos loudly instead of silently falling back to the
6
+ * default port list.
7
+ */
8
+ export interface PortFlag {
9
+ /** True when `--port` appears in args at all. */
10
+ present: boolean;
11
+ /** The parsed port (1-65535), or null when absent or invalid. */
12
+ port: number | null;
13
+ }
14
+ export declare function validatePortArgs(args: string[]): string | null;
15
+ export declare function parsePortFlag(args: string[]): PortFlag;
16
+ //# sourceMappingURL=port-arg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"port-arg.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/port-arg.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,QAAQ;IACvB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAY9D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAUtD"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * Shared `--port N` flag parsing for the `ccs bar` command family.
4
+ *
5
+ * `present` distinguishes "flag not given" from "flag given with a bad value"
6
+ * so launch can reject typos loudly instead of silently falling back to the
7
+ * default port list.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.parsePortFlag = exports.validatePortArgs = void 0;
11
+ function validatePortArgs(args) {
12
+ let foundPort = false;
13
+ for (let index = 0; index < args.length; index += 1) {
14
+ const arg = args[index];
15
+ if (arg !== '--port')
16
+ return `Unknown option: ${arg}`;
17
+ if (foundPort)
18
+ return 'Duplicate option: --port';
19
+ foundPort = true;
20
+ const raw = args[index + 1];
21
+ if (raw === undefined)
22
+ return 'Missing value for --port';
23
+ index += 1;
24
+ }
25
+ return null;
26
+ }
27
+ exports.validatePortArgs = validatePortArgs;
28
+ function parsePortFlag(args) {
29
+ const idx = args.indexOf('--port');
30
+ if (idx === -1)
31
+ return { present: false, port: null };
32
+ const raw = args[idx + 1];
33
+ if (raw === undefined || !/^[1-9]\d{0,4}$/.test(raw)) {
34
+ return { present: true, port: null };
35
+ }
36
+ const n = Number(raw);
37
+ const valid = Number.isSafeInteger(n) && n <= 65535;
38
+ return { present: true, port: valid ? n : null };
39
+ }
40
+ exports.parsePortFlag = parsePortFlag;
41
+ //# sourceMappingURL=port-arg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"port-arg.js","sourceRoot":"","sources":["../../../src/commands/bar/port-arg.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AASH,SAAgB,gBAAgB,CAAC,IAAc;IAC7C,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,mBAAmB,GAAG,EAAE,CAAC;QACtD,IAAI,SAAS;YAAE,OAAO,0BAA0B,CAAC;QACjD,SAAS,GAAG,IAAI,CAAC;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,0BAA0B,CAAC;QACzD,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAZD,4CAYC;AAED,SAAgB,aAAa,CAAC,IAAc;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAVD,sCAUC"}
@@ -12,6 +12,7 @@
12
12
  * Accepts: --port N (honours a port the launcher pre-selected via getPort).
13
13
  */
14
14
  import type { DashboardInfo } from './bar-server-probe';
15
+ import type { BarServerProcessRecord } from './bar-process-control';
15
16
  export interface ServeDeps {
16
17
  /** Probe candidate ports for a running CCS server. Never throws. */
17
18
  findRunningServer: () => Promise<DashboardInfo | null>;
@@ -38,10 +39,14 @@ export interface ServeDeps {
38
39
  writeFile: (filePath: string, content: string) => void;
39
40
  /** Remove a file if it exists (for cleanup on exit). */
40
41
  removeFile: (filePath: string) => void;
42
+ /** Remove server.pid only if it still identifies this process. */
43
+ removeProcessRecordIfOwned: (filePath: string, record: BarServerProcessRecord) => void;
41
44
  /** Register process signal handlers. */
42
45
  onSignal: (signal: 'SIGINT' | 'SIGTERM', handler: () => void) => void;
43
46
  /** Exit the process. */
44
47
  exit: (code: number) => never;
48
+ /** Read a stable OS birth marker so later stop commands cannot signal a reused PID. */
49
+ getProcessBirthIdentity: (pid: number) => string | null;
45
50
  }
46
51
  export declare function handleBarServe(args: string[], deps?: Partial<ServeDeps>): Promise<void>;
47
52
  //# sourceMappingURL=serve-subcommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serve-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/serve-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,MAAM,WAAW,SAAS;IACxB,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACvD;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,8CAA8C;IAC9C,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,oDAAoD;IACpD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,wDAAwD;IACxD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,wCAAwC;IACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACtE,wBAAwB;IACxB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;CAC/B;AA8DD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqGjG"}
1
+ {"version":3,"file":"serve-subcommand.d.ts","sourceRoot":"","sources":["../../../src/commands/bar/serve-subcommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAMpE,MAAM,WAAW,SAAS;IACxB,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACvD;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,8CAA8C;IAC9C,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,oDAAoD;IACpD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,wDAAwD;IACxD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,kEAAkE;IAClE,0BAA0B,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvF,wCAAwC;IACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACtE,wBAAwB;IACxB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;IAC9B,uFAAuF;IACvF,uBAAuB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACzD;AAyCD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0IjG"}
@@ -42,6 +42,8 @@ const path = __importStar(require("path"));
42
42
  const config_loader_facade_1 = require("../../config/config-loader-facade");
43
43
  const bar_paths_1 = require("./bar-paths");
44
44
  const bar_server_probe_1 = require("./bar-server-probe");
45
+ const port_arg_1 = require("./port-arg");
46
+ const bar_process_control_1 = require("./bar-process-control");
45
47
  // ---------------------------------------------------------------------------
46
48
  // Default implementations
47
49
  // ---------------------------------------------------------------------------
@@ -61,14 +63,6 @@ function defaultWriteFile(filePath, content) {
61
63
  fs.mkdirSync(path.dirname(filePath), { recursive: true });
62
64
  fs.writeFileSync(filePath, content);
63
65
  }
64
- function defaultRemoveFile(filePath) {
65
- try {
66
- fs.unlinkSync(filePath);
67
- }
68
- catch {
69
- /* ignore — file may already be gone */
70
- }
71
- }
72
66
  function defaultOnSignal(signal, handler) {
73
67
  process.on(signal, handler);
74
68
  }
@@ -79,28 +73,24 @@ function defaultGetCcsDir() {
79
73
  return (0, config_loader_facade_1.getCcsDir)();
80
74
  }
81
75
  // ---------------------------------------------------------------------------
82
- // Argument parsing helpers
83
- // ---------------------------------------------------------------------------
84
- function parsePortArg(args) {
85
- const idx = args.indexOf('--port');
86
- if (idx !== -1 && idx + 1 < args.length) {
87
- const n = parseInt(args[idx + 1], 10);
88
- return Number.isFinite(n) && n > 0 && n < 65536 ? n : null;
89
- }
90
- return null;
91
- }
92
- // ---------------------------------------------------------------------------
93
76
  // Implementation
94
77
  // ---------------------------------------------------------------------------
95
78
  async function handleBarServe(args, deps = {}) {
79
+ const argError = (0, port_arg_1.validatePortArgs)(args);
80
+ if (argError !== null) {
81
+ console.error(`[X] ${argError}`);
82
+ (deps.exit ?? defaultExit)(1);
83
+ return;
84
+ }
96
85
  const ccsDir = (deps.getCcsDir ?? defaultGetCcsDir)();
97
86
  const findRunningServer = deps.findRunningServer ?? (() => (0, bar_server_probe_1.defaultFindRunningServer)(ccsDir));
98
87
  const startServerFn = deps.startServer ?? defaultStartServer;
99
88
  const getPortFn = deps.getPort ?? defaultGetPort;
100
89
  const writeFile = deps.writeFile ?? defaultWriteFile;
101
- const removeFile = deps.removeFile ?? defaultRemoveFile;
90
+ const removeProcessRecordIfOwned = deps.removeProcessRecordIfOwned ?? bar_process_control_1.removeBarServerProcessRecordIfOwned;
102
91
  const onSignal = deps.onSignal ?? defaultOnSignal;
103
92
  const exit = deps.exit ?? defaultExit;
93
+ const readProcessBirthIdentity = deps.getProcessBirthIdentity ?? bar_process_control_1.getProcessBirthIdentity;
104
94
  const barJsonPath = (0, bar_paths_1.getBarJsonPath)(ccsDir);
105
95
  const serverPidPath = (0, bar_paths_1.getServerPidPath)(ccsDir);
106
96
  // 1. Reuse-or-start: probe candidate ports first.
@@ -131,13 +121,24 @@ async function handleBarServe(args, deps = {}) {
131
121
  }
132
122
  // 2. No live server found — start one.
133
123
  // Honor --port N from the launcher (it pre-selected via getPort to avoid races).
134
- const requestedPort = parsePortArg(args);
124
+ // Without it, prefer the port recorded in bar.json so the server keeps coming
125
+ // back on the port the user last chose (sticky port).
126
+ const portFlag = (0, port_arg_1.parsePortFlag)(args);
127
+ if (portFlag.present && portFlag.port === null) {
128
+ console.error('[X] Invalid --port value. Use an integer between 1 and 65535.');
129
+ exit(1);
130
+ return;
131
+ }
132
+ const requestedPort = portFlag.port;
135
133
  let port;
136
134
  if (requestedPort !== null) {
137
135
  port = requestedPort;
138
136
  }
139
137
  else {
140
- port = await getPortFn({ port: [3000, 3001, 3002, 8000, 8080], host: '127.0.0.1' });
138
+ const stickyPort = (0, bar_server_probe_1.resolveBarPort)(ccsDir);
139
+ const base = [3000, 3001, 3002, 8000, 8080];
140
+ const candidates = stickyPort !== null ? [stickyPort, ...base.filter((p) => p !== stickyPort)] : base;
141
+ port = await getPortFn({ port: candidates, host: '127.0.0.1' });
141
142
  }
142
143
  // TypeScript cannot infer that exit(1) is `never` when it is injected as a dep,
143
144
  // so we use a definite-assignment assertion on dashboardInfo.
@@ -150,33 +151,50 @@ async function handleBarServe(args, deps = {}) {
150
151
  console.error(`[X] Failed to start CCS server: ${msg}`);
151
152
  exit(1);
152
153
  }
153
- // 3. Write bar.json and server.pid.
154
+ // 3. Publish the owned process record before discovery. Stop cleanup uses
155
+ // server.pid as the ownership barrier, so discovery must never appear first.
154
156
  const barJson = {
155
157
  baseUrl: dashboardInfo.baseUrl,
156
158
  port: dashboardInfo.port,
157
159
  authMode: 'loopback',
158
160
  };
161
+ const birthIdentity = readProcessBirthIdentity(process.pid);
162
+ if (birthIdentity === null) {
163
+ console.error('[X] Failed to record CCS Bar process identity; stopping unmanaged server.');
164
+ exit(1);
165
+ return;
166
+ }
167
+ const processRecord = { pid: process.pid, birthIdentity };
159
168
  try {
160
- writeFile(barJsonPath, JSON.stringify(barJson, null, 2));
169
+ writeFile(serverPidPath, (0, bar_process_control_1.serializeBarServerProcessRecord)(processRecord));
161
170
  }
162
171
  catch (err) {
163
172
  const msg = err instanceof Error ? err.message : String(err);
164
- console.error(`[X] Failed to write bar.json: ${msg}`);
173
+ console.error(`[X] Failed to write server.pid: ${msg}`);
165
174
  exit(1);
175
+ return;
166
176
  }
167
177
  try {
168
- writeFile(serverPidPath, String(process.pid));
178
+ writeFile(barJsonPath, JSON.stringify(barJson, null, 2));
169
179
  }
170
180
  catch (err) {
171
- // Non-fatal — stop/status will just degrade gracefully.
181
+ try {
182
+ removeProcessRecordIfOwned(serverPidPath, processRecord);
183
+ }
184
+ catch (cleanupErr) {
185
+ const cleanupMessage = cleanupErr instanceof Error ? cleanupErr.message : String(cleanupErr);
186
+ console.error(`[!] Failed to roll back server.pid: ${cleanupMessage}`);
187
+ }
172
188
  const msg = err instanceof Error ? err.message : String(err);
173
- console.error(`[!] Failed to write server.pid: ${msg}`);
189
+ console.error(`[X] Failed to write bar.json: ${msg}`);
190
+ exit(1);
191
+ return;
174
192
  }
175
193
  console.log(`[OK] CCS Bar server started at ${dashboardInfo.baseUrl}`);
176
194
  console.log(`[i] PID ${process.pid} — stop with \`ccs bar stop\``);
177
195
  // 4. Clean shutdown on SIGINT / SIGTERM.
178
196
  const shutdown = () => {
179
- removeFile(serverPidPath);
197
+ removeProcessRecordIfOwned(serverPidPath, processRecord);
180
198
  // bar.json is intentionally left in place on clean shutdown so
181
199
  // the Swift app self-heal poll can detect the server is gone via
182
200
  // the liveness check, not a stale discovery file.
@@ -1 +1 @@
1
- {"version":3,"file":"serve-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/serve-subcommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve-subcommand.js","sourceRoot":"","sources":["../../../src/commands/bar/serve-subcommand.ts"],"names":[],"mappings":"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"}