@kaitranntt/ccs 6.7.0 → 6.7.1-dev.2

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 (628) hide show
  1. package/README.md +45 -23
  2. package/dist/api/index.d.ts +7 -0
  3. package/dist/api/index.d.ts.map +1 -0
  4. package/dist/api/index.js +24 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/services/index.d.ts +10 -0
  7. package/dist/api/services/index.d.ts.map +1 -0
  8. package/dist/api/services/index.js +26 -0
  9. package/dist/api/services/index.js.map +1 -0
  10. package/dist/api/services/profile-reader.d.ts +28 -0
  11. package/dist/api/services/profile-reader.d.ts.map +1 -0
  12. package/dist/api/services/profile-reader.js +148 -0
  13. package/dist/api/services/profile-reader.js.map +1 -0
  14. package/dist/api/services/profile-types.d.ts +42 -0
  15. package/dist/api/services/profile-types.d.ts.map +1 -0
  16. package/dist/api/services/profile-types.js +8 -0
  17. package/dist/api/services/profile-types.js.map +1 -0
  18. package/dist/api/services/profile-writer.d.ts +6 -0
  19. package/dist/api/services/profile-writer.d.ts.map +1 -0
  20. package/dist/api/services/profile-writer.js +176 -0
  21. package/dist/api/services/profile-writer.js.map +1 -0
  22. package/dist/api/services/validation-service.d.ts +26 -0
  23. package/dist/api/services/validation-service.d.ts.map +1 -0
  24. package/dist/api/services/validation-service.js +77 -0
  25. package/dist/api/services/validation-service.js.map +1 -0
  26. package/dist/auth/auth-commands.d.ts +16 -22
  27. package/dist/auth/auth-commands.d.ts.map +1 -1
  28. package/dist/auth/auth-commands.js +29 -467
  29. package/dist/auth/auth-commands.js.map +1 -1
  30. package/dist/auth/commands/create-command.d.ts +11 -0
  31. package/dist/auth/commands/create-command.d.ts.map +1 -0
  32. package/dist/auth/commands/create-command.js +137 -0
  33. package/dist/auth/commands/create-command.js.map +1 -0
  34. package/dist/auth/commands/default-command.d.ts +15 -0
  35. package/dist/auth/commands/default-command.d.ts.map +1 -0
  36. package/dist/auth/commands/default-command.js +71 -0
  37. package/dist/auth/commands/default-command.js.map +1 -0
  38. package/dist/auth/commands/index.d.ts +12 -0
  39. package/dist/auth/commands/index.d.ts.map +1 -0
  40. package/dist/auth/commands/index.js +25 -0
  41. package/dist/auth/commands/index.js.map +1 -0
  42. package/dist/auth/commands/list-command.d.ts +11 -0
  43. package/dist/auth/commands/list-command.d.ts.map +1 -0
  44. package/dist/auth/commands/list-command.js +124 -0
  45. package/dist/auth/commands/list-command.js.map +1 -0
  46. package/dist/auth/commands/remove-command.d.ts +11 -0
  47. package/dist/auth/commands/remove-command.d.ts.map +1 -0
  48. package/dist/auth/commands/remove-command.js +102 -0
  49. package/dist/auth/commands/remove-command.js.map +1 -0
  50. package/dist/auth/commands/show-command.d.ts +11 -0
  51. package/dist/auth/commands/show-command.d.ts.map +1 -0
  52. package/dist/auth/commands/show-command.js +103 -0
  53. package/dist/auth/commands/show-command.js.map +1 -0
  54. package/dist/auth/commands/types.d.ts +50 -0
  55. package/dist/auth/commands/types.d.ts.map +1 -0
  56. package/dist/auth/commands/types.js +26 -0
  57. package/dist/auth/commands/types.js.map +1 -0
  58. package/dist/auth/index.d.ts +8 -0
  59. package/dist/auth/index.d.ts.map +1 -0
  60. package/dist/auth/index.js +16 -0
  61. package/dist/auth/index.js.map +1 -0
  62. package/dist/auth/profile-detector.d.ts +0 -5
  63. package/dist/auth/profile-detector.d.ts.map +1 -1
  64. package/dist/auth/profile-detector.js +1 -9
  65. package/dist/auth/profile-detector.js.map +1 -1
  66. package/dist/auth/profile-registry.d.ts +0 -4
  67. package/dist/auth/profile-registry.d.ts.map +1 -1
  68. package/dist/auth/profile-registry.js +3 -10
  69. package/dist/auth/profile-registry.js.map +1 -1
  70. package/dist/ccs.js +21 -4
  71. package/dist/ccs.js.map +1 -1
  72. package/dist/cliproxy/auth/auth-types.d.ts +85 -0
  73. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -0
  74. package/dist/cliproxy/auth/auth-types.js +100 -0
  75. package/dist/cliproxy/auth/auth-types.js.map +1 -0
  76. package/dist/cliproxy/auth/environment-detector.d.ts +30 -0
  77. package/dist/cliproxy/auth/environment-detector.d.ts.map +1 -0
  78. package/dist/cliproxy/auth/environment-detector.js +124 -0
  79. package/dist/cliproxy/auth/environment-detector.js.map +1 -0
  80. package/dist/cliproxy/auth/index.d.ts +11 -0
  81. package/dist/cliproxy/auth/index.d.ts.map +1 -0
  82. package/dist/cliproxy/auth/index.js +35 -0
  83. package/dist/cliproxy/auth/index.js.map +1 -0
  84. package/dist/cliproxy/auth/oauth-handler.d.ts +29 -0
  85. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -0
  86. package/dist/cliproxy/auth/oauth-handler.js +205 -0
  87. package/dist/cliproxy/auth/oauth-handler.js.map +1 -0
  88. package/dist/cliproxy/auth/oauth-process.d.ts +27 -0
  89. package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -0
  90. package/dist/cliproxy/auth/oauth-process.js +209 -0
  91. package/dist/cliproxy/auth/oauth-process.js.map +1 -0
  92. package/dist/cliproxy/auth/token-manager.d.ts +53 -0
  93. package/dist/cliproxy/auth/token-manager.d.ts.map +1 -0
  94. package/dist/cliproxy/auth/token-manager.js +250 -0
  95. package/dist/cliproxy/auth/token-manager.js.map +1 -0
  96. package/dist/cliproxy/auth-handler.d.ts +13 -103
  97. package/dist/cliproxy/auth-handler.d.ts.map +1 -1
  98. package/dist/cliproxy/auth-handler.js +35 -766
  99. package/dist/cliproxy/auth-handler.js.map +1 -1
  100. package/dist/cliproxy/binary/downloader.d.ts +29 -0
  101. package/dist/cliproxy/binary/downloader.d.ts.map +1 -0
  102. package/dist/cliproxy/binary/downloader.js +218 -0
  103. package/dist/cliproxy/binary/downloader.js.map +1 -0
  104. package/dist/cliproxy/binary/extractor.d.ts +12 -0
  105. package/dist/cliproxy/binary/extractor.d.ts.map +1 -0
  106. package/dist/cliproxy/binary/extractor.js +27 -0
  107. package/dist/cliproxy/binary/extractor.js.map +1 -0
  108. package/dist/cliproxy/binary/index.d.ts +13 -0
  109. package/dist/cliproxy/binary/index.d.ts.map +1 -0
  110. package/dist/cliproxy/binary/index.js +53 -0
  111. package/dist/cliproxy/binary/index.js.map +1 -0
  112. package/dist/cliproxy/binary/installer.d.ts +24 -0
  113. package/dist/cliproxy/binary/installer.d.ts.map +1 -0
  114. package/dist/cliproxy/binary/installer.js +117 -0
  115. package/dist/cliproxy/binary/installer.js.map +1 -0
  116. package/dist/cliproxy/binary/lifecycle.d.ts +11 -0
  117. package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -0
  118. package/dist/cliproxy/binary/lifecycle.js +106 -0
  119. package/dist/cliproxy/binary/lifecycle.js.map +1 -0
  120. package/dist/cliproxy/binary/tar-extractor.d.ts +9 -0
  121. package/dist/cliproxy/binary/tar-extractor.d.ts.map +1 -0
  122. package/dist/cliproxy/binary/tar-extractor.js +118 -0
  123. package/dist/cliproxy/binary/tar-extractor.js.map +1 -0
  124. package/dist/cliproxy/binary/types.d.ts +24 -0
  125. package/dist/cliproxy/binary/types.d.ts.map +1 -0
  126. package/dist/cliproxy/binary/types.js +14 -0
  127. package/dist/cliproxy/binary/types.js.map +1 -0
  128. package/dist/cliproxy/binary/updater.d.ts +7 -0
  129. package/dist/cliproxy/binary/updater.d.ts.map +1 -0
  130. package/dist/cliproxy/binary/updater.js +18 -0
  131. package/dist/cliproxy/binary/updater.js.map +1 -0
  132. package/dist/cliproxy/binary/verifier.d.ts +18 -0
  133. package/dist/cliproxy/binary/verifier.d.ts.map +1 -0
  134. package/dist/cliproxy/binary/verifier.js +82 -0
  135. package/dist/cliproxy/binary/verifier.js.map +1 -0
  136. package/dist/cliproxy/binary/version-cache.d.ts +46 -0
  137. package/dist/cliproxy/binary/version-cache.d.ts.map +1 -0
  138. package/dist/cliproxy/binary/version-cache.js +171 -0
  139. package/dist/cliproxy/binary/version-cache.js.map +1 -0
  140. package/dist/cliproxy/binary/version-checker.d.ts +19 -0
  141. package/dist/cliproxy/binary/version-checker.d.ts.map +1 -0
  142. package/dist/cliproxy/binary/version-checker.js +77 -0
  143. package/dist/cliproxy/binary/version-checker.js.map +1 -0
  144. package/dist/cliproxy/binary/zip-extractor.d.ts +9 -0
  145. package/dist/cliproxy/binary/zip-extractor.d.ts.map +1 -0
  146. package/dist/cliproxy/binary/zip-extractor.js +110 -0
  147. package/dist/cliproxy/binary/zip-extractor.js.map +1 -0
  148. package/dist/cliproxy/binary-manager.d.ts +16 -170
  149. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  150. package/dist/cliproxy/binary-manager.js +38 -865
  151. package/dist/cliproxy/binary-manager.js.map +1 -1
  152. package/dist/cliproxy/remote-proxy-client.d.ts +3 -0
  153. package/dist/cliproxy/remote-proxy-client.d.ts.map +1 -1
  154. package/dist/cliproxy/remote-proxy-client.js +7 -3
  155. package/dist/cliproxy/remote-proxy-client.js.map +1 -1
  156. package/dist/cliproxy/services/binary-service.d.ts +65 -0
  157. package/dist/cliproxy/services/binary-service.d.ts.map +1 -0
  158. package/dist/cliproxy/services/binary-service.js +140 -0
  159. package/dist/cliproxy/services/binary-service.js.map +1 -0
  160. package/dist/cliproxy/services/index.d.ts +8 -0
  161. package/dist/cliproxy/services/index.d.ts.map +1 -0
  162. package/dist/cliproxy/services/index.js +31 -0
  163. package/dist/cliproxy/services/index.js.map +1 -0
  164. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts +38 -0
  165. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +1 -0
  166. package/dist/cliproxy/services/proxy-lifecycle-service.js +41 -0
  167. package/dist/cliproxy/services/proxy-lifecycle-service.js.map +1 -0
  168. package/dist/cliproxy/services/variant-config-adapter.d.ts +38 -0
  169. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -0
  170. package/dist/cliproxy/services/variant-config-adapter.js +172 -0
  171. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -0
  172. package/dist/cliproxy/services/variant-service.d.ts +37 -0
  173. package/dist/cliproxy/services/variant-service.d.ts.map +1 -0
  174. package/dist/cliproxy/services/variant-service.js +128 -0
  175. package/dist/cliproxy/services/variant-service.js.map +1 -0
  176. package/dist/cliproxy/services/variant-settings.d.ts +32 -0
  177. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -0
  178. package/dist/cliproxy/services/variant-settings.js +128 -0
  179. package/dist/cliproxy/services/variant-settings.js.map +1 -0
  180. package/dist/commands/api-command.d.ts +3 -6
  181. package/dist/commands/api-command.d.ts.map +1 -1
  182. package/dist/commands/api-command.js +84 -445
  183. package/dist/commands/api-command.js.map +1 -1
  184. package/dist/commands/cliproxy-command.d.ts +0 -3
  185. package/dist/commands/cliproxy-command.d.ts.map +1 -1
  186. package/dist/commands/cliproxy-command.js +182 -621
  187. package/dist/commands/cliproxy-command.js.map +1 -1
  188. package/dist/commands/index.d.ts +17 -0
  189. package/dist/commands/index.d.ts.map +1 -0
  190. package/dist/commands/index.js +33 -0
  191. package/dist/commands/index.js.map +1 -0
  192. package/dist/config/unified-config-loader.d.ts +7 -0
  193. package/dist/config/unified-config-loader.d.ts.map +1 -1
  194. package/dist/config/unified-config-loader.js +11 -1
  195. package/dist/config/unified-config-loader.js.map +1 -1
  196. package/dist/delegation/executor/index.d.ts +7 -0
  197. package/dist/delegation/executor/index.d.ts.map +1 -0
  198. package/dist/delegation/executor/index.js +28 -0
  199. package/dist/delegation/executor/index.js.map +1 -0
  200. package/dist/delegation/executor/result-aggregator.d.ts +30 -0
  201. package/dist/delegation/executor/result-aggregator.d.ts.map +1 -0
  202. package/dist/delegation/executor/result-aggregator.js +66 -0
  203. package/dist/delegation/executor/result-aggregator.js.map +1 -0
  204. package/dist/delegation/executor/stream-parser.d.ts +28 -0
  205. package/dist/delegation/executor/stream-parser.d.ts.map +1 -0
  206. package/dist/delegation/executor/stream-parser.js +140 -0
  207. package/dist/delegation/executor/stream-parser.js.map +1 -0
  208. package/dist/delegation/executor/types.d.ts +121 -0
  209. package/dist/delegation/executor/types.d.ts.map +1 -0
  210. package/dist/delegation/executor/types.js +6 -0
  211. package/dist/delegation/executor/types.js.map +1 -0
  212. package/dist/delegation/headless-executor.d.ts +13 -91
  213. package/dist/delegation/headless-executor.d.ts.map +1 -1
  214. package/dist/delegation/headless-executor.js +84 -291
  215. package/dist/delegation/headless-executor.js.map +1 -1
  216. package/dist/delegation/index.d.ts +11 -0
  217. package/dist/delegation/index.d.ts.map +1 -0
  218. package/dist/delegation/index.js +33 -0
  219. package/dist/delegation/index.js.map +1 -0
  220. package/dist/delegation/result-formatter.d.ts +1 -30
  221. package/dist/delegation/result-formatter.d.ts.map +1 -1
  222. package/dist/delegation/result-formatter.js.map +1 -1
  223. package/dist/errors/cleanup-registry.d.ts +64 -0
  224. package/dist/errors/cleanup-registry.d.ts.map +1 -0
  225. package/dist/errors/cleanup-registry.js +141 -0
  226. package/dist/errors/cleanup-registry.js.map +1 -0
  227. package/dist/errors/error-handler.d.ts +45 -0
  228. package/dist/errors/error-handler.d.ts.map +1 -0
  229. package/dist/errors/error-handler.js +150 -0
  230. package/dist/errors/error-handler.js.map +1 -0
  231. package/dist/errors/error-types.d.ts +102 -0
  232. package/dist/errors/error-types.d.ts.map +1 -0
  233. package/dist/errors/error-types.js +158 -0
  234. package/dist/errors/error-types.js.map +1 -0
  235. package/dist/errors/exit-codes.d.ts +49 -0
  236. package/dist/errors/exit-codes.d.ts.map +1 -0
  237. package/dist/errors/exit-codes.js +72 -0
  238. package/dist/errors/exit-codes.js.map +1 -0
  239. package/dist/errors/index.d.ts +29 -0
  240. package/dist/errors/index.d.ts.map +1 -0
  241. package/dist/errors/index.js +62 -0
  242. package/dist/errors/index.js.map +1 -0
  243. package/dist/glmt/glmt-transformer.d.ts +29 -248
  244. package/dist/glmt/glmt-transformer.d.ts.map +1 -1
  245. package/dist/glmt/glmt-transformer.js +63 -718
  246. package/dist/glmt/glmt-transformer.js.map +1 -1
  247. package/dist/glmt/index.d.ts +14 -0
  248. package/dist/glmt/index.d.ts.map +1 -0
  249. package/dist/glmt/index.js +41 -0
  250. package/dist/glmt/index.js.map +1 -0
  251. package/dist/glmt/pipeline/content-transformer.d.ts +39 -0
  252. package/dist/glmt/pipeline/content-transformer.d.ts.map +1 -0
  253. package/dist/glmt/pipeline/content-transformer.js +162 -0
  254. package/dist/glmt/pipeline/content-transformer.js.map +1 -0
  255. package/dist/glmt/pipeline/index.d.ts +12 -0
  256. package/dist/glmt/pipeline/index.d.ts.map +1 -0
  257. package/dist/glmt/pipeline/index.js +20 -0
  258. package/dist/glmt/pipeline/index.js.map +1 -0
  259. package/dist/glmt/pipeline/request-transformer.d.ts +31 -0
  260. package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -0
  261. package/dist/glmt/pipeline/request-transformer.js +116 -0
  262. package/dist/glmt/pipeline/request-transformer.js.map +1 -0
  263. package/dist/glmt/pipeline/response-builder.d.ts +52 -0
  264. package/dist/glmt/pipeline/response-builder.d.ts.map +1 -0
  265. package/dist/glmt/pipeline/response-builder.js +205 -0
  266. package/dist/glmt/pipeline/response-builder.js.map +1 -0
  267. package/dist/glmt/pipeline/stream-parser.d.ts +59 -0
  268. package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -0
  269. package/dist/glmt/pipeline/stream-parser.js +241 -0
  270. package/dist/glmt/pipeline/stream-parser.js.map +1 -0
  271. package/dist/glmt/pipeline/tool-call-handler.d.ts +22 -0
  272. package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -0
  273. package/dist/glmt/pipeline/tool-call-handler.js +87 -0
  274. package/dist/glmt/pipeline/tool-call-handler.js.map +1 -0
  275. package/dist/glmt/pipeline/types.d.ts +159 -0
  276. package/dist/glmt/pipeline/types.d.ts.map +1 -0
  277. package/dist/glmt/pipeline/types.js +6 -0
  278. package/dist/glmt/pipeline/types.js.map +1 -0
  279. package/dist/management/checks/cliproxy-check.d.ts +37 -0
  280. package/dist/management/checks/cliproxy-check.d.ts.map +1 -0
  281. package/dist/management/checks/cliproxy-check.js +187 -0
  282. package/dist/management/checks/cliproxy-check.js.map +1 -0
  283. package/dist/management/checks/config-check.d.ts +27 -0
  284. package/dist/management/checks/config-check.d.ts.map +1 -0
  285. package/dist/management/checks/config-check.js +158 -0
  286. package/dist/management/checks/config-check.js.map +1 -0
  287. package/dist/management/checks/env-check.d.ts +17 -0
  288. package/dist/management/checks/env-check.d.ts.map +1 -0
  289. package/dist/management/checks/env-check.js +71 -0
  290. package/dist/management/checks/env-check.js.map +1 -0
  291. package/dist/management/checks/index.d.ts +12 -0
  292. package/dist/management/checks/index.d.ts.map +1 -0
  293. package/dist/management/checks/index.js +48 -0
  294. package/dist/management/checks/index.js.map +1 -0
  295. package/dist/management/checks/oauth-check.d.ts +16 -0
  296. package/dist/management/checks/oauth-check.d.ts.map +1 -0
  297. package/dist/management/checks/oauth-check.js +68 -0
  298. package/dist/management/checks/oauth-check.js.map +1 -0
  299. package/dist/management/checks/profile-check.d.ts +36 -0
  300. package/dist/management/checks/profile-check.d.ts.map +1 -0
  301. package/dist/management/checks/profile-check.js +165 -0
  302. package/dist/management/checks/profile-check.js.map +1 -0
  303. package/dist/management/checks/symlink-check.d.ts +30 -0
  304. package/dist/management/checks/symlink-check.d.ts.map +1 -0
  305. package/dist/management/checks/symlink-check.js +204 -0
  306. package/dist/management/checks/symlink-check.js.map +1 -0
  307. package/dist/management/checks/system-check.d.ts +25 -0
  308. package/dist/management/checks/system-check.d.ts.map +1 -0
  309. package/dist/management/checks/system-check.js +136 -0
  310. package/dist/management/checks/system-check.js.map +1 -0
  311. package/dist/management/checks/types.d.ts +64 -0
  312. package/dist/management/checks/types.d.ts.map +1 -0
  313. package/dist/management/checks/types.js +63 -0
  314. package/dist/management/checks/types.js.map +1 -0
  315. package/dist/management/doctor.d.ts +3 -92
  316. package/dist/management/doctor.d.ts.map +1 -1
  317. package/dist/management/doctor.js +15 -831
  318. package/dist/management/doctor.js.map +1 -1
  319. package/dist/management/index.d.ts +15 -0
  320. package/dist/management/index.d.ts.map +1 -0
  321. package/dist/management/index.js +56 -0
  322. package/dist/management/index.js.map +1 -0
  323. package/dist/management/repair/auto-repair.d.ts +13 -0
  324. package/dist/management/repair/auto-repair.d.ts.map +1 -0
  325. package/dist/management/repair/auto-repair.js +170 -0
  326. package/dist/management/repair/auto-repair.js.map +1 -0
  327. package/dist/management/repair/index.d.ts +5 -0
  328. package/dist/management/repair/index.d.ts.map +1 -0
  329. package/dist/management/repair/index.js +9 -0
  330. package/dist/management/repair/index.js.map +1 -0
  331. package/dist/types/delegation.d.ts +1 -13
  332. package/dist/types/delegation.d.ts.map +1 -1
  333. package/dist/types/utils.d.ts +27 -0
  334. package/dist/types/utils.d.ts.map +1 -1
  335. package/dist/ui/assets/{accounts-p1_nf0Jy.js → accounts--0JKEYYO.js} +1 -1
  336. package/dist/ui/assets/analytics-CX5PurM9.js +1 -0
  337. package/dist/ui/assets/api-D80tfZOx.js +1 -0
  338. package/dist/ui/assets/{card-CCDc-Mx9.js → card-B-DPlvgo.js} +1 -1
  339. package/dist/ui/assets/cliproxy-D4AoDTZB.js +3 -0
  340. package/dist/ui/assets/cliproxy-control-panel-CJ2CfYod.js +1 -0
  341. package/dist/ui/assets/{code-editor-Br9x-r-E.js → code-editor-DIj6qdUG.js} +1 -1
  342. package/dist/ui/assets/confirm-dialog-DZkzZLrs.js +1 -0
  343. package/dist/ui/assets/copilot-Q9tyCgYD.js +4 -0
  344. package/dist/ui/assets/form-utils-DP6ILe7Z.js +20 -0
  345. package/dist/ui/assets/health-Cw76uZRy.js +1 -0
  346. package/dist/ui/assets/{icons-BOsxPbiD.js → icons-ZmwVoUeR.js} +1 -1
  347. package/dist/ui/assets/index-C1W0iP_Z.js +46 -0
  348. package/dist/ui/assets/index-It66SkKf.css +1 -0
  349. package/dist/ui/assets/{radix-ui-DFHQr9A5.js → radix-ui-CV3R9pD6.js} +3 -3
  350. package/dist/ui/assets/settings-CDdHW_gU.js +1 -0
  351. package/dist/ui/assets/{shared-BfYhSN4-.js → shared--pI8rTbP.js} +1 -1
  352. package/dist/ui/assets/{switch-CMk95lwf.js → switch-BP6SzLyZ.js} +1 -1
  353. package/dist/ui/assets/{tanstack-C4gT2P7V.js → tanstack-Df9bCj5R.js} +1 -1
  354. package/dist/ui/index.html +6 -6
  355. package/dist/utils/claude-spawner.d.ts +54 -0
  356. package/dist/utils/claude-spawner.d.ts.map +1 -0
  357. package/dist/utils/claude-spawner.js +118 -0
  358. package/dist/utils/claude-spawner.js.map +1 -0
  359. package/dist/utils/delegation-validator.d.ts +8 -4
  360. package/dist/utils/delegation-validator.d.ts.map +1 -1
  361. package/dist/utils/delegation-validator.js.map +1 -1
  362. package/dist/utils/helpers.d.ts +0 -11
  363. package/dist/utils/helpers.d.ts.map +1 -1
  364. package/dist/utils/helpers.js +1 -57
  365. package/dist/utils/helpers.js.map +1 -1
  366. package/dist/utils/index.d.ts +15 -0
  367. package/dist/utils/index.d.ts.map +1 -0
  368. package/dist/utils/index.js +50 -0
  369. package/dist/utils/index.js.map +1 -0
  370. package/dist/utils/time.d.ts +10 -0
  371. package/dist/utils/time.d.ts.map +1 -0
  372. package/dist/utils/time.js +27 -0
  373. package/dist/utils/time.js.map +1 -0
  374. package/dist/utils/ui/boxes.d.ts +24 -0
  375. package/dist/utils/ui/boxes.d.ts.map +1 -0
  376. package/dist/utils/ui/boxes.js +108 -0
  377. package/dist/utils/ui/boxes.js.map +1 -0
  378. package/dist/utils/ui/colors.d.ts +25 -0
  379. package/dist/utils/ui/colors.d.ts.map +1 -0
  380. package/dist/utils/ui/colors.js +70 -0
  381. package/dist/utils/ui/colors.js.map +1 -0
  382. package/dist/utils/ui/index.d.ts +51 -0
  383. package/dist/utils/ui/index.d.ts.map +1 -0
  384. package/dist/utils/ui/index.js +96 -0
  385. package/dist/utils/ui/index.js.map +1 -0
  386. package/dist/utils/ui/indicators.d.ts +23 -0
  387. package/dist/utils/ui/indicators.d.ts.map +1 -0
  388. package/dist/utils/ui/indicators.js +39 -0
  389. package/dist/utils/ui/indicators.js.map +1 -0
  390. package/dist/utils/ui/init.d.ts +30 -0
  391. package/dist/utils/ui/init.d.ts.map +1 -0
  392. package/dist/utils/ui/init.js +102 -0
  393. package/dist/utils/ui/init.js.map +1 -0
  394. package/dist/utils/ui/spinner.d.ts +13 -0
  395. package/dist/utils/ui/spinner.d.ts.map +1 -0
  396. package/dist/utils/ui/spinner.js +89 -0
  397. package/dist/utils/ui/spinner.js.map +1 -0
  398. package/dist/utils/ui/tables.d.ts +12 -0
  399. package/dist/utils/ui/tables.d.ts.map +1 -0
  400. package/dist/utils/ui/tables.js +69 -0
  401. package/dist/utils/ui/tables.js.map +1 -0
  402. package/dist/utils/ui/tasks.d.ts +26 -0
  403. package/dist/utils/ui/tasks.d.ts.map +1 -0
  404. package/dist/utils/ui/tasks.js +102 -0
  405. package/dist/utils/ui/tasks.js.map +1 -0
  406. package/dist/utils/ui/text.d.ts +24 -0
  407. package/dist/utils/ui/text.d.ts.map +1 -0
  408. package/dist/utils/ui/text.js +60 -0
  409. package/dist/utils/ui/text.js.map +1 -0
  410. package/dist/utils/ui/types.d.ts +36 -0
  411. package/dist/utils/ui/types.d.ts.map +1 -0
  412. package/dist/utils/ui/types.js +33 -0
  413. package/dist/utils/ui/types.js.map +1 -0
  414. package/dist/utils/ui.d.ts +3 -138
  415. package/dist/utils/ui.d.ts.map +1 -1
  416. package/dist/utils/ui.js +40 -567
  417. package/dist/utils/ui.js.map +1 -1
  418. package/dist/utils/websearch/gemini-cli.d.ts +36 -0
  419. package/dist/utils/websearch/gemini-cli.d.ts.map +1 -0
  420. package/dist/utils/websearch/gemini-cli.js +132 -0
  421. package/dist/utils/websearch/gemini-cli.js.map +1 -0
  422. package/dist/utils/websearch/grok-cli.d.ts +26 -0
  423. package/dist/utils/websearch/grok-cli.d.ts.map +1 -0
  424. package/dist/utils/websearch/grok-cli.js +81 -0
  425. package/dist/utils/websearch/grok-cli.js.map +1 -0
  426. package/dist/utils/websearch/hook-config.d.ts +21 -0
  427. package/dist/utils/websearch/hook-config.d.ts.map +1 -0
  428. package/dist/utils/websearch/hook-config.js +183 -0
  429. package/dist/utils/websearch/hook-config.js.map +1 -0
  430. package/dist/utils/websearch/hook-env.d.ts +16 -0
  431. package/dist/utils/websearch/hook-env.d.ts.map +1 -0
  432. package/dist/utils/websearch/hook-env.js +62 -0
  433. package/dist/utils/websearch/hook-env.js.map +1 -0
  434. package/dist/utils/websearch/hook-installer.d.ts +27 -0
  435. package/dist/utils/websearch/hook-installer.d.ts.map +1 -0
  436. package/dist/utils/websearch/hook-installer.js +141 -0
  437. package/dist/utils/websearch/hook-installer.js.map +1 -0
  438. package/dist/utils/websearch/index.d.ts +15 -0
  439. package/dist/utils/websearch/index.d.ts.map +1 -0
  440. package/dist/utils/websearch/index.js +44 -0
  441. package/dist/utils/websearch/index.js.map +1 -0
  442. package/dist/utils/websearch/opencode-cli.d.ts +26 -0
  443. package/dist/utils/websearch/opencode-cli.d.ts.map +1 -0
  444. package/dist/utils/websearch/opencode-cli.js +81 -0
  445. package/dist/utils/websearch/opencode-cli.js.map +1 -0
  446. package/dist/utils/websearch/status.d.ts +35 -0
  447. package/dist/utils/websearch/status.d.ts.map +1 -0
  448. package/dist/utils/websearch/status.js +185 -0
  449. package/dist/utils/websearch/status.js.map +1 -0
  450. package/dist/utils/websearch/types.d.ts +85 -0
  451. package/dist/utils/websearch/types.d.ts.map +1 -0
  452. package/dist/utils/websearch/types.js +10 -0
  453. package/dist/utils/websearch/types.js.map +1 -0
  454. package/dist/utils/websearch-manager.d.ts +7 -186
  455. package/dist/utils/websearch-manager.d.ts.map +1 -1
  456. package/dist/utils/websearch-manager.js +37 -710
  457. package/dist/utils/websearch-manager.js.map +1 -1
  458. package/dist/web-server/data-aggregator.d.ts +3 -51
  459. package/dist/web-server/data-aggregator.d.ts.map +1 -1
  460. package/dist/web-server/data-aggregator.js +18 -386
  461. package/dist/web-server/data-aggregator.js.map +1 -1
  462. package/dist/web-server/health/cliproxy-checks.d.ts +23 -0
  463. package/dist/web-server/health/cliproxy-checks.d.ts.map +1 -0
  464. package/dist/web-server/health/cliproxy-checks.js +145 -0
  465. package/dist/web-server/health/cliproxy-checks.js.map +1 -0
  466. package/dist/web-server/health/config-checks.d.ts +19 -0
  467. package/dist/web-server/health/config-checks.d.ts.map +1 -0
  468. package/dist/web-server/health/config-checks.js +174 -0
  469. package/dist/web-server/health/config-checks.js.map +1 -0
  470. package/dist/web-server/health/environment-checks.d.ts +11 -0
  471. package/dist/web-server/health/environment-checks.d.ts.map +1 -0
  472. package/dist/web-server/health/environment-checks.js +40 -0
  473. package/dist/web-server/health/environment-checks.js.map +1 -0
  474. package/dist/web-server/health/index.d.ts +13 -0
  475. package/dist/web-server/health/index.d.ts.map +1 -0
  476. package/dist/web-server/health/index.js +41 -0
  477. package/dist/web-server/health/index.js.map +1 -0
  478. package/dist/web-server/health/oauth-checks.d.ts +11 -0
  479. package/dist/web-server/health/oauth-checks.d.ts.map +1 -0
  480. package/dist/web-server/health/oauth-checks.js +34 -0
  481. package/dist/web-server/health/oauth-checks.js.map +1 -0
  482. package/dist/web-server/health/profile-checks.d.ts +19 -0
  483. package/dist/web-server/health/profile-checks.d.ts.map +1 -0
  484. package/dist/web-server/health/profile-checks.js +152 -0
  485. package/dist/web-server/health/profile-checks.js.map +1 -0
  486. package/dist/web-server/health/symlink-checks.d.ts +15 -0
  487. package/dist/web-server/health/symlink-checks.d.ts.map +1 -0
  488. package/dist/web-server/health/symlink-checks.js +173 -0
  489. package/dist/web-server/health/symlink-checks.js.map +1 -0
  490. package/dist/web-server/health/system-checks.d.ts +19 -0
  491. package/dist/web-server/health/system-checks.d.ts.map +1 -0
  492. package/dist/web-server/health/system-checks.js +127 -0
  493. package/dist/web-server/health/system-checks.js.map +1 -0
  494. package/dist/web-server/health/types.d.ts +34 -0
  495. package/dist/web-server/health/types.d.ts.map +1 -0
  496. package/dist/web-server/health/types.js +8 -0
  497. package/dist/web-server/health/types.js.map +1 -0
  498. package/dist/web-server/health/websearch-checks.d.ts +11 -0
  499. package/dist/web-server/health/websearch-checks.d.ts.map +1 -0
  500. package/dist/web-server/health/websearch-checks.js +53 -0
  501. package/dist/web-server/health/websearch-checks.js.map +1 -0
  502. package/dist/web-server/health-service.d.ts +4 -30
  503. package/dist/web-server/health-service.d.ts.map +1 -1
  504. package/dist/web-server/health-service.js +28 -695
  505. package/dist/web-server/health-service.js.map +1 -1
  506. package/dist/web-server/index.d.ts.map +1 -1
  507. package/dist/web-server/index.js +2 -5
  508. package/dist/web-server/index.js.map +1 -1
  509. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +6 -0
  510. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -0
  511. package/dist/web-server/routes/cliproxy-auth-routes.js +202 -0
  512. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -0
  513. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +6 -0
  514. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -0
  515. package/dist/web-server/routes/cliproxy-stats-routes.js +253 -0
  516. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -0
  517. package/dist/web-server/routes/config-routes.d.ts +6 -0
  518. package/dist/web-server/routes/config-routes.d.ts.map +1 -0
  519. package/dist/web-server/routes/config-routes.js +145 -0
  520. package/dist/web-server/routes/config-routes.js.map +1 -0
  521. package/dist/web-server/routes/copilot-routes.d.ts +6 -0
  522. package/dist/web-server/routes/copilot-routes.d.ts.map +1 -0
  523. package/dist/web-server/routes/copilot-routes.js +195 -0
  524. package/dist/web-server/routes/copilot-routes.js.map +1 -0
  525. package/dist/web-server/routes/copilot-settings-routes.d.ts +6 -0
  526. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -0
  527. package/dist/web-server/routes/copilot-settings-routes.js +122 -0
  528. package/dist/web-server/routes/copilot-settings-routes.js.map +1 -0
  529. package/dist/web-server/routes/health-routes.d.ts +6 -0
  530. package/dist/web-server/routes/health-routes.d.ts.map +1 -0
  531. package/dist/web-server/routes/health-routes.js +30 -0
  532. package/dist/web-server/routes/health-routes.js.map +1 -0
  533. package/dist/web-server/routes/index.d.ts +8 -0
  534. package/dist/web-server/routes/index.d.ts.map +1 -0
  535. package/dist/web-server/routes/index.js +54 -0
  536. package/dist/web-server/routes/index.js.map +1 -0
  537. package/dist/web-server/routes/misc-routes.d.ts +6 -0
  538. package/dist/web-server/routes/misc-routes.d.ts.map +1 -0
  539. package/dist/web-server/routes/misc-routes.js +219 -0
  540. package/dist/web-server/routes/misc-routes.js.map +1 -0
  541. package/dist/web-server/routes/profile-routes.d.ts +6 -0
  542. package/dist/web-server/routes/profile-routes.d.ts.map +1 -0
  543. package/dist/web-server/routes/profile-routes.js +164 -0
  544. package/dist/web-server/routes/profile-routes.js.map +1 -0
  545. package/dist/web-server/routes/provider-routes.d.ts +6 -0
  546. package/dist/web-server/routes/provider-routes.d.ts.map +1 -0
  547. package/dist/web-server/routes/provider-routes.js +146 -0
  548. package/dist/web-server/routes/provider-routes.js.map +1 -0
  549. package/dist/web-server/routes/route-helpers.d.ts +55 -0
  550. package/dist/web-server/routes/route-helpers.d.ts.map +1 -0
  551. package/dist/web-server/routes/route-helpers.js +201 -0
  552. package/dist/web-server/routes/route-helpers.js.map +1 -0
  553. package/dist/web-server/routes/settings-routes.d.ts +6 -0
  554. package/dist/web-server/routes/settings-routes.d.ts.map +1 -0
  555. package/dist/web-server/routes/settings-routes.js +207 -0
  556. package/dist/web-server/routes/settings-routes.js.map +1 -0
  557. package/dist/web-server/routes/variant-routes.d.ts +6 -0
  558. package/dist/web-server/routes/variant-routes.d.ts.map +1 -0
  559. package/dist/web-server/routes/variant-routes.js +158 -0
  560. package/dist/web-server/routes/variant-routes.js.map +1 -0
  561. package/dist/web-server/routes/websearch-routes.d.ts +6 -0
  562. package/dist/web-server/routes/websearch-routes.d.ts.map +1 -0
  563. package/dist/web-server/routes/websearch-routes.js +130 -0
  564. package/dist/web-server/routes/websearch-routes.js.map +1 -0
  565. package/dist/web-server/services/index.d.ts +7 -0
  566. package/dist/web-server/services/index.d.ts.map +1 -0
  567. package/dist/web-server/services/index.js +21 -0
  568. package/dist/web-server/services/index.js.map +1 -0
  569. package/dist/web-server/services/usage-aggregator.d.ts +7 -0
  570. package/dist/web-server/services/usage-aggregator.d.ts.map +1 -0
  571. package/dist/web-server/services/usage-aggregator.js +23 -0
  572. package/dist/web-server/services/usage-aggregator.js.map +1 -0
  573. package/dist/web-server/usage/aggregator.d.ts +54 -0
  574. package/dist/web-server/usage/aggregator.d.ts.map +1 -0
  575. package/dist/web-server/usage/aggregator.js +470 -0
  576. package/dist/web-server/usage/aggregator.js.map +1 -0
  577. package/dist/web-server/usage/data-aggregator.d.ts +55 -0
  578. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -0
  579. package/dist/web-server/usage/data-aggregator.js +391 -0
  580. package/dist/web-server/usage/data-aggregator.js.map +1 -0
  581. package/dist/web-server/usage/disk-cache.d.ts +46 -0
  582. package/dist/web-server/usage/disk-cache.d.ts.map +1 -0
  583. package/dist/web-server/usage/disk-cache.js +162 -0
  584. package/dist/web-server/usage/disk-cache.js.map +1 -0
  585. package/dist/web-server/usage/handlers.d.ts +50 -0
  586. package/dist/web-server/usage/handlers.d.ts.map +1 -0
  587. package/dist/web-server/usage/handlers.js +524 -0
  588. package/dist/web-server/usage/handlers.js.map +1 -0
  589. package/dist/web-server/usage/index.d.ts +12 -0
  590. package/dist/web-server/usage/index.d.ts.map +1 -0
  591. package/dist/web-server/usage/index.js +54 -0
  592. package/dist/web-server/usage/index.js.map +1 -0
  593. package/dist/web-server/usage/routes.d.ts +11 -0
  594. package/dist/web-server/usage/routes.d.ts.map +1 -0
  595. package/dist/web-server/usage/routes.js +37 -0
  596. package/dist/web-server/usage/routes.js.map +1 -0
  597. package/dist/web-server/usage/types.d.ts +119 -0
  598. package/dist/web-server/usage/types.d.ts.map +1 -0
  599. package/dist/web-server/usage/types.js +9 -0
  600. package/dist/web-server/usage/types.js.map +1 -0
  601. package/dist/web-server/usage-disk-cache.d.ts +3 -42
  602. package/dist/web-server/usage-disk-cache.d.ts.map +1 -1
  603. package/dist/web-server/usage-disk-cache.js +5 -144
  604. package/dist/web-server/usage-disk-cache.js.map +1 -1
  605. package/dist/web-server/usage-routes.d.ts +3 -31
  606. package/dist/web-server/usage-routes.d.ts.map +1 -1
  607. package/dist/web-server/usage-routes.js +8 -1139
  608. package/dist/web-server/usage-routes.js.map +1 -1
  609. package/dist/web-server/usage-types.d.ts +3 -115
  610. package/dist/web-server/usage-types.d.ts.map +1 -1
  611. package/dist/web-server/usage-types.js +17 -3
  612. package/dist/web-server/usage-types.js.map +1 -1
  613. package/package.json +1 -1
  614. package/scripts/dev-release.sh +113 -0
  615. package/dist/ui/assets/analytics-D1k2nYcF.js +0 -1
  616. package/dist/ui/assets/api-D9VVmZ1j.js +0 -1
  617. package/dist/ui/assets/cliproxy-CTt_Nsft.js +0 -1
  618. package/dist/ui/assets/cliproxy-control-panel-DKMAi4_4.js +0 -1
  619. package/dist/ui/assets/copilot-C6F8PT_L.js +0 -4
  620. package/dist/ui/assets/form-utils-BuXDJb0w.js +0 -20
  621. package/dist/ui/assets/health-DiAvJaSn.js +0 -1
  622. package/dist/ui/assets/index-Brq6EBKZ.css +0 -1
  623. package/dist/ui/assets/index-ByU8ZhED.js +0 -48
  624. package/dist/ui/assets/settings-CEomZLGl.js +0 -1
  625. package/dist/web-server/routes.d.ts +0 -7
  626. package/dist/web-server/routes.d.ts.map +0 -1
  627. package/dist/web-server/routes.js +0 -1891
  628. package/dist/web-server/routes.js.map +0 -1
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ /**
3
+ * Symlink and Permission Health Checks
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.runSymlinkChecks = exports.SettingsSymlinksChecker = exports.CcsSymlinksChecker = exports.PermissionsChecker = void 0;
30
+ const fs = __importStar(require("fs"));
31
+ const path = __importStar(require("path"));
32
+ const os = __importStar(require("os"));
33
+ const ui_1 = require("../../utils/ui");
34
+ const types_1 = require("./types");
35
+ const ora = (0, types_1.createSpinner)();
36
+ const homedir = os.homedir();
37
+ const ccsDir = path.join(homedir, '.ccs');
38
+ const claudeDir = path.join(homedir, '.claude');
39
+ /**
40
+ * Check file permissions on ~/.ccs/
41
+ */
42
+ class PermissionsChecker {
43
+ constructor() {
44
+ this.name = 'Permissions';
45
+ }
46
+ run(results) {
47
+ const spinner = ora('Checking permissions').start();
48
+ const testFile = path.join(ccsDir, '.permission-test');
49
+ try {
50
+ fs.writeFileSync(testFile, 'test', 'utf8');
51
+ fs.unlinkSync(testFile);
52
+ spinner.succeed();
53
+ console.log(` ${(0, ui_1.ok)('Permissions'.padEnd(22))} Write access verified`);
54
+ results.addCheck('Permissions', 'success', undefined, undefined, {
55
+ status: 'OK',
56
+ info: 'Write access verified',
57
+ });
58
+ }
59
+ catch (_e) {
60
+ spinner.fail();
61
+ console.log(` ${(0, ui_1.fail)('Permissions'.padEnd(22))} Cannot write to ~/.ccs/`);
62
+ results.addCheck('Permissions', 'error', 'Cannot write to ~/.ccs/', 'Fix: sudo chown -R $USER ~/.ccs ~/.claude && chmod 755 ~/.ccs ~/.claude', { status: 'ERROR', info: 'Cannot write to ~/.ccs/' });
63
+ }
64
+ }
65
+ }
66
+ exports.PermissionsChecker = PermissionsChecker;
67
+ /**
68
+ * Check CCS symlinks to ~/.claude/
69
+ */
70
+ class CcsSymlinksChecker {
71
+ constructor() {
72
+ this.name = 'CCS Symlinks';
73
+ }
74
+ run(results) {
75
+ const spinner = ora('Checking CCS symlinks').start();
76
+ try {
77
+ const { ClaudeSymlinkManager } = require('../../utils/claude-symlink-manager');
78
+ const manager = new ClaudeSymlinkManager();
79
+ const health = manager.checkHealth();
80
+ if (health.healthy) {
81
+ const cnt = manager.ccsItems.length;
82
+ spinner.succeed();
83
+ console.log(` ${(0, ui_1.ok)('CCS Symlinks'.padEnd(22))} ${cnt}/${cnt} items linked`);
84
+ results.addCheck('CCS Symlinks', 'success', 'All CCS items properly symlinked', undefined, {
85
+ status: 'OK',
86
+ info: `${cnt}/${cnt} items synced`,
87
+ });
88
+ }
89
+ else {
90
+ spinner.warn();
91
+ console.log(` ${(0, ui_1.warn)('CCS Symlinks'.padEnd(22))} ${health.issues.length} issues found`);
92
+ results.addCheck('CCS Symlinks', 'warning', health.issues.join(', '), 'Run: ccs sync', {
93
+ status: 'WARN',
94
+ info: `${health.issues.length} issues`,
95
+ });
96
+ }
97
+ }
98
+ catch (e) {
99
+ spinner.warn();
100
+ console.log(` ${(0, ui_1.warn)('CCS Symlinks'.padEnd(22))} Could not check`);
101
+ results.addCheck('CCS Symlinks', 'warning', 'Could not check CCS symlinks: ' + e.message, 'Run: ccs sync', { status: 'WARN', info: 'Could not check' });
102
+ }
103
+ }
104
+ }
105
+ exports.CcsSymlinksChecker = CcsSymlinksChecker;
106
+ /** Helper: Check if symlink points to expected target */
107
+ function isValidSymlink(symlinkPath, expectedTarget) {
108
+ if (!fs.existsSync(symlinkPath))
109
+ return false;
110
+ try {
111
+ const stats = fs.lstatSync(symlinkPath);
112
+ if (!stats.isSymbolicLink())
113
+ return false;
114
+ const target = fs.readlinkSync(symlinkPath);
115
+ const resolved = path.resolve(path.dirname(symlinkPath), target);
116
+ return resolved === expectedTarget;
117
+ }
118
+ catch {
119
+ return false;
120
+ }
121
+ }
122
+ /**
123
+ * Check settings.json symlinks for instances
124
+ */
125
+ class SettingsSymlinksChecker {
126
+ constructor() {
127
+ this.name = 'Settings Symlinks';
128
+ }
129
+ run(results) {
130
+ const spinner = ora('Checking settings.json symlinks').start();
131
+ const label = 'settings.json';
132
+ const sharedSettings = path.join(ccsDir, 'shared', 'settings.json');
133
+ const claudeSettings = path.join(claudeDir, 'settings.json');
134
+ try {
135
+ // Check shared settings symlink
136
+ if (!fs.existsSync(sharedSettings)) {
137
+ spinner.warn();
138
+ console.log(` ${(0, ui_1.warn)(label.padEnd(22))} Not found (shared)`);
139
+ results.addCheck('Settings Symlinks', 'warning', 'Shared settings.json not found', 'Run: ccs sync');
140
+ return;
141
+ }
142
+ const sharedStats = fs.lstatSync(sharedSettings);
143
+ if (!sharedStats.isSymbolicLink()) {
144
+ spinner.warn();
145
+ console.log(` ${(0, ui_1.warn)(label.padEnd(22))} Not a symlink (shared)`);
146
+ results.addCheck('Settings Symlinks', 'warning', 'Shared settings.json is not a symlink', 'Run: ccs sync');
147
+ return;
148
+ }
149
+ if (!isValidSymlink(sharedSettings, claudeSettings)) {
150
+ spinner.warn();
151
+ console.log(` ${(0, ui_1.warn)(label.padEnd(22))} Wrong target (shared)`);
152
+ results.addCheck('Settings Symlinks', 'warning', 'Shared symlink points to wrong target', 'Run: ccs sync');
153
+ return;
154
+ }
155
+ // Check instances
156
+ const instancesDir = path.join(ccsDir, 'instances');
157
+ if (!fs.existsSync(instancesDir)) {
158
+ spinner.succeed();
159
+ console.log(` ${(0, ui_1.ok)(label.padEnd(22))} Shared symlink valid`);
160
+ results.addCheck('Settings Symlinks', 'success', 'Shared symlink valid', undefined, {
161
+ status: 'OK',
162
+ info: 'Shared symlink valid',
163
+ });
164
+ return;
165
+ }
166
+ const instances = fs
167
+ .readdirSync(instancesDir)
168
+ .filter((n) => fs.statSync(path.join(instancesDir, n)).isDirectory());
169
+ const broken = instances.filter((inst) => {
170
+ const instSettings = path.join(instancesDir, inst, 'settings.json');
171
+ return !isValidSymlink(instSettings, sharedSettings);
172
+ }).length;
173
+ if (broken > 0) {
174
+ spinner.warn();
175
+ console.log(` ${(0, ui_1.warn)(label.padEnd(22))} ${broken} broken instance(s)`);
176
+ results.addCheck('Settings Symlinks', 'warning', `${broken} instance(s) have broken symlinks`, 'Run: ccs sync', { status: 'WARN', info: `${broken} broken instance(s)` });
177
+ }
178
+ else {
179
+ spinner.succeed();
180
+ console.log(` ${(0, ui_1.ok)(label.padEnd(22))} ${instances.length} instance(s) valid`);
181
+ results.addCheck('Settings Symlinks', 'success', 'All instance symlinks valid', undefined, {
182
+ status: 'OK',
183
+ info: `${instances.length} instance(s) valid`,
184
+ });
185
+ }
186
+ }
187
+ catch (err) {
188
+ spinner.warn();
189
+ console.log(` ${(0, ui_1.warn)(label.padEnd(22))} Check failed`);
190
+ results.addCheck('Settings Symlinks', 'warning', `Failed to check: ${err.message}`, 'Run: ccs sync', { status: 'WARN', info: 'Check failed' });
191
+ }
192
+ }
193
+ }
194
+ exports.SettingsSymlinksChecker = SettingsSymlinksChecker;
195
+ /**
196
+ * Run all symlink checks
197
+ */
198
+ function runSymlinkChecks(results) {
199
+ new PermissionsChecker().run(results);
200
+ new CcsSymlinksChecker().run(results);
201
+ new SettingsSymlinksChecker().run(results);
202
+ }
203
+ exports.runSymlinkChecks = runSymlinkChecks;
204
+ //# sourceMappingURL=symlink-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symlink-check.js","sourceRoot":"","sources":["../../../src/management/checks/symlink-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * System Health Checks - Claude CLI and CCS Directory
3
+ */
4
+ import { HealthCheck, IHealthChecker } from './types';
5
+ /**
6
+ * Check Claude CLI availability and version
7
+ */
8
+ export declare class ClaudeCliChecker implements IHealthChecker {
9
+ name: string;
10
+ run(results: HealthCheck): Promise<void>;
11
+ }
12
+ /**
13
+ * Check ~/.ccs/ directory exists
14
+ */
15
+ export declare class CcsDirectoryChecker implements IHealthChecker {
16
+ name: string;
17
+ private readonly ccsDir;
18
+ constructor();
19
+ run(results: HealthCheck): void;
20
+ }
21
+ /**
22
+ * Run all system checks
23
+ */
24
+ export declare function runSystemChecks(results: HealthCheck): Promise<void>;
25
+ //# sourceMappingURL=system-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-check.d.ts","sourceRoot":"","sources":["../../../src/management/checks/system-check.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAiB,MAAM,SAAS,CAAC;AAIrE;;GAEG;AACH,qBAAa,gBAAiB,YAAW,cAAc;IACrD,IAAI,SAAgB;IAEd,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAsE/C;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACxD,IAAI,SAAmB;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;;IAMhC,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;CAsBhC;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzE"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /**
3
+ * System Health Checks - Claude CLI and CCS Directory
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.runSystemChecks = exports.CcsDirectoryChecker = exports.ClaudeCliChecker = void 0;
30
+ const fs = __importStar(require("fs"));
31
+ const path = __importStar(require("path"));
32
+ const os = __importStar(require("os"));
33
+ const child_process_1 = require("child_process");
34
+ const claude_detector_1 = require("../../utils/claude-detector");
35
+ const shell_executor_1 = require("../../utils/shell-executor");
36
+ const ui_1 = require("../../utils/ui");
37
+ const types_1 = require("./types");
38
+ const ora = (0, types_1.createSpinner)();
39
+ /**
40
+ * Check Claude CLI availability and version
41
+ */
42
+ class ClaudeCliChecker {
43
+ constructor() {
44
+ this.name = 'Claude CLI';
45
+ }
46
+ async run(results) {
47
+ const spinner = ora('Checking Claude CLI').start();
48
+ const cliInfo = (0, claude_detector_1.getClaudeCliInfo)();
49
+ if (!cliInfo) {
50
+ spinner.fail();
51
+ console.log(` ${(0, ui_1.fail)('Claude CLI'.padEnd(22))} Not found in PATH`);
52
+ results.addCheck('Claude CLI', 'error', 'Claude CLI not found in PATH', 'Install from: https://docs.claude.com/en/docs/claude-code/installation', { status: 'ERROR', info: 'Not installed' });
53
+ return;
54
+ }
55
+ const { path: claudeCli, needsShell } = cliInfo;
56
+ // Try to execute claude --version
57
+ try {
58
+ const result = await new Promise((resolve, reject) => {
59
+ // When shell is needed (Windows .cmd/.bat files), concatenate into string
60
+ // to avoid DEP0190 warning about passing args with shell: true
61
+ const child = needsShell
62
+ ? (0, child_process_1.spawn)([claudeCli, '--version'].map(shell_executor_1.escapeShellArg).join(' '), {
63
+ stdio: 'pipe',
64
+ timeout: 5000,
65
+ shell: true,
66
+ })
67
+ : (0, child_process_1.spawn)(claudeCli, ['--version'], {
68
+ stdio: 'pipe',
69
+ timeout: 5000,
70
+ });
71
+ let output = '';
72
+ child.stdout?.on('data', (data) => (output += data));
73
+ child.stderr?.on('data', (data) => (output += data));
74
+ child.on('close', (code) => {
75
+ if (code === 0)
76
+ resolve(output);
77
+ else
78
+ reject(new Error('Exit code ' + code));
79
+ });
80
+ child.on('error', reject);
81
+ });
82
+ // Extract version from output
83
+ const versionMatch = result.match(/(\d+\.\d+\.\d+)/);
84
+ const version = versionMatch ? versionMatch[1] : 'unknown';
85
+ spinner.succeed();
86
+ console.log(` ${(0, ui_1.ok)('Claude CLI'.padEnd(22))} v${version} (${claudeCli})`);
87
+ results.addCheck('Claude CLI', 'success', `Found: ${claudeCli}`, undefined, {
88
+ status: 'OK',
89
+ info: `v${version} (${claudeCli})`,
90
+ });
91
+ }
92
+ catch (_err) {
93
+ spinner.fail();
94
+ console.log(` ${(0, ui_1.fail)('Claude CLI'.padEnd(22))} Not found or not working`);
95
+ results.addCheck('Claude CLI', 'error', 'Claude CLI not found or not working', 'Install from: https://docs.claude.com/en/docs/claude-code/installation', { status: 'ERROR', info: 'Not installed' });
96
+ }
97
+ }
98
+ }
99
+ exports.ClaudeCliChecker = ClaudeCliChecker;
100
+ /**
101
+ * Check ~/.ccs/ directory exists
102
+ */
103
+ class CcsDirectoryChecker {
104
+ constructor() {
105
+ this.name = 'CCS Directory';
106
+ this.ccsDir = path.join(os.homedir(), '.ccs');
107
+ }
108
+ run(results) {
109
+ const spinner = ora('Checking ~/.ccs/ directory').start();
110
+ if (fs.existsSync(this.ccsDir)) {
111
+ spinner.succeed();
112
+ console.log(` ${(0, ui_1.ok)('CCS Directory'.padEnd(22))} ~/.ccs/`);
113
+ results.addCheck('CCS Directory', 'success', undefined, undefined, {
114
+ status: 'OK',
115
+ info: '~/.ccs/',
116
+ });
117
+ }
118
+ else {
119
+ spinner.fail();
120
+ console.log(` ${(0, ui_1.fail)('CCS Directory'.padEnd(22))} Not found`);
121
+ results.addCheck('CCS Directory', 'error', '~/.ccs/ directory not found', 'Run: npm install -g @kaitranntt/ccs --force', { status: 'ERROR', info: 'Not found' });
122
+ }
123
+ }
124
+ }
125
+ exports.CcsDirectoryChecker = CcsDirectoryChecker;
126
+ /**
127
+ * Run all system checks
128
+ */
129
+ async function runSystemChecks(results) {
130
+ const cliChecker = new ClaudeCliChecker();
131
+ const dirChecker = new CcsDirectoryChecker();
132
+ await cliChecker.run(results);
133
+ dirChecker.run(results);
134
+ }
135
+ exports.runSystemChecks = runSystemChecks;
136
+ //# sourceMappingURL=system-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-check.js","sourceRoot":"","sources":["../../../src/management/checks/system-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Health Check Types and Interfaces
3
+ */
4
+ /**
5
+ * Spinner interface for ora or fallback
6
+ */
7
+ export interface Spinner {
8
+ start(): {
9
+ succeed(msg?: string): void;
10
+ fail(msg?: string): void;
11
+ warn(msg?: string): void;
12
+ info(msg?: string): void;
13
+ text: string;
14
+ };
15
+ }
16
+ /**
17
+ * Details for individual health check
18
+ */
19
+ export interface HealthCheckDetails {
20
+ status: 'OK' | 'ERROR' | 'WARN';
21
+ info: string;
22
+ }
23
+ /**
24
+ * Individual health check item
25
+ */
26
+ export interface HealthCheckItem {
27
+ name: string;
28
+ status: 'success' | 'error' | 'warning';
29
+ message?: string;
30
+ fix?: string;
31
+ }
32
+ /**
33
+ * Health issue (error or warning)
34
+ */
35
+ export interface HealthIssue {
36
+ name: string;
37
+ message: string;
38
+ fix?: string;
39
+ }
40
+ /**
41
+ * Health check results container
42
+ */
43
+ export declare class HealthCheck {
44
+ checks: HealthCheckItem[];
45
+ warnings: HealthIssue[];
46
+ errors: HealthIssue[];
47
+ details: Record<string, HealthCheckDetails>;
48
+ addCheck(name: string, status: 'success' | 'error' | 'warning', message?: string, fix?: string | undefined, details?: HealthCheckDetails | undefined): void;
49
+ hasErrors(): boolean;
50
+ hasWarnings(): boolean;
51
+ isHealthy(): boolean;
52
+ }
53
+ /**
54
+ * Base interface for all health checks
55
+ */
56
+ export interface IHealthChecker {
57
+ name: string;
58
+ run(results: HealthCheck): Promise<void> | void;
59
+ }
60
+ /**
61
+ * Create ora spinner with fallback for environments where ora is unavailable
62
+ */
63
+ export declare function createSpinner(): (text: string) => Spinner;
64
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/management/checks/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,KAAK,IAAI;QACP,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,WAAW;IACf,MAAM,EAAE,eAAe,EAAE,CAAM;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAM;IAC7B,MAAM,EAAE,WAAW,EAAE,CAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM;IAExD,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,EACvC,OAAO,SAAK,EACZ,GAAG,GAAE,MAAM,GAAG,SAAqB,EACnC,OAAO,GAAE,kBAAkB,GAAG,SAAqB,GAClD,IAAI;IAYP,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAkBzD"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * Health Check Types and Interfaces
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createSpinner = exports.HealthCheck = void 0;
7
+ /**
8
+ * Health check results container
9
+ */
10
+ class HealthCheck {
11
+ constructor() {
12
+ this.checks = [];
13
+ this.warnings = [];
14
+ this.errors = [];
15
+ this.details = {};
16
+ }
17
+ addCheck(name, status, message = '', fix = undefined, details = undefined) {
18
+ this.checks.push({ name, status, message, fix });
19
+ if (status === 'error')
20
+ this.errors.push({ name, message, fix });
21
+ if (status === 'warning')
22
+ this.warnings.push({ name, message, fix });
23
+ // Store details for summary table
24
+ if (details) {
25
+ this.details[name] = details;
26
+ }
27
+ }
28
+ hasErrors() {
29
+ return this.errors.length > 0;
30
+ }
31
+ hasWarnings() {
32
+ return this.warnings.length > 0;
33
+ }
34
+ isHealthy() {
35
+ return !this.hasErrors();
36
+ }
37
+ }
38
+ exports.HealthCheck = HealthCheck;
39
+ /**
40
+ * Create ora spinner with fallback for environments where ora is unavailable
41
+ */
42
+ function createSpinner() {
43
+ try {
44
+ const oraModule = require('ora');
45
+ return oraModule.default || oraModule;
46
+ }
47
+ catch (_e) {
48
+ // ora not available, create fallback spinner that uses console.log
49
+ return function (text) {
50
+ return {
51
+ start: () => ({
52
+ succeed: (msg) => console.log(msg || `[OK] ${text}`),
53
+ fail: (msg) => console.log(msg || `[X] ${text}`),
54
+ warn: (msg) => console.log(msg || `[!] ${text}`),
55
+ info: (msg) => console.log(msg || `[i] ${text}`),
56
+ text: '',
57
+ }),
58
+ };
59
+ };
60
+ }
61
+ }
62
+ exports.createSpinner = createSpinner;
63
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/management/checks/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA0CH;;GAEG;AACH,MAAa,WAAW;IAAxB;QACS,WAAM,GAAsB,EAAE,CAAC;QAC/B,aAAQ,GAAkB,EAAE,CAAC;QAC7B,WAAM,GAAkB,EAAE,CAAC;QAC3B,YAAO,GAAuC,EAAE,CAAC;IA+B1D,CAAC;IA7BC,QAAQ,CACN,IAAY,EACZ,MAAuC,EACvC,OAAO,GAAG,EAAE,EACZ,MAA0B,SAAS,EACnC,UAA0C,SAAS;QAEnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEjD,IAAI,MAAM,KAAK,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAErE,kCAAkC;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,SAAS;QACP,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;CACF;AAnCD,kCAmCC;AAUD;;GAEG;AACH,SAAgB,aAAa;IAC3B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC;IACxC,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,mEAAmE;QACnE,OAAO,UAAU,IAAY;YAC3B,OAAO;gBACL,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACZ,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,QAAQ,IAAI,EAAE,CAAC;oBAC7D,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE,CAAC;oBACzD,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE,CAAC;oBACzD,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE,CAAC;oBACzD,IAAI,EAAE,EAAE;iBACT,CAAC;aACH,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AAlBD,sCAkBC"}
@@ -1,41 +1,11 @@
1
1
  /**
2
- * CCS Health Check and Diagnostics
2
+ * CCS Health Check and Diagnostics - Main Orchestrator
3
3
  */
4
- interface HealthCheckDetails {
5
- status: 'OK' | 'ERROR' | 'WARN';
6
- info: string;
7
- }
8
- interface HealthCheckItem {
9
- name: string;
10
- status: 'success' | 'error' | 'warning';
11
- message?: string;
12
- fix?: string;
13
- }
14
- interface HealthIssue {
15
- name: string;
16
- message: string;
17
- fix?: string;
18
- }
4
+ import { HealthCheck } from './checks';
19
5
  /**
20
- * Health check results
21
- */
22
- declare class HealthCheck {
23
- checks: HealthCheckItem[];
24
- warnings: HealthIssue[];
25
- errors: HealthIssue[];
26
- details: Record<string, HealthCheckDetails>;
27
- addCheck(name: string, status: 'success' | 'error' | 'warning', message?: string, fix?: string | undefined, details?: HealthCheckDetails | undefined): void;
28
- hasErrors(): boolean;
29
- hasWarnings(): boolean;
30
- isHealthy(): boolean;
31
- }
32
- /**
33
- * Doctor Class
6
+ * Doctor Class - Orchestrates health checks
34
7
  */
35
8
  declare class Doctor {
36
- private readonly homedir;
37
- private readonly ccsDir;
38
- private readonly claudeDir;
39
9
  private readonly results;
40
10
  private readonly ccsVersion;
41
11
  constructor();
@@ -43,60 +13,6 @@ declare class Doctor {
43
13
  * Run all health checks
44
14
  */
45
15
  runAllChecks(): Promise<HealthCheck>;
46
- /**
47
- * Check 1: Claude CLI availability
48
- */
49
- private checkClaudeCli;
50
- /**
51
- * Check 2: ~/.ccs/ directory
52
- */
53
- private checkCcsDirectory;
54
- /**
55
- * Check 3: Config files
56
- */
57
- private checkConfigFiles;
58
- /**
59
- * Check 4: Claude settings
60
- */
61
- private checkClaudeSettings;
62
- /**
63
- * Check 5: Profile configurations
64
- */
65
- private checkProfiles;
66
- /**
67
- * Check 6: Instance directories (account-based profiles)
68
- */
69
- private checkInstances;
70
- /**
71
- * Check 7: Delegation system
72
- */
73
- private checkDelegation;
74
- /**
75
- * Check 8: File permissions
76
- */
77
- private checkPermissions;
78
- /**
79
- * Check 9: CCS symlinks to ~/.claude/
80
- */
81
- private checkCcsSymlinks;
82
- /**
83
- * Check 10: settings.json symlinks
84
- */
85
- private checkSettingsSymlinks;
86
- /**
87
- * Check 10.1: Environment detection (OAuth readiness)
88
- * Helps diagnose Windows headless false positives
89
- */
90
- private checkEnvironment;
91
- /**
92
- * Check 10.2: OAuth callback ports availability
93
- * Pre-flight check for OAuth authentication
94
- */
95
- private checkOAuthPorts;
96
- /**
97
- * Check 11: CLIProxy health (OAuth profiles: gemini, codex, agy, qwen)
98
- */
99
- private checkCLIProxy;
100
16
  /**
101
17
  * Show health check report
102
18
  */
@@ -107,11 +23,6 @@ declare class Doctor {
107
23
  generateJsonReport(): string;
108
24
  /**
109
25
  * Fix detected issues (--fix flag)
110
- * Fixes:
111
- * 1. Zombie CLIProxy processes blocking ports
112
- * 2. Outdated CLIProxy config files
113
- * 3. Shared symlinks broken by Claude CLI's atomic writes
114
- * 4. OAuth callback ports blocked by CLIProxy
115
26
  */
116
27
  fixIssues(): Promise<void>;
117
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/management/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyDH,UAAU,kBAAkB;IAC1B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,cAAM,WAAW;IACR,MAAM,EAAE,eAAe,EAAE,CAAM;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAM;IAC7B,MAAM,EAAE,WAAW,EAAE,CAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM;IAExD,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,EACvC,OAAO,SAAK,EACZ,GAAG,GAAE,MAAM,GAAG,SAAqB,EACnC,OAAO,GAAE,kBAAkB,GAAG,SAAqB,GAClD,IAAI;IAYP,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,cAAM,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;;IAUpC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAuD1C;;OAEG;YACW,cAAc;IAuE5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4FxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAmDrB;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,eAAe;IA0DvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8CxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmI7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;;OAGG;YACW,eAAe;IAoD7B;;OAEG;YACW,aAAa;IAqI3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAiElB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAiB5B;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA4HhC;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/management/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACL,WAAW,EAQZ,MAAM,UAAU,CAAC;AAGlB;;GAEG;AACH,cAAM,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;;IAOpC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAiD1C;;OAEG;IACH,OAAO,CAAC,UAAU;IAiElB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAiB5B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED,eAAe,MAAM,CAAC"}