@kaitranntt/ccs 6.7.0-dev.5 → 6.7.1-dev.1

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 (623) 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/services/binary-service.d.ts +65 -0
  153. package/dist/cliproxy/services/binary-service.d.ts.map +1 -0
  154. package/dist/cliproxy/services/binary-service.js +140 -0
  155. package/dist/cliproxy/services/binary-service.js.map +1 -0
  156. package/dist/cliproxy/services/index.d.ts +8 -0
  157. package/dist/cliproxy/services/index.d.ts.map +1 -0
  158. package/dist/cliproxy/services/index.js +31 -0
  159. package/dist/cliproxy/services/index.js.map +1 -0
  160. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts +38 -0
  161. package/dist/cliproxy/services/proxy-lifecycle-service.d.ts.map +1 -0
  162. package/dist/cliproxy/services/proxy-lifecycle-service.js +41 -0
  163. package/dist/cliproxy/services/proxy-lifecycle-service.js.map +1 -0
  164. package/dist/cliproxy/services/variant-config-adapter.d.ts +38 -0
  165. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -0
  166. package/dist/cliproxy/services/variant-config-adapter.js +172 -0
  167. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -0
  168. package/dist/cliproxy/services/variant-service.d.ts +37 -0
  169. package/dist/cliproxy/services/variant-service.d.ts.map +1 -0
  170. package/dist/cliproxy/services/variant-service.js +128 -0
  171. package/dist/cliproxy/services/variant-service.js.map +1 -0
  172. package/dist/cliproxy/services/variant-settings.d.ts +32 -0
  173. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -0
  174. package/dist/cliproxy/services/variant-settings.js +128 -0
  175. package/dist/cliproxy/services/variant-settings.js.map +1 -0
  176. package/dist/commands/api-command.d.ts +3 -6
  177. package/dist/commands/api-command.d.ts.map +1 -1
  178. package/dist/commands/api-command.js +84 -445
  179. package/dist/commands/api-command.js.map +1 -1
  180. package/dist/commands/cliproxy-command.d.ts +0 -3
  181. package/dist/commands/cliproxy-command.d.ts.map +1 -1
  182. package/dist/commands/cliproxy-command.js +182 -621
  183. package/dist/commands/cliproxy-command.js.map +1 -1
  184. package/dist/commands/index.d.ts +17 -0
  185. package/dist/commands/index.d.ts.map +1 -0
  186. package/dist/commands/index.js +33 -0
  187. package/dist/commands/index.js.map +1 -0
  188. package/dist/config/unified-config-loader.d.ts +7 -0
  189. package/dist/config/unified-config-loader.d.ts.map +1 -1
  190. package/dist/config/unified-config-loader.js +11 -1
  191. package/dist/config/unified-config-loader.js.map +1 -1
  192. package/dist/delegation/executor/index.d.ts +7 -0
  193. package/dist/delegation/executor/index.d.ts.map +1 -0
  194. package/dist/delegation/executor/index.js +28 -0
  195. package/dist/delegation/executor/index.js.map +1 -0
  196. package/dist/delegation/executor/result-aggregator.d.ts +30 -0
  197. package/dist/delegation/executor/result-aggregator.d.ts.map +1 -0
  198. package/dist/delegation/executor/result-aggregator.js +66 -0
  199. package/dist/delegation/executor/result-aggregator.js.map +1 -0
  200. package/dist/delegation/executor/stream-parser.d.ts +28 -0
  201. package/dist/delegation/executor/stream-parser.d.ts.map +1 -0
  202. package/dist/delegation/executor/stream-parser.js +140 -0
  203. package/dist/delegation/executor/stream-parser.js.map +1 -0
  204. package/dist/delegation/executor/types.d.ts +121 -0
  205. package/dist/delegation/executor/types.d.ts.map +1 -0
  206. package/dist/delegation/executor/types.js +6 -0
  207. package/dist/delegation/executor/types.js.map +1 -0
  208. package/dist/delegation/headless-executor.d.ts +13 -91
  209. package/dist/delegation/headless-executor.d.ts.map +1 -1
  210. package/dist/delegation/headless-executor.js +84 -291
  211. package/dist/delegation/headless-executor.js.map +1 -1
  212. package/dist/delegation/index.d.ts +11 -0
  213. package/dist/delegation/index.d.ts.map +1 -0
  214. package/dist/delegation/index.js +33 -0
  215. package/dist/delegation/index.js.map +1 -0
  216. package/dist/delegation/result-formatter.d.ts +1 -30
  217. package/dist/delegation/result-formatter.d.ts.map +1 -1
  218. package/dist/delegation/result-formatter.js.map +1 -1
  219. package/dist/errors/cleanup-registry.d.ts +64 -0
  220. package/dist/errors/cleanup-registry.d.ts.map +1 -0
  221. package/dist/errors/cleanup-registry.js +141 -0
  222. package/dist/errors/cleanup-registry.js.map +1 -0
  223. package/dist/errors/error-handler.d.ts +45 -0
  224. package/dist/errors/error-handler.d.ts.map +1 -0
  225. package/dist/errors/error-handler.js +150 -0
  226. package/dist/errors/error-handler.js.map +1 -0
  227. package/dist/errors/error-types.d.ts +102 -0
  228. package/dist/errors/error-types.d.ts.map +1 -0
  229. package/dist/errors/error-types.js +158 -0
  230. package/dist/errors/error-types.js.map +1 -0
  231. package/dist/errors/exit-codes.d.ts +49 -0
  232. package/dist/errors/exit-codes.d.ts.map +1 -0
  233. package/dist/errors/exit-codes.js +72 -0
  234. package/dist/errors/exit-codes.js.map +1 -0
  235. package/dist/errors/index.d.ts +29 -0
  236. package/dist/errors/index.d.ts.map +1 -0
  237. package/dist/errors/index.js +62 -0
  238. package/dist/errors/index.js.map +1 -0
  239. package/dist/glmt/glmt-transformer.d.ts +29 -248
  240. package/dist/glmt/glmt-transformer.d.ts.map +1 -1
  241. package/dist/glmt/glmt-transformer.js +63 -718
  242. package/dist/glmt/glmt-transformer.js.map +1 -1
  243. package/dist/glmt/index.d.ts +14 -0
  244. package/dist/glmt/index.d.ts.map +1 -0
  245. package/dist/glmt/index.js +41 -0
  246. package/dist/glmt/index.js.map +1 -0
  247. package/dist/glmt/pipeline/content-transformer.d.ts +39 -0
  248. package/dist/glmt/pipeline/content-transformer.d.ts.map +1 -0
  249. package/dist/glmt/pipeline/content-transformer.js +162 -0
  250. package/dist/glmt/pipeline/content-transformer.js.map +1 -0
  251. package/dist/glmt/pipeline/index.d.ts +12 -0
  252. package/dist/glmt/pipeline/index.d.ts.map +1 -0
  253. package/dist/glmt/pipeline/index.js +20 -0
  254. package/dist/glmt/pipeline/index.js.map +1 -0
  255. package/dist/glmt/pipeline/request-transformer.d.ts +31 -0
  256. package/dist/glmt/pipeline/request-transformer.d.ts.map +1 -0
  257. package/dist/glmt/pipeline/request-transformer.js +116 -0
  258. package/dist/glmt/pipeline/request-transformer.js.map +1 -0
  259. package/dist/glmt/pipeline/response-builder.d.ts +52 -0
  260. package/dist/glmt/pipeline/response-builder.d.ts.map +1 -0
  261. package/dist/glmt/pipeline/response-builder.js +205 -0
  262. package/dist/glmt/pipeline/response-builder.js.map +1 -0
  263. package/dist/glmt/pipeline/stream-parser.d.ts +59 -0
  264. package/dist/glmt/pipeline/stream-parser.d.ts.map +1 -0
  265. package/dist/glmt/pipeline/stream-parser.js +241 -0
  266. package/dist/glmt/pipeline/stream-parser.js.map +1 -0
  267. package/dist/glmt/pipeline/tool-call-handler.d.ts +22 -0
  268. package/dist/glmt/pipeline/tool-call-handler.d.ts.map +1 -0
  269. package/dist/glmt/pipeline/tool-call-handler.js +87 -0
  270. package/dist/glmt/pipeline/tool-call-handler.js.map +1 -0
  271. package/dist/glmt/pipeline/types.d.ts +159 -0
  272. package/dist/glmt/pipeline/types.d.ts.map +1 -0
  273. package/dist/glmt/pipeline/types.js +6 -0
  274. package/dist/glmt/pipeline/types.js.map +1 -0
  275. package/dist/management/checks/cliproxy-check.d.ts +37 -0
  276. package/dist/management/checks/cliproxy-check.d.ts.map +1 -0
  277. package/dist/management/checks/cliproxy-check.js +187 -0
  278. package/dist/management/checks/cliproxy-check.js.map +1 -0
  279. package/dist/management/checks/config-check.d.ts +27 -0
  280. package/dist/management/checks/config-check.d.ts.map +1 -0
  281. package/dist/management/checks/config-check.js +158 -0
  282. package/dist/management/checks/config-check.js.map +1 -0
  283. package/dist/management/checks/env-check.d.ts +17 -0
  284. package/dist/management/checks/env-check.d.ts.map +1 -0
  285. package/dist/management/checks/env-check.js +71 -0
  286. package/dist/management/checks/env-check.js.map +1 -0
  287. package/dist/management/checks/index.d.ts +12 -0
  288. package/dist/management/checks/index.d.ts.map +1 -0
  289. package/dist/management/checks/index.js +48 -0
  290. package/dist/management/checks/index.js.map +1 -0
  291. package/dist/management/checks/oauth-check.d.ts +16 -0
  292. package/dist/management/checks/oauth-check.d.ts.map +1 -0
  293. package/dist/management/checks/oauth-check.js +68 -0
  294. package/dist/management/checks/oauth-check.js.map +1 -0
  295. package/dist/management/checks/profile-check.d.ts +36 -0
  296. package/dist/management/checks/profile-check.d.ts.map +1 -0
  297. package/dist/management/checks/profile-check.js +165 -0
  298. package/dist/management/checks/profile-check.js.map +1 -0
  299. package/dist/management/checks/symlink-check.d.ts +30 -0
  300. package/dist/management/checks/symlink-check.d.ts.map +1 -0
  301. package/dist/management/checks/symlink-check.js +204 -0
  302. package/dist/management/checks/symlink-check.js.map +1 -0
  303. package/dist/management/checks/system-check.d.ts +25 -0
  304. package/dist/management/checks/system-check.d.ts.map +1 -0
  305. package/dist/management/checks/system-check.js +136 -0
  306. package/dist/management/checks/system-check.js.map +1 -0
  307. package/dist/management/checks/types.d.ts +64 -0
  308. package/dist/management/checks/types.d.ts.map +1 -0
  309. package/dist/management/checks/types.js +63 -0
  310. package/dist/management/checks/types.js.map +1 -0
  311. package/dist/management/doctor.d.ts +3 -92
  312. package/dist/management/doctor.d.ts.map +1 -1
  313. package/dist/management/doctor.js +15 -831
  314. package/dist/management/doctor.js.map +1 -1
  315. package/dist/management/index.d.ts +15 -0
  316. package/dist/management/index.d.ts.map +1 -0
  317. package/dist/management/index.js +56 -0
  318. package/dist/management/index.js.map +1 -0
  319. package/dist/management/repair/auto-repair.d.ts +13 -0
  320. package/dist/management/repair/auto-repair.d.ts.map +1 -0
  321. package/dist/management/repair/auto-repair.js +170 -0
  322. package/dist/management/repair/auto-repair.js.map +1 -0
  323. package/dist/management/repair/index.d.ts +5 -0
  324. package/dist/management/repair/index.d.ts.map +1 -0
  325. package/dist/management/repair/index.js +9 -0
  326. package/dist/management/repair/index.js.map +1 -0
  327. package/dist/types/delegation.d.ts +1 -13
  328. package/dist/types/delegation.d.ts.map +1 -1
  329. package/dist/types/utils.d.ts +27 -0
  330. package/dist/types/utils.d.ts.map +1 -1
  331. package/dist/ui/assets/{accounts-p1_nf0Jy.js → accounts-BqDNXZu4.js} +1 -1
  332. package/dist/ui/assets/analytics-DQMyOsqI.js +1 -0
  333. package/dist/ui/assets/api-Bzyq4XP7.js +1 -0
  334. package/dist/ui/assets/{card-CCDc-Mx9.js → card-CIN0KDsX.js} +1 -1
  335. package/dist/ui/assets/cliproxy-5iKdPrEG.js +3 -0
  336. package/dist/ui/assets/cliproxy-control-panel-CJ2CfYod.js +1 -0
  337. package/dist/ui/assets/{code-editor-Br9x-r-E.js → code-editor-CDmNFLQ6.js} +1 -1
  338. package/dist/ui/assets/confirm-dialog-CaiDQikc.js +1 -0
  339. package/dist/ui/assets/copilot-nS6iAyk2.js +4 -0
  340. package/dist/ui/assets/form-utils-DP6ILe7Z.js +20 -0
  341. package/dist/ui/assets/health-DYOQfC7u.js +1 -0
  342. package/dist/ui/assets/{icons-BOsxPbiD.js → icons-ZmwVoUeR.js} +1 -1
  343. package/dist/ui/assets/index-C6Dah-xh.js +46 -0
  344. package/dist/ui/assets/index-It66SkKf.css +1 -0
  345. package/dist/ui/assets/{radix-ui-DFHQr9A5.js → radix-ui-CV3R9pD6.js} +3 -3
  346. package/dist/ui/assets/settings-DABC9b5G.js +1 -0
  347. package/dist/ui/assets/{shared-BfYhSN4-.js → shared-BwU4OKQc.js} +1 -1
  348. package/dist/ui/assets/{switch-CMk95lwf.js → switch-BQ6sBBUv.js} +1 -1
  349. package/dist/ui/assets/{tanstack-C4gT2P7V.js → tanstack-Df9bCj5R.js} +1 -1
  350. package/dist/ui/index.html +6 -6
  351. package/dist/utils/claude-spawner.d.ts +54 -0
  352. package/dist/utils/claude-spawner.d.ts.map +1 -0
  353. package/dist/utils/claude-spawner.js +118 -0
  354. package/dist/utils/claude-spawner.js.map +1 -0
  355. package/dist/utils/delegation-validator.d.ts +8 -4
  356. package/dist/utils/delegation-validator.d.ts.map +1 -1
  357. package/dist/utils/delegation-validator.js.map +1 -1
  358. package/dist/utils/helpers.d.ts +0 -11
  359. package/dist/utils/helpers.d.ts.map +1 -1
  360. package/dist/utils/helpers.js +1 -57
  361. package/dist/utils/helpers.js.map +1 -1
  362. package/dist/utils/index.d.ts +15 -0
  363. package/dist/utils/index.d.ts.map +1 -0
  364. package/dist/utils/index.js +50 -0
  365. package/dist/utils/index.js.map +1 -0
  366. package/dist/utils/time.d.ts +10 -0
  367. package/dist/utils/time.d.ts.map +1 -0
  368. package/dist/utils/time.js +27 -0
  369. package/dist/utils/time.js.map +1 -0
  370. package/dist/utils/ui/boxes.d.ts +24 -0
  371. package/dist/utils/ui/boxes.d.ts.map +1 -0
  372. package/dist/utils/ui/boxes.js +108 -0
  373. package/dist/utils/ui/boxes.js.map +1 -0
  374. package/dist/utils/ui/colors.d.ts +25 -0
  375. package/dist/utils/ui/colors.d.ts.map +1 -0
  376. package/dist/utils/ui/colors.js +70 -0
  377. package/dist/utils/ui/colors.js.map +1 -0
  378. package/dist/utils/ui/index.d.ts +51 -0
  379. package/dist/utils/ui/index.d.ts.map +1 -0
  380. package/dist/utils/ui/index.js +96 -0
  381. package/dist/utils/ui/index.js.map +1 -0
  382. package/dist/utils/ui/indicators.d.ts +23 -0
  383. package/dist/utils/ui/indicators.d.ts.map +1 -0
  384. package/dist/utils/ui/indicators.js +39 -0
  385. package/dist/utils/ui/indicators.js.map +1 -0
  386. package/dist/utils/ui/init.d.ts +30 -0
  387. package/dist/utils/ui/init.d.ts.map +1 -0
  388. package/dist/utils/ui/init.js +102 -0
  389. package/dist/utils/ui/init.js.map +1 -0
  390. package/dist/utils/ui/spinner.d.ts +13 -0
  391. package/dist/utils/ui/spinner.d.ts.map +1 -0
  392. package/dist/utils/ui/spinner.js +89 -0
  393. package/dist/utils/ui/spinner.js.map +1 -0
  394. package/dist/utils/ui/tables.d.ts +12 -0
  395. package/dist/utils/ui/tables.d.ts.map +1 -0
  396. package/dist/utils/ui/tables.js +69 -0
  397. package/dist/utils/ui/tables.js.map +1 -0
  398. package/dist/utils/ui/tasks.d.ts +26 -0
  399. package/dist/utils/ui/tasks.d.ts.map +1 -0
  400. package/dist/utils/ui/tasks.js +102 -0
  401. package/dist/utils/ui/tasks.js.map +1 -0
  402. package/dist/utils/ui/text.d.ts +24 -0
  403. package/dist/utils/ui/text.d.ts.map +1 -0
  404. package/dist/utils/ui/text.js +60 -0
  405. package/dist/utils/ui/text.js.map +1 -0
  406. package/dist/utils/ui/types.d.ts +36 -0
  407. package/dist/utils/ui/types.d.ts.map +1 -0
  408. package/dist/utils/ui/types.js +33 -0
  409. package/dist/utils/ui/types.js.map +1 -0
  410. package/dist/utils/ui.d.ts +3 -138
  411. package/dist/utils/ui.d.ts.map +1 -1
  412. package/dist/utils/ui.js +40 -567
  413. package/dist/utils/ui.js.map +1 -1
  414. package/dist/utils/websearch/gemini-cli.d.ts +36 -0
  415. package/dist/utils/websearch/gemini-cli.d.ts.map +1 -0
  416. package/dist/utils/websearch/gemini-cli.js +132 -0
  417. package/dist/utils/websearch/gemini-cli.js.map +1 -0
  418. package/dist/utils/websearch/grok-cli.d.ts +26 -0
  419. package/dist/utils/websearch/grok-cli.d.ts.map +1 -0
  420. package/dist/utils/websearch/grok-cli.js +81 -0
  421. package/dist/utils/websearch/grok-cli.js.map +1 -0
  422. package/dist/utils/websearch/hook-config.d.ts +21 -0
  423. package/dist/utils/websearch/hook-config.d.ts.map +1 -0
  424. package/dist/utils/websearch/hook-config.js +183 -0
  425. package/dist/utils/websearch/hook-config.js.map +1 -0
  426. package/dist/utils/websearch/hook-env.d.ts +16 -0
  427. package/dist/utils/websearch/hook-env.d.ts.map +1 -0
  428. package/dist/utils/websearch/hook-env.js +62 -0
  429. package/dist/utils/websearch/hook-env.js.map +1 -0
  430. package/dist/utils/websearch/hook-installer.d.ts +27 -0
  431. package/dist/utils/websearch/hook-installer.d.ts.map +1 -0
  432. package/dist/utils/websearch/hook-installer.js +141 -0
  433. package/dist/utils/websearch/hook-installer.js.map +1 -0
  434. package/dist/utils/websearch/index.d.ts +15 -0
  435. package/dist/utils/websearch/index.d.ts.map +1 -0
  436. package/dist/utils/websearch/index.js +44 -0
  437. package/dist/utils/websearch/index.js.map +1 -0
  438. package/dist/utils/websearch/opencode-cli.d.ts +26 -0
  439. package/dist/utils/websearch/opencode-cli.d.ts.map +1 -0
  440. package/dist/utils/websearch/opencode-cli.js +81 -0
  441. package/dist/utils/websearch/opencode-cli.js.map +1 -0
  442. package/dist/utils/websearch/status.d.ts +35 -0
  443. package/dist/utils/websearch/status.d.ts.map +1 -0
  444. package/dist/utils/websearch/status.js +185 -0
  445. package/dist/utils/websearch/status.js.map +1 -0
  446. package/dist/utils/websearch/types.d.ts +85 -0
  447. package/dist/utils/websearch/types.d.ts.map +1 -0
  448. package/dist/utils/websearch/types.js +10 -0
  449. package/dist/utils/websearch/types.js.map +1 -0
  450. package/dist/utils/websearch-manager.d.ts +7 -186
  451. package/dist/utils/websearch-manager.d.ts.map +1 -1
  452. package/dist/utils/websearch-manager.js +37 -710
  453. package/dist/utils/websearch-manager.js.map +1 -1
  454. package/dist/web-server/data-aggregator.d.ts +3 -51
  455. package/dist/web-server/data-aggregator.d.ts.map +1 -1
  456. package/dist/web-server/data-aggregator.js +18 -386
  457. package/dist/web-server/data-aggregator.js.map +1 -1
  458. package/dist/web-server/health/cliproxy-checks.d.ts +23 -0
  459. package/dist/web-server/health/cliproxy-checks.d.ts.map +1 -0
  460. package/dist/web-server/health/cliproxy-checks.js +145 -0
  461. package/dist/web-server/health/cliproxy-checks.js.map +1 -0
  462. package/dist/web-server/health/config-checks.d.ts +19 -0
  463. package/dist/web-server/health/config-checks.d.ts.map +1 -0
  464. package/dist/web-server/health/config-checks.js +174 -0
  465. package/dist/web-server/health/config-checks.js.map +1 -0
  466. package/dist/web-server/health/environment-checks.d.ts +11 -0
  467. package/dist/web-server/health/environment-checks.d.ts.map +1 -0
  468. package/dist/web-server/health/environment-checks.js +40 -0
  469. package/dist/web-server/health/environment-checks.js.map +1 -0
  470. package/dist/web-server/health/index.d.ts +13 -0
  471. package/dist/web-server/health/index.d.ts.map +1 -0
  472. package/dist/web-server/health/index.js +41 -0
  473. package/dist/web-server/health/index.js.map +1 -0
  474. package/dist/web-server/health/oauth-checks.d.ts +11 -0
  475. package/dist/web-server/health/oauth-checks.d.ts.map +1 -0
  476. package/dist/web-server/health/oauth-checks.js +34 -0
  477. package/dist/web-server/health/oauth-checks.js.map +1 -0
  478. package/dist/web-server/health/profile-checks.d.ts +19 -0
  479. package/dist/web-server/health/profile-checks.d.ts.map +1 -0
  480. package/dist/web-server/health/profile-checks.js +152 -0
  481. package/dist/web-server/health/profile-checks.js.map +1 -0
  482. package/dist/web-server/health/symlink-checks.d.ts +15 -0
  483. package/dist/web-server/health/symlink-checks.d.ts.map +1 -0
  484. package/dist/web-server/health/symlink-checks.js +173 -0
  485. package/dist/web-server/health/symlink-checks.js.map +1 -0
  486. package/dist/web-server/health/system-checks.d.ts +19 -0
  487. package/dist/web-server/health/system-checks.d.ts.map +1 -0
  488. package/dist/web-server/health/system-checks.js +127 -0
  489. package/dist/web-server/health/system-checks.js.map +1 -0
  490. package/dist/web-server/health/types.d.ts +34 -0
  491. package/dist/web-server/health/types.d.ts.map +1 -0
  492. package/dist/web-server/health/types.js +8 -0
  493. package/dist/web-server/health/types.js.map +1 -0
  494. package/dist/web-server/health/websearch-checks.d.ts +11 -0
  495. package/dist/web-server/health/websearch-checks.d.ts.map +1 -0
  496. package/dist/web-server/health/websearch-checks.js +53 -0
  497. package/dist/web-server/health/websearch-checks.js.map +1 -0
  498. package/dist/web-server/health-service.d.ts +4 -30
  499. package/dist/web-server/health-service.d.ts.map +1 -1
  500. package/dist/web-server/health-service.js +28 -695
  501. package/dist/web-server/health-service.js.map +1 -1
  502. package/dist/web-server/index.d.ts.map +1 -1
  503. package/dist/web-server/index.js +2 -5
  504. package/dist/web-server/index.js.map +1 -1
  505. package/dist/web-server/routes/cliproxy-auth-routes.d.ts +6 -0
  506. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -0
  507. package/dist/web-server/routes/cliproxy-auth-routes.js +202 -0
  508. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -0
  509. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +6 -0
  510. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -0
  511. package/dist/web-server/routes/cliproxy-stats-routes.js +253 -0
  512. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -0
  513. package/dist/web-server/routes/config-routes.d.ts +6 -0
  514. package/dist/web-server/routes/config-routes.d.ts.map +1 -0
  515. package/dist/web-server/routes/config-routes.js +145 -0
  516. package/dist/web-server/routes/config-routes.js.map +1 -0
  517. package/dist/web-server/routes/copilot-routes.d.ts +6 -0
  518. package/dist/web-server/routes/copilot-routes.d.ts.map +1 -0
  519. package/dist/web-server/routes/copilot-routes.js +195 -0
  520. package/dist/web-server/routes/copilot-routes.js.map +1 -0
  521. package/dist/web-server/routes/copilot-settings-routes.d.ts +6 -0
  522. package/dist/web-server/routes/copilot-settings-routes.d.ts.map +1 -0
  523. package/dist/web-server/routes/copilot-settings-routes.js +122 -0
  524. package/dist/web-server/routes/copilot-settings-routes.js.map +1 -0
  525. package/dist/web-server/routes/health-routes.d.ts +6 -0
  526. package/dist/web-server/routes/health-routes.d.ts.map +1 -0
  527. package/dist/web-server/routes/health-routes.js +30 -0
  528. package/dist/web-server/routes/health-routes.js.map +1 -0
  529. package/dist/web-server/routes/index.d.ts +8 -0
  530. package/dist/web-server/routes/index.d.ts.map +1 -0
  531. package/dist/web-server/routes/index.js +54 -0
  532. package/dist/web-server/routes/index.js.map +1 -0
  533. package/dist/web-server/routes/misc-routes.d.ts +6 -0
  534. package/dist/web-server/routes/misc-routes.d.ts.map +1 -0
  535. package/dist/web-server/routes/misc-routes.js +219 -0
  536. package/dist/web-server/routes/misc-routes.js.map +1 -0
  537. package/dist/web-server/routes/profile-routes.d.ts +6 -0
  538. package/dist/web-server/routes/profile-routes.d.ts.map +1 -0
  539. package/dist/web-server/routes/profile-routes.js +164 -0
  540. package/dist/web-server/routes/profile-routes.js.map +1 -0
  541. package/dist/web-server/routes/provider-routes.d.ts +6 -0
  542. package/dist/web-server/routes/provider-routes.d.ts.map +1 -0
  543. package/dist/web-server/routes/provider-routes.js +146 -0
  544. package/dist/web-server/routes/provider-routes.js.map +1 -0
  545. package/dist/web-server/routes/route-helpers.d.ts +55 -0
  546. package/dist/web-server/routes/route-helpers.d.ts.map +1 -0
  547. package/dist/web-server/routes/route-helpers.js +201 -0
  548. package/dist/web-server/routes/route-helpers.js.map +1 -0
  549. package/dist/web-server/routes/settings-routes.d.ts +6 -0
  550. package/dist/web-server/routes/settings-routes.d.ts.map +1 -0
  551. package/dist/web-server/routes/settings-routes.js +207 -0
  552. package/dist/web-server/routes/settings-routes.js.map +1 -0
  553. package/dist/web-server/routes/variant-routes.d.ts +6 -0
  554. package/dist/web-server/routes/variant-routes.d.ts.map +1 -0
  555. package/dist/web-server/routes/variant-routes.js +158 -0
  556. package/dist/web-server/routes/variant-routes.js.map +1 -0
  557. package/dist/web-server/routes/websearch-routes.d.ts +6 -0
  558. package/dist/web-server/routes/websearch-routes.d.ts.map +1 -0
  559. package/dist/web-server/routes/websearch-routes.js +130 -0
  560. package/dist/web-server/routes/websearch-routes.js.map +1 -0
  561. package/dist/web-server/services/index.d.ts +7 -0
  562. package/dist/web-server/services/index.d.ts.map +1 -0
  563. package/dist/web-server/services/index.js +21 -0
  564. package/dist/web-server/services/index.js.map +1 -0
  565. package/dist/web-server/services/usage-aggregator.d.ts +7 -0
  566. package/dist/web-server/services/usage-aggregator.d.ts.map +1 -0
  567. package/dist/web-server/services/usage-aggregator.js +23 -0
  568. package/dist/web-server/services/usage-aggregator.js.map +1 -0
  569. package/dist/web-server/usage/aggregator.d.ts +54 -0
  570. package/dist/web-server/usage/aggregator.d.ts.map +1 -0
  571. package/dist/web-server/usage/aggregator.js +470 -0
  572. package/dist/web-server/usage/aggregator.js.map +1 -0
  573. package/dist/web-server/usage/data-aggregator.d.ts +55 -0
  574. package/dist/web-server/usage/data-aggregator.d.ts.map +1 -0
  575. package/dist/web-server/usage/data-aggregator.js +391 -0
  576. package/dist/web-server/usage/data-aggregator.js.map +1 -0
  577. package/dist/web-server/usage/disk-cache.d.ts +46 -0
  578. package/dist/web-server/usage/disk-cache.d.ts.map +1 -0
  579. package/dist/web-server/usage/disk-cache.js +162 -0
  580. package/dist/web-server/usage/disk-cache.js.map +1 -0
  581. package/dist/web-server/usage/handlers.d.ts +50 -0
  582. package/dist/web-server/usage/handlers.d.ts.map +1 -0
  583. package/dist/web-server/usage/handlers.js +524 -0
  584. package/dist/web-server/usage/handlers.js.map +1 -0
  585. package/dist/web-server/usage/index.d.ts +12 -0
  586. package/dist/web-server/usage/index.d.ts.map +1 -0
  587. package/dist/web-server/usage/index.js +54 -0
  588. package/dist/web-server/usage/index.js.map +1 -0
  589. package/dist/web-server/usage/routes.d.ts +11 -0
  590. package/dist/web-server/usage/routes.d.ts.map +1 -0
  591. package/dist/web-server/usage/routes.js +37 -0
  592. package/dist/web-server/usage/routes.js.map +1 -0
  593. package/dist/web-server/usage/types.d.ts +119 -0
  594. package/dist/web-server/usage/types.d.ts.map +1 -0
  595. package/dist/web-server/usage/types.js +9 -0
  596. package/dist/web-server/usage/types.js.map +1 -0
  597. package/dist/web-server/usage-disk-cache.d.ts +3 -42
  598. package/dist/web-server/usage-disk-cache.d.ts.map +1 -1
  599. package/dist/web-server/usage-disk-cache.js +5 -144
  600. package/dist/web-server/usage-disk-cache.js.map +1 -1
  601. package/dist/web-server/usage-routes.d.ts +3 -31
  602. package/dist/web-server/usage-routes.d.ts.map +1 -1
  603. package/dist/web-server/usage-routes.js +8 -1139
  604. package/dist/web-server/usage-routes.js.map +1 -1
  605. package/dist/web-server/usage-types.d.ts +3 -115
  606. package/dist/web-server/usage-types.d.ts.map +1 -1
  607. package/dist/web-server/usage-types.js +17 -3
  608. package/dist/web-server/usage-types.js.map +1 -1
  609. package/package.json +1 -1
  610. package/dist/ui/assets/analytics-D1k2nYcF.js +0 -1
  611. package/dist/ui/assets/api-D9VVmZ1j.js +0 -1
  612. package/dist/ui/assets/cliproxy-CTt_Nsft.js +0 -1
  613. package/dist/ui/assets/cliproxy-control-panel-DKMAi4_4.js +0 -1
  614. package/dist/ui/assets/copilot-C6F8PT_L.js +0 -4
  615. package/dist/ui/assets/form-utils-BuXDJb0w.js +0 -20
  616. package/dist/ui/assets/health-DiAvJaSn.js +0 -1
  617. package/dist/ui/assets/index-Brq6EBKZ.css +0 -1
  618. package/dist/ui/assets/index-ByU8ZhED.js +0 -48
  619. package/dist/ui/assets/settings-CEomZLGl.js +0 -1
  620. package/dist/web-server/routes.d.ts +0 -7
  621. package/dist/web-server/routes.d.ts.map +0 -1
  622. package/dist/web-server/routes.js +0 -1891
  623. package/dist/web-server/routes.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * Health Check Service (Phase 06)
3
+ * Health Check Service
4
4
  *
5
- * Runs comprehensive health checks for CCS dashboard matching `ccs doctor` output.
5
+ * Orchestrates comprehensive health checks for CCS dashboard matching `ccs doctor` output.
6
6
  * Groups: System, Environment, Configuration, Profiles & Delegation, System Health, CLIProxy, OAuth Readiness
7
7
  */
8
8
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -36,15 +36,10 @@ exports.fixHealthIssue = exports.runHealthChecks = void 0;
36
36
  const fs = __importStar(require("fs"));
37
37
  const path = __importStar(require("path"));
38
38
  const os = __importStar(require("os"));
39
- const child_process_1 = require("child_process");
40
39
  const config_manager_1 = require("../utils/config-manager");
41
- const cliproxy_1 = require("../cliproxy");
42
- const claude_detector_1 = require("../utils/claude-detector");
43
- const port_utils_1 = require("../utils/port-utils");
44
40
  const package_json_1 = __importDefault(require("../../package.json"));
45
- const environment_diagnostics_1 = require("../management/environment-diagnostics");
46
- const oauth_port_diagnostics_1 = require("../management/oauth-port-diagnostics");
47
- const websearch_manager_1 = require("../utils/websearch-manager");
41
+ // Import all check functions from modular components
42
+ const health_1 = require("./health");
48
43
  /**
49
44
  * Run all health checks and return report
50
45
  */
@@ -56,18 +51,18 @@ async function runHealthChecks() {
56
51
  const groups = [];
57
52
  // Group 1: System
58
53
  const systemChecks = [];
59
- systemChecks.push(await checkClaudeCli());
60
- systemChecks.push(checkCcsDirectory(ccsDir));
54
+ systemChecks.push(await (0, health_1.checkClaudeCli)());
55
+ systemChecks.push((0, health_1.checkCcsDirectory)(ccsDir));
61
56
  groups.push({ id: 'system', name: 'System', icon: 'Monitor', checks: systemChecks });
62
- // Group 2: Environment (OAuth readiness diagnostics)
57
+ // Group 2: Environment
63
58
  const envChecks = [];
64
- envChecks.push(checkEnvironment());
59
+ envChecks.push((0, health_1.checkEnvironment)());
65
60
  groups.push({ id: 'environment', name: 'Environment', icon: 'Laptop', checks: envChecks });
66
61
  // Group 3: Configuration
67
62
  const configChecks = [];
68
- configChecks.push(checkConfigFile());
69
- configChecks.push(...checkSettingsFiles(ccsDir));
70
- configChecks.push(checkClaudeSettings(claudeDir));
63
+ configChecks.push((0, health_1.checkConfigFile)());
64
+ configChecks.push(...(0, health_1.checkSettingsFiles)(ccsDir));
65
+ configChecks.push((0, health_1.checkClaudeSettings)(claudeDir));
71
66
  groups.push({
72
67
  id: 'configuration',
73
68
  name: 'Configuration',
@@ -76,9 +71,9 @@ async function runHealthChecks() {
76
71
  });
77
72
  // Group 4: Profiles & Delegation
78
73
  const profileChecks = [];
79
- profileChecks.push(checkProfiles(ccsDir));
80
- profileChecks.push(checkInstances(ccsDir));
81
- profileChecks.push(checkDelegation(ccsDir));
74
+ profileChecks.push((0, health_1.checkProfiles)(ccsDir));
75
+ profileChecks.push((0, health_1.checkInstances)(ccsDir));
76
+ profileChecks.push((0, health_1.checkDelegation)(ccsDir));
82
77
  groups.push({
83
78
  id: 'profiles',
84
79
  name: 'Profiles & Delegation',
@@ -87,30 +82,20 @@ async function runHealthChecks() {
87
82
  });
88
83
  // Group 5: System Health
89
84
  const healthChecks = [];
90
- healthChecks.push(checkPermissions(ccsDir));
91
- healthChecks.push(checkCcsSymlinks());
92
- healthChecks.push(checkSettingsSymlinks(homedir, ccsDir, claudeDir));
93
- groups.push({
94
- id: 'system-health',
95
- name: 'System Health',
96
- icon: 'Shield',
97
- checks: healthChecks,
98
- });
85
+ healthChecks.push((0, health_1.checkPermissions)(ccsDir));
86
+ healthChecks.push((0, health_1.checkCcsSymlinks)());
87
+ healthChecks.push((0, health_1.checkSettingsSymlinks)(homedir, ccsDir, claudeDir));
88
+ groups.push({ id: 'system-health', name: 'System Health', icon: 'Shield', checks: healthChecks });
99
89
  // Group 6: CLIProxy
100
90
  const cliproxyChecks = [];
101
- cliproxyChecks.push(checkCliproxyBinary());
102
- cliproxyChecks.push(checkCliproxyConfig());
103
- cliproxyChecks.push(...checkOAuthProviders());
104
- cliproxyChecks.push(await checkCliproxyPort());
105
- groups.push({
106
- id: 'cliproxy',
107
- name: 'CLIProxy (OAuth)',
108
- icon: 'Zap',
109
- checks: cliproxyChecks,
110
- });
111
- // Group 7: OAuth Readiness (port availability)
91
+ cliproxyChecks.push((0, health_1.checkCliproxyBinary)());
92
+ cliproxyChecks.push((0, health_1.checkCliproxyConfig)());
93
+ cliproxyChecks.push(...(0, health_1.checkOAuthProviders)());
94
+ cliproxyChecks.push(await (0, health_1.checkCliproxyPort)());
95
+ groups.push({ id: 'cliproxy', name: 'CLIProxy (OAuth)', icon: 'Zap', checks: cliproxyChecks });
96
+ // Group 7: OAuth Readiness
112
97
  const oauthReadinessChecks = [];
113
- oauthReadinessChecks.push(...(await checkOAuthPortsForDashboard()));
98
+ oauthReadinessChecks.push(...(await (0, health_1.checkOAuthPortsForDashboard)()));
114
99
  groups.push({
115
100
  id: 'oauth-readiness',
116
101
  name: 'OAuth Readiness',
@@ -119,13 +104,8 @@ async function runHealthChecks() {
119
104
  });
120
105
  // Group 8: WebSearch CLI Providers
121
106
  const websearchChecks = [];
122
- websearchChecks.push(...checkWebSearchClis());
123
- groups.push({
124
- id: 'websearch',
125
- name: 'WebSearch',
126
- icon: 'Search',
127
- checks: websearchChecks,
128
- });
107
+ websearchChecks.push(...(0, health_1.checkWebSearchClis)());
108
+ groups.push({ id: 'websearch', name: 'WebSearch', icon: 'Search', checks: websearchChecks });
129
109
  // Flatten all checks for backward compatibility
130
110
  const allChecks = groups.flatMap((g) => g.checks);
131
111
  // Calculate summary
@@ -136,656 +116,9 @@ async function runHealthChecks() {
136
116
  errors: allChecks.filter((c) => c.status === 'error').length,
137
117
  info: allChecks.filter((c) => c.status === 'info').length,
138
118
  };
139
- return {
140
- timestamp: Date.now(),
141
- version,
142
- groups,
143
- checks: allChecks,
144
- summary,
145
- };
119
+ return { timestamp: Date.now(), version, groups, checks: allChecks, summary };
146
120
  }
147
121
  exports.runHealthChecks = runHealthChecks;
148
- // Check 1: Claude CLI
149
- async function checkClaudeCli() {
150
- const cliInfo = (0, claude_detector_1.getClaudeCliInfo)();
151
- if (!cliInfo) {
152
- return {
153
- id: 'claude-cli',
154
- name: 'Claude CLI',
155
- status: 'error',
156
- message: 'Not found in PATH',
157
- fix: 'Install: npm install -g @anthropic-ai/claude-code',
158
- };
159
- }
160
- try {
161
- const version = (0, child_process_1.execSync)('claude --version', {
162
- encoding: 'utf8',
163
- timeout: 5000,
164
- stdio: ['pipe', 'pipe', 'pipe'],
165
- }).trim();
166
- const versionMatch = version.match(/(\d+\.\d+\.\d+)/);
167
- const versionStr = versionMatch ? versionMatch[1] : 'unknown';
168
- return {
169
- id: 'claude-cli',
170
- name: 'Claude CLI',
171
- status: 'ok',
172
- message: `v${versionStr}`,
173
- details: cliInfo.path,
174
- };
175
- }
176
- catch {
177
- return {
178
- id: 'claude-cli',
179
- name: 'Claude CLI',
180
- status: 'error',
181
- message: 'Not working',
182
- details: cliInfo.path,
183
- fix: 'Reinstall Claude CLI',
184
- };
185
- }
186
- }
187
- // Check 2: CCS Directory
188
- function checkCcsDirectory(ccsDir) {
189
- if (fs.existsSync(ccsDir)) {
190
- return {
191
- id: 'ccs-dir',
192
- name: 'CCS Directory',
193
- status: 'ok',
194
- message: 'Exists',
195
- details: '~/.ccs/',
196
- };
197
- }
198
- return {
199
- id: 'ccs-dir',
200
- name: 'CCS Directory',
201
- status: 'error',
202
- message: 'Not found',
203
- details: ccsDir,
204
- fix: 'Run: npm install -g @kaitranntt/ccs --force',
205
- fixable: true,
206
- };
207
- }
208
- // Check 3: Config file
209
- function checkConfigFile() {
210
- const configPath = (0, config_manager_1.getConfigPath)();
211
- if (!fs.existsSync(configPath)) {
212
- return {
213
- id: 'config-file',
214
- name: 'config.json',
215
- status: 'warning',
216
- message: 'Not found',
217
- details: configPath,
218
- fixable: true,
219
- };
220
- }
221
- try {
222
- const content = fs.readFileSync(configPath, 'utf8');
223
- JSON.parse(content);
224
- return {
225
- id: 'config-file',
226
- name: 'config.json',
227
- status: 'ok',
228
- message: 'Valid',
229
- details: configPath,
230
- };
231
- }
232
- catch {
233
- return {
234
- id: 'config-file',
235
- name: 'config.json',
236
- status: 'error',
237
- message: 'Invalid JSON',
238
- details: configPath,
239
- };
240
- }
241
- }
242
- // Check 4: Settings files (glm, kimi)
243
- function checkSettingsFiles(ccsDir) {
244
- const checks = [];
245
- const files = [
246
- { name: 'glm.settings.json', profile: 'glm' },
247
- { name: 'kimi.settings.json', profile: 'kimi' },
248
- ];
249
- const { DelegationValidator } = require('../utils/delegation-validator');
250
- for (const file of files) {
251
- const filePath = path.join(ccsDir, file.name);
252
- if (!fs.existsSync(filePath)) {
253
- checks.push({
254
- id: `settings-${file.profile}`,
255
- name: file.name,
256
- status: 'info',
257
- message: 'Not configured',
258
- details: filePath,
259
- });
260
- continue;
261
- }
262
- try {
263
- const content = fs.readFileSync(filePath, 'utf8');
264
- JSON.parse(content);
265
- const validation = DelegationValidator.validate(file.profile);
266
- if (validation.valid) {
267
- checks.push({
268
- id: `settings-${file.profile}`,
269
- name: file.name,
270
- status: 'ok',
271
- message: 'Key configured',
272
- details: filePath,
273
- });
274
- }
275
- else if (validation.error && validation.error.includes('placeholder')) {
276
- checks.push({
277
- id: `settings-${file.profile}`,
278
- name: file.name,
279
- status: 'warning',
280
- message: 'Placeholder key',
281
- details: filePath,
282
- });
283
- }
284
- else {
285
- checks.push({
286
- id: `settings-${file.profile}`,
287
- name: file.name,
288
- status: 'ok',
289
- message: 'Valid JSON',
290
- details: filePath,
291
- });
292
- }
293
- }
294
- catch {
295
- checks.push({
296
- id: `settings-${file.profile}`,
297
- name: file.name,
298
- status: 'error',
299
- message: 'Invalid JSON',
300
- details: filePath,
301
- });
302
- }
303
- }
304
- return checks;
305
- }
306
- // Check 5: Claude settings
307
- function checkClaudeSettings(claudeDir) {
308
- const settingsPath = path.join(claudeDir, 'settings.json');
309
- if (!fs.existsSync(settingsPath)) {
310
- return {
311
- id: 'claude-settings',
312
- name: '~/.claude/settings.json',
313
- status: 'warning',
314
- message: 'Not found',
315
- fix: 'Run: claude /login',
316
- };
317
- }
318
- try {
319
- const content = fs.readFileSync(settingsPath, 'utf8');
320
- JSON.parse(content);
321
- return {
322
- id: 'claude-settings',
323
- name: '~/.claude/settings.json',
324
- status: 'ok',
325
- message: 'Valid',
326
- };
327
- }
328
- catch {
329
- return {
330
- id: 'claude-settings',
331
- name: '~/.claude/settings.json',
332
- status: 'warning',
333
- message: 'Invalid JSON',
334
- fix: 'Run: claude /login',
335
- };
336
- }
337
- }
338
- // Check 6: Profiles
339
- function checkProfiles(ccsDir) {
340
- const configPath = path.join(ccsDir, 'config.json');
341
- if (!fs.existsSync(configPath)) {
342
- return {
343
- id: 'profiles',
344
- name: 'Profiles',
345
- status: 'info',
346
- message: 'config.json not found',
347
- };
348
- }
349
- try {
350
- const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
351
- if (!config.profiles || typeof config.profiles !== 'object') {
352
- return {
353
- id: 'profiles',
354
- name: 'Profiles',
355
- status: 'error',
356
- message: 'Missing profiles object',
357
- fix: 'Run: npm install -g @kaitranntt/ccs --force',
358
- };
359
- }
360
- const profileCount = Object.keys(config.profiles).length;
361
- const profileNames = Object.keys(config.profiles).join(', ');
362
- return {
363
- id: 'profiles',
364
- name: 'Profiles',
365
- status: 'ok',
366
- message: `${profileCount} configured`,
367
- details: profileNames.length > 40 ? profileNames.substring(0, 37) + '...' : profileNames,
368
- };
369
- }
370
- catch (e) {
371
- return {
372
- id: 'profiles',
373
- name: 'Profiles',
374
- status: 'error',
375
- message: e.message,
376
- };
377
- }
378
- }
379
- // Check 7: Instances
380
- function checkInstances(ccsDir) {
381
- const instancesDir = path.join(ccsDir, 'instances');
382
- if (!fs.existsSync(instancesDir)) {
383
- return {
384
- id: 'instances',
385
- name: 'Instances',
386
- status: 'ok',
387
- message: 'No account profiles',
388
- };
389
- }
390
- const instances = fs.readdirSync(instancesDir).filter((name) => {
391
- return fs.statSync(path.join(instancesDir, name)).isDirectory();
392
- });
393
- if (instances.length === 0) {
394
- return {
395
- id: 'instances',
396
- name: 'Instances',
397
- status: 'ok',
398
- message: 'No account profiles',
399
- };
400
- }
401
- return {
402
- id: 'instances',
403
- name: 'Instances',
404
- status: 'ok',
405
- message: `${instances.length} account profile${instances.length !== 1 ? 's' : ''}`,
406
- };
407
- }
408
- // Check 8: Delegation
409
- function checkDelegation(ccsDir) {
410
- const ccsClaudeCommandsDir = path.join(ccsDir, '.claude', 'commands');
411
- const hasCcsCommand = fs.existsSync(path.join(ccsClaudeCommandsDir, 'ccs.md'));
412
- const hasContinueCommand = fs.existsSync(path.join(ccsClaudeCommandsDir, 'ccs', 'continue.md'));
413
- if (!hasCcsCommand || !hasContinueCommand) {
414
- return {
415
- id: 'delegation',
416
- name: 'Delegation',
417
- status: 'warning',
418
- message: 'Not installed',
419
- fix: 'Run: npm install -g @kaitranntt/ccs --force',
420
- };
421
- }
422
- const { DelegationValidator } = require('../utils/delegation-validator');
423
- const readyProfiles = [];
424
- for (const profile of ['glm', 'kimi']) {
425
- const validation = DelegationValidator.validate(profile);
426
- if (validation.valid) {
427
- readyProfiles.push(profile);
428
- }
429
- }
430
- if (readyProfiles.length === 0) {
431
- return {
432
- id: 'delegation',
433
- name: 'Delegation',
434
- status: 'warning',
435
- message: 'No profiles ready',
436
- fix: 'Configure profiles with valid API keys',
437
- };
438
- }
439
- return {
440
- id: 'delegation',
441
- name: 'Delegation',
442
- status: 'ok',
443
- message: `${readyProfiles.length} profiles ready`,
444
- details: readyProfiles.join(', '),
445
- };
446
- }
447
- // Check 9: Permissions
448
- function checkPermissions(ccsDir) {
449
- const testFile = path.join(ccsDir, '.permission-test');
450
- try {
451
- fs.writeFileSync(testFile, 'test', 'utf8');
452
- fs.unlinkSync(testFile);
453
- return {
454
- id: 'permissions',
455
- name: 'Permissions',
456
- status: 'ok',
457
- message: 'Write access verified',
458
- };
459
- }
460
- catch {
461
- return {
462
- id: 'permissions',
463
- name: 'Permissions',
464
- status: 'error',
465
- message: 'Cannot write to ~/.ccs/',
466
- fix: 'sudo chown -R $USER ~/.ccs ~/.claude && chmod 755 ~/.ccs ~/.claude',
467
- };
468
- }
469
- }
470
- // Check 10: CCS Symlinks
471
- function checkCcsSymlinks() {
472
- try {
473
- const { ClaudeSymlinkManager } = require('../utils/claude-symlink-manager');
474
- const manager = new ClaudeSymlinkManager();
475
- const health = manager.checkHealth();
476
- if (health.healthy) {
477
- const itemCount = manager.ccsItems.length;
478
- return {
479
- id: 'ccs-symlinks',
480
- name: 'CCS Symlinks',
481
- status: 'ok',
482
- message: `${itemCount}/${itemCount} items linked`,
483
- };
484
- }
485
- return {
486
- id: 'ccs-symlinks',
487
- name: 'CCS Symlinks',
488
- status: 'warning',
489
- message: `${health.issues.length} issues found`,
490
- fix: 'Run: ccs sync',
491
- };
492
- }
493
- catch (e) {
494
- return {
495
- id: 'ccs-symlinks',
496
- name: 'CCS Symlinks',
497
- status: 'warning',
498
- message: 'Could not check',
499
- details: e.message,
500
- fix: 'Run: ccs sync',
501
- };
502
- }
503
- }
504
- // Check 11: Settings Symlinks
505
- function checkSettingsSymlinks(homedir, ccsDir, claudeDir) {
506
- try {
507
- const sharedDir = path.join(homedir, '.ccs', 'shared');
508
- const sharedSettings = path.join(sharedDir, 'settings.json');
509
- const claudeSettings = path.join(claudeDir, 'settings.json');
510
- if (!fs.existsSync(sharedSettings)) {
511
- return {
512
- id: 'settings-symlinks',
513
- name: 'settings.json',
514
- status: 'warning',
515
- message: 'Shared not found',
516
- fix: 'Run: ccs sync',
517
- };
518
- }
519
- const sharedStats = fs.lstatSync(sharedSettings);
520
- if (!sharedStats.isSymbolicLink()) {
521
- return {
522
- id: 'settings-symlinks',
523
- name: 'settings.json',
524
- status: 'warning',
525
- message: 'Not a symlink',
526
- fix: 'Run: ccs sync',
527
- };
528
- }
529
- const sharedTarget = fs.readlinkSync(sharedSettings);
530
- const resolvedShared = path.resolve(path.dirname(sharedSettings), sharedTarget);
531
- if (resolvedShared !== claudeSettings) {
532
- return {
533
- id: 'settings-symlinks',
534
- name: 'settings.json',
535
- status: 'warning',
536
- message: 'Wrong target',
537
- fix: 'Run: ccs sync',
538
- };
539
- }
540
- // Check instances
541
- const instancesDir = path.join(ccsDir, 'instances');
542
- if (!fs.existsSync(instancesDir)) {
543
- return {
544
- id: 'settings-symlinks',
545
- name: 'settings.json',
546
- status: 'ok',
547
- message: 'Shared symlink valid',
548
- };
549
- }
550
- const instances = fs.readdirSync(instancesDir).filter((name) => {
551
- return fs.statSync(path.join(instancesDir, name)).isDirectory();
552
- });
553
- let broken = 0;
554
- for (const instance of instances) {
555
- const instanceSettings = path.join(instancesDir, instance, 'settings.json');
556
- if (!fs.existsSync(instanceSettings)) {
557
- broken++;
558
- continue;
559
- }
560
- try {
561
- const stats = fs.lstatSync(instanceSettings);
562
- if (!stats.isSymbolicLink()) {
563
- broken++;
564
- continue;
565
- }
566
- const target = fs.readlinkSync(instanceSettings);
567
- const resolved = path.resolve(path.dirname(instanceSettings), target);
568
- if (resolved !== sharedSettings) {
569
- broken++;
570
- }
571
- }
572
- catch {
573
- broken++;
574
- }
575
- }
576
- if (broken > 0) {
577
- return {
578
- id: 'settings-symlinks',
579
- name: 'settings.json',
580
- status: 'warning',
581
- message: `${broken} broken instance(s)`,
582
- fix: 'Run: ccs sync',
583
- };
584
- }
585
- return {
586
- id: 'settings-symlinks',
587
- name: 'settings.json',
588
- status: 'ok',
589
- message: `${instances.length} instance(s) valid`,
590
- };
591
- }
592
- catch (e) {
593
- return {
594
- id: 'settings-symlinks',
595
- name: 'settings.json',
596
- status: 'warning',
597
- message: 'Check failed',
598
- details: e.message,
599
- fix: 'Run: ccs sync',
600
- };
601
- }
602
- }
603
- // Check 12: CLIProxy Binary
604
- function checkCliproxyBinary() {
605
- if ((0, cliproxy_1.isCLIProxyInstalled)()) {
606
- const version = (0, cliproxy_1.getInstalledCliproxyVersion)();
607
- const binaryPath = (0, cliproxy_1.getCLIProxyPath)();
608
- return {
609
- id: 'cliproxy-binary',
610
- name: 'CLIProxy Binary',
611
- status: 'ok',
612
- message: `v${version}`,
613
- details: binaryPath,
614
- };
615
- }
616
- return {
617
- id: 'cliproxy-binary',
618
- name: 'CLIProxy Binary',
619
- status: 'info',
620
- message: 'Not installed',
621
- details: 'Downloads on first use',
622
- };
623
- }
624
- // Check 13: CLIProxy Config
625
- function checkCliproxyConfig() {
626
- const configPath = (0, cliproxy_1.getConfigPath)();
627
- if (fs.existsSync(configPath)) {
628
- return {
629
- id: 'cliproxy-config',
630
- name: 'CLIProxy Config',
631
- status: 'ok',
632
- message: 'cliproxy/config.yaml',
633
- };
634
- }
635
- return {
636
- id: 'cliproxy-config',
637
- name: 'CLIProxy Config',
638
- status: 'info',
639
- message: 'Not created',
640
- details: 'Generated on first use',
641
- };
642
- }
643
- // Check 14: OAuth Providers
644
- function checkOAuthProviders() {
645
- const authStatuses = (0, cliproxy_1.getAllAuthStatus)();
646
- const checks = [];
647
- for (const status of authStatuses) {
648
- const providerName = status.provider.charAt(0).toUpperCase() + status.provider.slice(1);
649
- if (status.authenticated) {
650
- const lastAuth = status.lastAuth ? status.lastAuth.toLocaleDateString() : '';
651
- checks.push({
652
- id: `oauth-${status.provider}`,
653
- name: `${providerName} Auth`,
654
- status: 'ok',
655
- message: 'Authenticated',
656
- details: lastAuth,
657
- });
658
- }
659
- else {
660
- checks.push({
661
- id: `oauth-${status.provider}`,
662
- name: `${providerName} Auth`,
663
- status: 'info',
664
- message: 'Not authenticated',
665
- fix: `Run: ccs ${status.provider} --auth`,
666
- });
667
- }
668
- }
669
- return checks;
670
- }
671
- // Check 15: CLIProxy Port
672
- async function checkCliproxyPort() {
673
- const portProcess = await (0, port_utils_1.getPortProcess)(cliproxy_1.CLIPROXY_DEFAULT_PORT);
674
- if (!portProcess) {
675
- return {
676
- id: 'cliproxy-port',
677
- name: 'CLIProxy Port',
678
- status: 'info',
679
- message: `${cliproxy_1.CLIPROXY_DEFAULT_PORT} free`,
680
- details: 'Proxy not running',
681
- };
682
- }
683
- if ((0, port_utils_1.isCLIProxyProcess)(portProcess)) {
684
- return {
685
- id: 'cliproxy-port',
686
- name: 'CLIProxy Port',
687
- status: 'ok',
688
- message: 'CLIProxy running',
689
- details: `PID ${portProcess.pid}`,
690
- };
691
- }
692
- return {
693
- id: 'cliproxy-port',
694
- name: 'CLIProxy Port',
695
- status: 'warning',
696
- message: `Occupied by ${portProcess.processName}`,
697
- details: `PID ${portProcess.pid}`,
698
- fix: `Kill process: kill ${portProcess.pid}`,
699
- };
700
- }
701
- // Check 16: Environment (platform, SSH, TTY, browser capability)
702
- function checkEnvironment() {
703
- const diag = (0, environment_diagnostics_1.getEnvironmentDiagnostics)();
704
- let status = 'ok';
705
- let message = 'Browser available';
706
- if (diag.detectedHeadless) {
707
- if (diag.platform === 'win32' && diag.ttyStatus === 'undefined') {
708
- status = 'warning';
709
- message = 'Possible headless false positive (Windows)';
710
- }
711
- else if (diag.sshSession) {
712
- status = 'info';
713
- message = 'SSH session (headless mode)';
714
- }
715
- else {
716
- status = 'info';
717
- message = 'Headless environment';
718
- }
719
- }
720
- return {
721
- id: 'environment',
722
- name: 'Environment',
723
- status,
724
- message,
725
- details: `${diag.platformName} | SSH: ${diag.sshSession ? 'Yes' : 'No'} | Browser: ${diag.browserReason}`,
726
- };
727
- }
728
- // Check 17: OAuth Ports (port availability for Gemini, Codex, Agy)
729
- async function checkOAuthPortsForDashboard() {
730
- const portDiagnostics = await (0, oauth_port_diagnostics_1.checkAuthCodePorts)();
731
- return portDiagnostics.map((diag) => {
732
- const providerName = diag.provider.charAt(0).toUpperCase() + diag.provider.slice(1);
733
- const portStr = diag.port ? ` (${diag.port})` : '';
734
- let status = 'ok';
735
- if (diag.status === 'occupied')
736
- status = 'warning';
737
- if (diag.status === 'not_applicable')
738
- status = 'info';
739
- return {
740
- id: `oauth-port-${diag.provider}`,
741
- name: `${providerName}${portStr}`,
742
- status,
743
- message: diag.message,
744
- details: diag.process ? `PID ${diag.process.pid}` : undefined,
745
- fix: diag.recommendation || undefined,
746
- };
747
- });
748
- }
749
- // Check 18: WebSearch CLI Providers (Gemini CLI, Grok CLI)
750
- function checkWebSearchClis() {
751
- const providers = (0, websearch_manager_1.getWebSearchCliProviders)();
752
- const checks = [];
753
- for (const provider of providers) {
754
- if (provider.installed) {
755
- const freeTag = provider.freeTier ? ' (FREE)' : '';
756
- checks.push({
757
- id: `websearch-${provider.id}`,
758
- name: provider.name,
759
- status: 'ok',
760
- message: `v${provider.version || 'unknown'}${freeTag}`,
761
- details: provider.description,
762
- });
763
- }
764
- else {
765
- const keyNote = provider.requiresApiKey ? ` (needs ${provider.apiKeyEnvVar})` : ' (FREE)';
766
- checks.push({
767
- id: `websearch-${provider.id}`,
768
- name: provider.name,
769
- status: 'info',
770
- message: `Not installed${keyNote}`,
771
- fix: provider.installCommand,
772
- details: provider.description,
773
- });
774
- }
775
- }
776
- // Add summary check if no providers installed
777
- if (!(0, websearch_manager_1.hasAnyWebSearchCli)()) {
778
- checks.push({
779
- id: 'websearch-summary',
780
- name: 'WebSearch Status',
781
- status: 'warning',
782
- message: 'No CLI tools installed',
783
- fix: 'npm install -g @google/gemini-cli (FREE)',
784
- details: 'Install a WebSearch CLI for real-time web access',
785
- });
786
- }
787
- return checks;
788
- }
789
122
  /**
790
123
  * Fix a health issue by its check ID
791
124
  */