@kaitranntt/ccs 4.4.0 → 5.0.0

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 (262) hide show
  1. package/README.md +14 -7
  2. package/VERSION +1 -1
  3. package/config/base-agy.settings.json +10 -0
  4. package/config/base-codex.settings.json +10 -0
  5. package/config/base-gemini.settings.json +10 -0
  6. package/dist/auth/auth-commands.d.ts +52 -0
  7. package/dist/auth/auth-commands.d.ts.map +1 -0
  8. package/dist/auth/auth-commands.js +479 -0
  9. package/dist/auth/auth-commands.js.map +1 -0
  10. package/dist/auth/profile-detector.d.ts +68 -0
  11. package/dist/auth/profile-detector.d.ts.map +1 -0
  12. package/dist/auth/profile-detector.js +209 -0
  13. package/dist/auth/profile-detector.js.map +1 -0
  14. package/dist/auth/profile-registry.d.ts +60 -0
  15. package/dist/auth/profile-registry.d.ts.map +1 -0
  16. package/dist/auth/profile-registry.js +188 -0
  17. package/dist/auth/profile-registry.js.map +1 -0
  18. package/dist/ccs.d.ts +10 -0
  19. package/dist/ccs.d.ts.map +1 -0
  20. package/dist/ccs.js +320 -0
  21. package/dist/ccs.js.map +1 -0
  22. package/dist/cliproxy/auth-handler.d.ts +93 -0
  23. package/dist/cliproxy/auth-handler.d.ts.map +1 -0
  24. package/dist/cliproxy/auth-handler.js +402 -0
  25. package/dist/cliproxy/auth-handler.js.map +1 -0
  26. package/dist/cliproxy/base-config-loader.d.ts +42 -0
  27. package/dist/cliproxy/base-config-loader.d.ts.map +1 -0
  28. package/dist/cliproxy/base-config-loader.js +123 -0
  29. package/dist/cliproxy/base-config-loader.js.map +1 -0
  30. package/dist/cliproxy/binary-manager.d.ts +104 -0
  31. package/dist/cliproxy/binary-manager.d.ts.map +1 -0
  32. package/dist/cliproxy/binary-manager.js +567 -0
  33. package/dist/cliproxy/binary-manager.js.map +1 -0
  34. package/dist/cliproxy/cliproxy-executor.d.ts +33 -0
  35. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -0
  36. package/dist/cliproxy/cliproxy-executor.js +297 -0
  37. package/dist/cliproxy/cliproxy-executor.js.map +1 -0
  38. package/dist/cliproxy/config-generator.d.ts +89 -0
  39. package/dist/cliproxy/config-generator.d.ts.map +1 -0
  40. package/dist/cliproxy/config-generator.js +263 -0
  41. package/dist/cliproxy/config-generator.js.map +1 -0
  42. package/dist/cliproxy/index.d.ts +13 -0
  43. package/dist/cliproxy/index.d.ts.map +1 -0
  44. package/dist/cliproxy/index.js +62 -0
  45. package/dist/cliproxy/index.js.map +1 -0
  46. package/dist/cliproxy/platform-detector.d.ts +48 -0
  47. package/dist/cliproxy/platform-detector.d.ts.map +1 -0
  48. package/dist/cliproxy/platform-detector.js +118 -0
  49. package/dist/cliproxy/platform-detector.js.map +1 -0
  50. package/dist/cliproxy/types.d.ts +169 -0
  51. package/dist/cliproxy/types.d.ts.map +1 -0
  52. package/dist/cliproxy/types.js +7 -0
  53. package/dist/cliproxy/types.js.map +1 -0
  54. package/dist/commands/doctor-command.d.ts +10 -0
  55. package/dist/commands/doctor-command.d.ts.map +1 -0
  56. package/dist/commands/doctor-command.js +44 -0
  57. package/dist/commands/doctor-command.js.map +1 -0
  58. package/dist/commands/help-command.d.ts +5 -0
  59. package/dist/commands/help-command.d.ts.map +1 -0
  60. package/dist/commands/help-command.js +104 -0
  61. package/dist/commands/help-command.js.map +1 -0
  62. package/dist/commands/install-command.d.ts +14 -0
  63. package/dist/commands/install-command.d.ts.map +1 -0
  64. package/dist/commands/install-command.js +39 -0
  65. package/dist/commands/install-command.js.map +1 -0
  66. package/dist/commands/shell-completion-command.d.ts +10 -0
  67. package/dist/commands/shell-completion-command.d.ts.map +1 -0
  68. package/dist/commands/shell-completion-command.js +85 -0
  69. package/dist/commands/shell-completion-command.js.map +1 -0
  70. package/dist/commands/sync-command.d.ts +10 -0
  71. package/dist/commands/sync-command.d.ts.map +1 -0
  72. package/dist/commands/sync-command.js +59 -0
  73. package/dist/commands/sync-command.js.map +1 -0
  74. package/dist/commands/update-command.d.ts +12 -0
  75. package/dist/commands/update-command.d.ts.map +1 -0
  76. package/dist/commands/update-command.js +295 -0
  77. package/dist/commands/update-command.js.map +1 -0
  78. package/dist/commands/version-command.d.ts +10 -0
  79. package/dist/commands/version-command.d.ts.map +1 -0
  80. package/dist/commands/version-command.js +100 -0
  81. package/dist/commands/version-command.js.map +1 -0
  82. package/dist/delegation/delegation-handler.d.ts +60 -0
  83. package/dist/delegation/delegation-handler.d.ts.map +1 -0
  84. package/dist/delegation/delegation-handler.js +174 -0
  85. package/dist/delegation/delegation-handler.js.map +1 -0
  86. package/dist/delegation/headless-executor.d.ts +114 -0
  87. package/dist/delegation/headless-executor.d.ts.map +1 -0
  88. package/dist/delegation/headless-executor.js +562 -0
  89. package/dist/delegation/headless-executor.js.map +1 -0
  90. package/dist/delegation/result-formatter.d.ts +108 -0
  91. package/dist/delegation/result-formatter.d.ts.map +1 -0
  92. package/dist/delegation/result-formatter.js +391 -0
  93. package/dist/delegation/result-formatter.js.map +1 -0
  94. package/dist/delegation/session-manager.d.ts +58 -0
  95. package/dist/delegation/session-manager.d.ts.map +1 -0
  96. package/dist/delegation/session-manager.js +153 -0
  97. package/dist/delegation/session-manager.js.map +1 -0
  98. package/dist/delegation/settings-parser.d.ts +31 -0
  99. package/dist/delegation/settings-parser.d.ts.map +1 -0
  100. package/dist/delegation/settings-parser.js +107 -0
  101. package/dist/delegation/settings-parser.js.map +1 -0
  102. package/dist/glmt/delta-accumulator.d.ts +210 -0
  103. package/dist/glmt/delta-accumulator.d.ts.map +1 -0
  104. package/dist/glmt/delta-accumulator.js +351 -0
  105. package/dist/glmt/delta-accumulator.js.map +1 -0
  106. package/dist/glmt/glmt-proxy.d.ts +72 -0
  107. package/dist/glmt/glmt-proxy.d.ts.map +1 -0
  108. package/dist/glmt/glmt-proxy.js +427 -0
  109. package/dist/glmt/glmt-proxy.js.map +1 -0
  110. package/dist/glmt/glmt-transformer.d.ts +265 -0
  111. package/dist/glmt/glmt-transformer.d.ts.map +1 -0
  112. package/dist/glmt/glmt-transformer.js +832 -0
  113. package/dist/glmt/glmt-transformer.js.map +1 -0
  114. package/dist/glmt/locale-enforcer.d.ts +38 -0
  115. package/dist/glmt/locale-enforcer.d.ts.map +1 -0
  116. package/dist/glmt/locale-enforcer.js +69 -0
  117. package/dist/glmt/locale-enforcer.js.map +1 -0
  118. package/dist/glmt/reasoning-enforcer.d.ts +52 -0
  119. package/dist/glmt/reasoning-enforcer.d.ts.map +1 -0
  120. package/dist/glmt/reasoning-enforcer.js +151 -0
  121. package/dist/glmt/reasoning-enforcer.js.map +1 -0
  122. package/dist/glmt/sse-parser.d.ts +47 -0
  123. package/dist/glmt/sse-parser.d.ts.map +1 -0
  124. package/dist/glmt/sse-parser.js +93 -0
  125. package/dist/glmt/sse-parser.js.map +1 -0
  126. package/dist/management/doctor.d.ts +104 -0
  127. package/dist/management/doctor.d.ts.map +1 -0
  128. package/dist/management/doctor.js +673 -0
  129. package/dist/management/doctor.js.map +1 -0
  130. package/dist/management/instance-manager.d.ts +57 -0
  131. package/dist/management/instance-manager.d.ts.map +1 -0
  132. package/dist/management/instance-manager.js +195 -0
  133. package/dist/management/instance-manager.js.map +1 -0
  134. package/dist/management/recovery-manager.d.ts +39 -0
  135. package/dist/management/recovery-manager.d.ts.map +1 -0
  136. package/dist/management/recovery-manager.js +141 -0
  137. package/dist/management/recovery-manager.js.map +1 -0
  138. package/dist/management/shared-manager.d.ts +47 -0
  139. package/dist/management/shared-manager.d.ts.map +1 -0
  140. package/dist/management/shared-manager.js +388 -0
  141. package/dist/management/shared-manager.js.map +1 -0
  142. package/dist/types/cli.d.ts +50 -0
  143. package/dist/types/cli.d.ts.map +1 -0
  144. package/dist/types/cli.js +16 -0
  145. package/dist/types/cli.js.map +1 -0
  146. package/dist/types/config.d.ts +51 -0
  147. package/dist/types/config.d.ts.map +1 -0
  148. package/dist/types/config.js +26 -0
  149. package/dist/types/config.js.map +1 -0
  150. package/dist/types/delegation.d.ts +61 -0
  151. package/dist/types/delegation.d.ts.map +1 -0
  152. package/dist/types/delegation.js +6 -0
  153. package/dist/types/delegation.js.map +1 -0
  154. package/dist/types/glmt.d.ts +95 -0
  155. package/dist/types/glmt.d.ts.map +1 -0
  156. package/dist/types/glmt.js +7 -0
  157. package/dist/types/glmt.js.map +1 -0
  158. package/dist/types/index.d.ts +13 -0
  159. package/dist/types/index.d.ts.map +1 -0
  160. package/dist/types/index.js +16 -0
  161. package/dist/types/index.js.map +1 -0
  162. package/dist/types/utils.d.ts +36 -0
  163. package/dist/types/utils.d.ts.map +1 -0
  164. package/dist/types/utils.js +22 -0
  165. package/dist/types/utils.js.map +1 -0
  166. package/dist/utils/claude-detector.d.ts +14 -0
  167. package/dist/utils/claude-detector.d.ts.map +1 -0
  168. package/dist/utils/claude-detector.js +112 -0
  169. package/dist/utils/claude-detector.js.map +1 -0
  170. package/dist/utils/claude-dir-installer.d.ts +46 -0
  171. package/dist/utils/claude-dir-installer.d.ts.map +1 -0
  172. package/dist/utils/claude-dir-installer.js +289 -0
  173. package/dist/utils/claude-dir-installer.js.map +1 -0
  174. package/dist/utils/claude-symlink-manager.d.ts +61 -0
  175. package/dist/utils/claude-symlink-manager.d.ts.map +1 -0
  176. package/dist/utils/claude-symlink-manager.js +291 -0
  177. package/dist/utils/claude-symlink-manager.js.map +1 -0
  178. package/dist/utils/config-manager.d.ts +32 -0
  179. package/dist/utils/config-manager.d.ts.map +1 -0
  180. package/dist/utils/config-manager.js +143 -0
  181. package/dist/utils/config-manager.js.map +1 -0
  182. package/dist/utils/delegation-validator.d.ts +39 -0
  183. package/dist/utils/delegation-validator.d.ts.map +1 -0
  184. package/dist/utils/delegation-validator.js +161 -0
  185. package/dist/utils/delegation-validator.js.map +1 -0
  186. package/dist/utils/error-codes.d.ts +36 -0
  187. package/dist/utils/error-codes.d.ts.map +1 -0
  188. package/dist/utils/error-codes.js +63 -0
  189. package/dist/utils/error-codes.js.map +1 -0
  190. package/dist/utils/error-manager.d.ts +59 -0
  191. package/dist/utils/error-manager.d.ts.map +1 -0
  192. package/dist/utils/error-manager.js +228 -0
  193. package/dist/utils/error-manager.js.map +1 -0
  194. package/dist/utils/helpers.d.ts +27 -0
  195. package/dist/utils/helpers.d.ts.map +1 -0
  196. package/dist/utils/helpers.js +150 -0
  197. package/dist/utils/helpers.js.map +1 -0
  198. package/dist/utils/package-manager-detector.d.ts +14 -0
  199. package/dist/utils/package-manager-detector.d.ts.map +1 -0
  200. package/dist/utils/package-manager-detector.js +162 -0
  201. package/dist/utils/package-manager-detector.js.map +1 -0
  202. package/dist/utils/progress-indicator.d.ts +52 -0
  203. package/dist/utils/progress-indicator.d.ts.map +1 -0
  204. package/dist/utils/progress-indicator.js +102 -0
  205. package/dist/utils/progress-indicator.js.map +1 -0
  206. package/dist/utils/prompt.d.ts +29 -0
  207. package/dist/utils/prompt.d.ts.map +1 -0
  208. package/dist/utils/prompt.js +116 -0
  209. package/dist/utils/prompt.js.map +1 -0
  210. package/dist/utils/shell-completion.d.ts +52 -0
  211. package/dist/utils/shell-completion.d.ts.map +1 -0
  212. package/dist/utils/shell-completion.js +231 -0
  213. package/dist/utils/shell-completion.js.map +1 -0
  214. package/dist/utils/shell-executor.d.ts +15 -0
  215. package/dist/utils/shell-executor.d.ts.map +1 -0
  216. package/dist/utils/shell-executor.js +57 -0
  217. package/dist/utils/shell-executor.js.map +1 -0
  218. package/dist/utils/update-checker.d.ts +48 -0
  219. package/dist/utils/update-checker.d.ts.map +1 -0
  220. package/dist/utils/update-checker.js +241 -0
  221. package/dist/utils/update-checker.js.map +1 -0
  222. package/lib/ccs +21 -1907
  223. package/lib/ccs.ps1 +26 -1800
  224. package/lib/error-codes.ps1 +2 -1
  225. package/lib/prompt.ps1 +2 -2
  226. package/package.json +31 -11
  227. package/scripts/add-shebang.js +39 -0
  228. package/scripts/bump-version.sh +25 -37
  229. package/scripts/dev-install.sh +32 -11
  230. package/scripts/postinstall.js +29 -29
  231. package/bin/auth/auth-commands.js +0 -499
  232. package/bin/auth/profile-detector.js +0 -204
  233. package/bin/auth/profile-registry.js +0 -225
  234. package/bin/ccs.js +0 -1034
  235. package/bin/delegation/README.md +0 -191
  236. package/bin/delegation/delegation-handler.js +0 -212
  237. package/bin/delegation/headless-executor.js +0 -618
  238. package/bin/delegation/result-formatter.js +0 -485
  239. package/bin/delegation/session-manager.js +0 -157
  240. package/bin/delegation/settings-parser.js +0 -109
  241. package/bin/glmt/delta-accumulator.js +0 -276
  242. package/bin/glmt/glmt-proxy.js +0 -495
  243. package/bin/glmt/glmt-transformer.js +0 -999
  244. package/bin/glmt/locale-enforcer.js +0 -72
  245. package/bin/glmt/reasoning-enforcer.js +0 -173
  246. package/bin/glmt/sse-parser.js +0 -96
  247. package/bin/management/doctor.js +0 -721
  248. package/bin/management/instance-manager.js +0 -202
  249. package/bin/management/recovery-manager.js +0 -135
  250. package/bin/management/shared-manager.js +0 -402
  251. package/bin/utils/claude-detector.js +0 -73
  252. package/bin/utils/claude-dir-installer.js +0 -283
  253. package/bin/utils/claude-symlink-manager.js +0 -289
  254. package/bin/utils/config-manager.js +0 -103
  255. package/bin/utils/delegation-validator.js +0 -154
  256. package/bin/utils/error-codes.js +0 -59
  257. package/bin/utils/error-manager.js +0 -165
  258. package/bin/utils/helpers.js +0 -136
  259. package/bin/utils/progress-indicator.js +0 -111
  260. package/bin/utils/prompt.js +0 -134
  261. package/bin/utils/shell-completion.js +0 -256
  262. package/bin/utils/update-checker.js +0 -243
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-symlink-manager.js","sourceRoot":"","sources":["../../src/utils/claude-symlink-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,uCAAoC;AAepC,4EAA4E;AAC5E,IAAI,GAAG,GAA2C,IAAI,CAAC;AACvD,IAAI,CAAC;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,GAAG,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC;AACvC,CAAC;AAAC,MAAM,CAAC;IACP,mEAAmE;IACnE,GAAG,GAAG,UAAU,IAAY;QAC1B,OAAO;YACL,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBACZ,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,QAAQ,IAAI,EAAE,CAAC;gBAC7D,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE,CAAC;gBACzD,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE,CAAC;gBACzD,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE,CAAC;gBACzD,IAAI,EAAE,EAAE;aACT,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAaD;;GAEG;AACH,MAAa,oBAAoB;IAM/B;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAExD,+CAA+C;QAC/C,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;YACtE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE;YACrE,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,WAAW,EAAE;SACxF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,MAAM,GAAG,KAAK;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,KAAK,EAAE,CAAC;QAE1F,iEAAiE;QACjE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,iEAAiE,CAAC;YAC9E,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,GAAG,+BAA+B,CAAC;YAC9D,CAAC;YACD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,wBAAwB;QACxB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,GAAG,cAAc,IAAI,CAAC,MAAM,KAAK,CAAC;YAChD,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,MAAM;gBAAE,SAAS,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,gCAAgC,CAAC;QACjF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,CAAC,IAAA,iBAAO,EAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAa,EAAE,MAAM,GAAG,KAAK;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3C,uBAAuB;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,iCAAiC;QACjC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,CAAC,qCAAqC;YACpD,CAAC;YAED,iCAAiC;YACjC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/D,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,8DAA8D;YAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,MAAM,sCAAsC,CAAC,CAAC;oBACzF,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,GAAY,CAAC;gBAC3B,IAAI,CAAC,MAAM;oBAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,UAAkB,EAAE,cAAsB;QAC7D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAEvC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;YAE5E,OAAO,cAAc,KAAK,cAAc,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,QAAgB,EAAE,MAAM,GAAG,KAAK;QACjD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,GAAG,QAAQ,WAAW,SAAS,EAAE,CAAC;QAErD,IAAI,CAAC;YACH,wCAAwC;YACxC,IAAI,eAAe,GAAG,UAAU,CAAC;YACjC,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtC,eAAe,GAAG,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC;gBAC7C,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,MAAM,GAAG,CAAC,CAAC,gCAAgC;QAC7C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE7D,kCAAkC;YAClC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC3E,IAAI,CAAC;oBACH,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3C,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,GAAY,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,iDAAiD,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,kCAAkC;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC7B,CAAC;QAED,kBAAkB;QAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE9D,sBAAsB;YACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9C,OAAO,GAAG,KAAK,CAAC;gBAChB,SAAS;YACX,CAAC;YAED,eAAe;YACf,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,8BAA8B,CAAC,CAAC;gBACzE,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,MAAM,0BAA0B,CAAC,CAAC;gBACzE,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAA,iBAAO,EAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;CACF;AAhPD,oDAgPC;AAED,kBAAe,oBAAoB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { Config, Settings } from '../types';
2
+ /**
3
+ * Get the CCS home directory (respects CCS_HOME env var for test isolation)
4
+ * @returns Home directory path
5
+ */
6
+ export declare function getCcsHome(): string;
7
+ /**
8
+ * Get the CCS directory path (~/.ccs)
9
+ * @returns Path to .ccs directory
10
+ */
11
+ export declare function getCcsDir(): string;
12
+ /**
13
+ * Get config file path
14
+ */
15
+ export declare function getConfigPath(): string;
16
+ /**
17
+ * Load and validate config.json
18
+ */
19
+ export declare function loadConfig(): Config;
20
+ /**
21
+ * Load and validate settings.json
22
+ */
23
+ export declare function loadSettings(settingsPath: string): Settings;
24
+ /**
25
+ * Read and parse config (legacy compatibility)
26
+ */
27
+ export declare function readConfig(): Config;
28
+ /**
29
+ * Get settings path for profile
30
+ */
31
+ export declare function getSettingsPath(profile: string): string;
32
+ //# sourceMappingURL=config-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/utils/config-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAY,QAAQ,EAAc,MAAM,UAAU,CAAC;AAQlE;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAmBnC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAa3D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA0CvD"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.getSettingsPath = exports.readConfig = exports.loadSettings = exports.loadConfig = exports.getConfigPath = exports.getCcsDir = exports.getCcsHome = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const path = __importStar(require("path"));
29
+ const os = __importStar(require("os"));
30
+ const types_1 = require("../types");
31
+ const helpers_1 = require("./helpers");
32
+ const helpers_2 = require("./helpers");
33
+ // TODO: Replace with proper imports after converting these files
34
+ // const { ErrorManager } = require('./error-manager');
35
+ // const RecoveryManager = require('./recovery-manager');
36
+ /**
37
+ * Get the CCS home directory (respects CCS_HOME env var for test isolation)
38
+ * @returns Home directory path
39
+ */
40
+ function getCcsHome() {
41
+ return process.env.CCS_HOME || os.homedir();
42
+ }
43
+ exports.getCcsHome = getCcsHome;
44
+ /**
45
+ * Get the CCS directory path (~/.ccs)
46
+ * @returns Path to .ccs directory
47
+ */
48
+ function getCcsDir() {
49
+ return path.join(getCcsHome(), '.ccs');
50
+ }
51
+ exports.getCcsDir = getCcsDir;
52
+ /**
53
+ * Get config file path
54
+ */
55
+ function getConfigPath() {
56
+ return process.env.CCS_CONFIG || path.join(getCcsHome(), '.ccs', 'config.json');
57
+ }
58
+ exports.getConfigPath = getConfigPath;
59
+ /**
60
+ * Load and validate config.json
61
+ */
62
+ function loadConfig() {
63
+ const configPath = getConfigPath();
64
+ if (!fs.existsSync(configPath)) {
65
+ // TODO: Add recovery manager logic
66
+ // const recovery = new RecoveryManager();
67
+ // recovery.ensureConfigJson();
68
+ (0, helpers_2.error)(`Config not found: ${configPath}`);
69
+ }
70
+ const raw = fs.readFileSync(configPath, 'utf8');
71
+ const parsed = JSON.parse(raw);
72
+ if (!(0, types_1.isConfig)(parsed)) {
73
+ (0, helpers_2.error)(`Invalid config format: ${configPath}`);
74
+ }
75
+ return parsed;
76
+ }
77
+ exports.loadConfig = loadConfig;
78
+ /**
79
+ * Load and validate settings.json
80
+ */
81
+ function loadSettings(settingsPath) {
82
+ if (!fs.existsSync(settingsPath)) {
83
+ (0, helpers_2.error)(`Settings not found: ${settingsPath}`);
84
+ }
85
+ const raw = fs.readFileSync(settingsPath, 'utf8');
86
+ const parsed = JSON.parse(raw);
87
+ if (!(0, types_1.isSettings)(parsed)) {
88
+ (0, helpers_2.error)(`Invalid settings format: ${settingsPath}`);
89
+ }
90
+ return parsed;
91
+ }
92
+ exports.loadSettings = loadSettings;
93
+ /**
94
+ * Read and parse config (legacy compatibility)
95
+ */
96
+ function readConfig() {
97
+ return loadConfig();
98
+ }
99
+ exports.readConfig = readConfig;
100
+ /**
101
+ * Get settings path for profile
102
+ */
103
+ function getSettingsPath(profile) {
104
+ const config = readConfig();
105
+ // Get settings path
106
+ const settingsPath = config.profiles[profile];
107
+ if (!settingsPath) {
108
+ const availableProfiles = Object.keys(config.profiles);
109
+ const profileList = availableProfiles.map((p) => ` - ${p}`);
110
+ (0, helpers_2.error)(`Profile '${profile}' not found. Available profiles:\n${profileList.join('\n')}`);
111
+ }
112
+ // Expand path
113
+ const expandedPath = (0, helpers_1.expandPath)(settingsPath);
114
+ // Validate settings file exists
115
+ if (!fs.existsSync(expandedPath)) {
116
+ // Auto-create if it's ~/.claude/settings.json
117
+ if (expandedPath.includes('.claude') && expandedPath.endsWith('settings.json')) {
118
+ // TODO: Add recovery manager logic
119
+ // const recovery = new RecoveryManager();
120
+ // recovery.ensureClaudeSettings();
121
+ console.log('[i] Auto-created missing settings file');
122
+ }
123
+ else {
124
+ (0, helpers_2.error)(`Settings file not found: ${expandedPath}`);
125
+ }
126
+ }
127
+ // Validate settings file is valid JSON
128
+ try {
129
+ const settingsContent = fs.readFileSync(expandedPath, 'utf8');
130
+ JSON.parse(settingsContent);
131
+ }
132
+ catch (e) {
133
+ if (e instanceof Error) {
134
+ (0, helpers_2.error)(`Invalid JSON in settings file: ${expandedPath} - ${e.message}`);
135
+ }
136
+ else {
137
+ (0, helpers_2.error)(`Invalid JSON in settings file: ${expandedPath}`);
138
+ }
139
+ }
140
+ return expandedPath;
141
+ }
142
+ exports.getSettingsPath = getSettingsPath;
143
+ //# sourceMappingURL=config-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/utils/config-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env node
2
+ interface ValidationResult {
3
+ valid: boolean;
4
+ error?: string;
5
+ suggestion?: string;
6
+ settingsPath?: string;
7
+ apiKey?: string;
8
+ }
9
+ /**
10
+ * Validates delegation profiles for CCS delegation system
11
+ * Ensures profiles exist and have valid API keys configured
12
+ */
13
+ export declare class DelegationValidator {
14
+ /**
15
+ * Validate a delegation profile
16
+ * @param profileName - Name of profile to validate (e.g., 'glm', 'kimi')
17
+ * @returns Validation result { valid: boolean, error?: string, settingsPath?: string }
18
+ */
19
+ static validate(profileName: string): ValidationResult;
20
+ /**
21
+ * Format validation error for display
22
+ * @param result - Validation result from validate()
23
+ * @returns Formatted error message
24
+ */
25
+ static formatError(result: ValidationResult): string;
26
+ /**
27
+ * Check if profile is delegation-ready (shorthand)
28
+ * @param profileName - Profile to check
29
+ * @returns True if ready for delegation
30
+ */
31
+ static isReady(profileName: string): boolean;
32
+ /**
33
+ * Get all delegation-ready profiles
34
+ * @returns List of profile names ready for delegation
35
+ */
36
+ static getReadyProfiles(): string[];
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=delegation-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-validator.d.ts","sourceRoot":"","sources":["../../src/utils/delegation-validator.ts"],"names":[],"mappings":";AAOA,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAkFtD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;IAcpD;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAK5C;;;OAGG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM,EAAE;CAuBpC"}
@@ -0,0 +1,161 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.DelegationValidator = void 0;
28
+ const fs = __importStar(require("fs"));
29
+ const path = __importStar(require("path"));
30
+ const os = __importStar(require("os"));
31
+ /**
32
+ * Validates delegation profiles for CCS delegation system
33
+ * Ensures profiles exist and have valid API keys configured
34
+ */
35
+ class DelegationValidator {
36
+ /**
37
+ * Validate a delegation profile
38
+ * @param profileName - Name of profile to validate (e.g., 'glm', 'kimi')
39
+ * @returns Validation result { valid: boolean, error?: string, settingsPath?: string }
40
+ */
41
+ static validate(profileName) {
42
+ const homeDir = os.homedir();
43
+ const settingsPath = path.join(homeDir, '.ccs', `${profileName}.settings.json`);
44
+ // Check if profile directory exists
45
+ if (!fs.existsSync(settingsPath)) {
46
+ return {
47
+ valid: false,
48
+ error: `Profile not found: ${profileName}`,
49
+ suggestion: `Profile settings missing at: ${settingsPath}\n\n` +
50
+ `To set up ${profileName} profile:\n` +
51
+ ` 1. Copy base settings: cp config/base-${profileName}.settings.json ~/.ccs/${profileName}.settings.json\n` +
52
+ ` 2. Edit settings: Edit ~/.ccs/${profileName}.settings.json\n` +
53
+ ` 3. Set your API key in ANTHROPIC_AUTH_TOKEN field`,
54
+ };
55
+ }
56
+ // Read and parse settings.json
57
+ let settings;
58
+ try {
59
+ const settingsContent = fs.readFileSync(settingsPath, 'utf8');
60
+ settings = JSON.parse(settingsContent);
61
+ }
62
+ catch (error) {
63
+ return {
64
+ valid: false,
65
+ error: `Failed to parse settings.json for ${profileName}`,
66
+ suggestion: `Settings file is corrupted or invalid JSON.\n\n` +
67
+ `Location: ${settingsPath}\n` +
68
+ `Parse error: ${error.message}\n\n` +
69
+ `Fix: Restore from base config:\n` +
70
+ ` cp config/base-${profileName}.settings.json ~/.ccs/${profileName}.settings.json`,
71
+ };
72
+ }
73
+ // Validate API key exists and is not default
74
+ const apiKey = settings.env?.ANTHROPIC_AUTH_TOKEN;
75
+ if (!apiKey) {
76
+ return {
77
+ valid: false,
78
+ error: `API key not configured for ${profileName}`,
79
+ suggestion: `Missing ANTHROPIC_AUTH_TOKEN in settings.\n\n` +
80
+ `Edit: ${settingsPath}\n` +
81
+ `Set: env.ANTHROPIC_AUTH_TOKEN to your API key`,
82
+ };
83
+ }
84
+ // Check for default placeholder values
85
+ const defaultPlaceholders = [
86
+ 'YOUR_GLM_API_KEY_HERE',
87
+ 'YOUR_KIMI_API_KEY_HERE',
88
+ 'YOUR_API_KEY_HERE',
89
+ 'your-api-key-here',
90
+ 'PLACEHOLDER',
91
+ ];
92
+ if (defaultPlaceholders.some((placeholder) => apiKey.includes(placeholder))) {
93
+ return {
94
+ valid: false,
95
+ error: `Default API key placeholder detected for ${profileName}`,
96
+ suggestion: `API key is still set to default placeholder.\n\n` +
97
+ `To configure your profile:\n` +
98
+ ` 1. Edit: ${settingsPath}\n` +
99
+ ` 2. Replace ANTHROPIC_AUTH_TOKEN with your actual API key\n\n` +
100
+ `Get API key:\n` +
101
+ ` GLM: https://z.ai/manage-apikey/apikey-list\n` +
102
+ ` Kimi: https://platform.moonshot.cn/console/api-keys`,
103
+ };
104
+ }
105
+ // Validation passed
106
+ return {
107
+ valid: true,
108
+ settingsPath,
109
+ apiKey: apiKey.substring(0, 8) + '...', // Show first 8 chars for verification
110
+ };
111
+ }
112
+ /**
113
+ * Format validation error for display
114
+ * @param result - Validation result from validate()
115
+ * @returns Formatted error message
116
+ */
117
+ static formatError(result) {
118
+ if (result.valid) {
119
+ return '';
120
+ }
121
+ let message = `\n[X] ${result.error}\n\n`;
122
+ if (result.suggestion) {
123
+ message += `${result.suggestion}\n`;
124
+ }
125
+ return message;
126
+ }
127
+ /**
128
+ * Check if profile is delegation-ready (shorthand)
129
+ * @param profileName - Profile to check
130
+ * @returns True if ready for delegation
131
+ */
132
+ static isReady(profileName) {
133
+ const result = this.validate(profileName);
134
+ return result.valid;
135
+ }
136
+ /**
137
+ * Get all delegation-ready profiles
138
+ * @returns List of profile names ready for delegation
139
+ */
140
+ static getReadyProfiles() {
141
+ const homeDir = os.homedir();
142
+ const ccsDir = path.join(homeDir, '.ccs');
143
+ if (!fs.existsSync(ccsDir)) {
144
+ return [];
145
+ }
146
+ const profiles = [];
147
+ const entries = fs.readdirSync(ccsDir, { withFileTypes: true });
148
+ // Look for *.settings.json files
149
+ for (const entry of entries) {
150
+ if (entry.isFile() && entry.name.endsWith('.settings.json')) {
151
+ const profileName = entry.name.replace('.settings.json', '');
152
+ if (this.isReady(profileName)) {
153
+ profiles.push(profileName);
154
+ }
155
+ }
156
+ }
157
+ return profiles;
158
+ }
159
+ }
160
+ exports.DelegationValidator = DelegationValidator;
161
+ //# sourceMappingURL=delegation-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-validator.js","sourceRoot":"","sources":["../../src/utils/delegation-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * CCS Error Codes
3
+ * Documentation: ../../docs/errors/README.md
4
+ */
5
+ export declare const ERROR_CODES: {
6
+ readonly CONFIG_MISSING: "E101";
7
+ readonly CONFIG_INVALID_JSON: "E102";
8
+ readonly CONFIG_INVALID_PROFILE: "E103";
9
+ readonly PROFILE_NOT_FOUND: "E104";
10
+ readonly PROFILE_ALREADY_EXISTS: "E105";
11
+ readonly PROFILE_CANNOT_DELETE_DEFAULT: "E106";
12
+ readonly PROFILE_INVALID_NAME: "E107";
13
+ readonly CLAUDE_NOT_FOUND: "E301";
14
+ readonly CLAUDE_VERSION_INCOMPATIBLE: "E302";
15
+ readonly CLAUDE_EXECUTION_FAILED: "E303";
16
+ readonly GLMT_PROXY_TIMEOUT: "E401";
17
+ readonly API_KEY_MISSING: "E402";
18
+ readonly API_AUTH_FAILED: "E403";
19
+ readonly API_RATE_LIMIT: "E404";
20
+ readonly FS_CANNOT_CREATE_DIR: "E501";
21
+ readonly FS_CANNOT_WRITE_FILE: "E502";
22
+ readonly FS_CANNOT_READ_FILE: "E503";
23
+ readonly FS_INSTANCE_NOT_FOUND: "E504";
24
+ readonly INTERNAL_ERROR: "E900";
25
+ readonly INVALID_STATE: "E901";
26
+ };
27
+ export type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];
28
+ /**
29
+ * Error code documentation URL generator
30
+ */
31
+ export declare function getErrorDocUrl(errorCode: ErrorCode): string;
32
+ /**
33
+ * Get error category from code
34
+ */
35
+ export declare function getErrorCategory(errorCode: ErrorCode): string;
36
+ //# sourceMappingURL=error-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/utils/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;CAgCd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEvE;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAS7D"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * CCS Error Codes
4
+ * Documentation: ../../docs/errors/README.md
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getErrorCategory = exports.getErrorDocUrl = exports.ERROR_CODES = void 0;
8
+ exports.ERROR_CODES = {
9
+ // Configuration Errors (E100-E199)
10
+ CONFIG_MISSING: 'E101',
11
+ CONFIG_INVALID_JSON: 'E102',
12
+ CONFIG_INVALID_PROFILE: 'E103',
13
+ // Profile Management Errors (E200-E299)
14
+ PROFILE_NOT_FOUND: 'E104',
15
+ PROFILE_ALREADY_EXISTS: 'E105',
16
+ PROFILE_CANNOT_DELETE_DEFAULT: 'E106',
17
+ PROFILE_INVALID_NAME: 'E107',
18
+ // Claude CLI Detection Errors (E300-E399)
19
+ CLAUDE_NOT_FOUND: 'E301',
20
+ CLAUDE_VERSION_INCOMPATIBLE: 'E302',
21
+ CLAUDE_EXECUTION_FAILED: 'E303',
22
+ // Network/API Errors (E400-E499)
23
+ GLMT_PROXY_TIMEOUT: 'E401',
24
+ API_KEY_MISSING: 'E402',
25
+ API_AUTH_FAILED: 'E403',
26
+ API_RATE_LIMIT: 'E404',
27
+ // File System Errors (E500-E599)
28
+ FS_CANNOT_CREATE_DIR: 'E501',
29
+ FS_CANNOT_WRITE_FILE: 'E502',
30
+ FS_CANNOT_READ_FILE: 'E503',
31
+ FS_INSTANCE_NOT_FOUND: 'E504',
32
+ // Internal Errors (E900-E999)
33
+ INTERNAL_ERROR: 'E900',
34
+ INVALID_STATE: 'E901',
35
+ };
36
+ /**
37
+ * Error code documentation URL generator
38
+ */
39
+ function getErrorDocUrl(errorCode) {
40
+ return `https://github.com/kaitranntt/ccs/blob/main/docs/errors/README.md#${errorCode.toLowerCase()}`;
41
+ }
42
+ exports.getErrorDocUrl = getErrorDocUrl;
43
+ /**
44
+ * Get error category from code
45
+ */
46
+ function getErrorCategory(errorCode) {
47
+ const code = parseInt(errorCode.substring(1));
48
+ if (code >= 100 && code < 200)
49
+ return 'Configuration';
50
+ if (code >= 200 && code < 300)
51
+ return 'Profile Management';
52
+ if (code >= 300 && code < 400)
53
+ return 'Claude CLI Detection';
54
+ if (code >= 400 && code < 500)
55
+ return 'Network/API';
56
+ if (code >= 500 && code < 600)
57
+ return 'File System';
58
+ if (code >= 900 && code < 1000)
59
+ return 'Internal';
60
+ return 'Unknown';
61
+ }
62
+ exports.getErrorCategory = getErrorCategory;
63
+ //# sourceMappingURL=error-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/utils/error-codes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,WAAW,GAAG;IACzB,mCAAmC;IACnC,cAAc,EAAE,MAAM;IACtB,mBAAmB,EAAE,MAAM;IAC3B,sBAAsB,EAAE,MAAM;IAE9B,wCAAwC;IACxC,iBAAiB,EAAE,MAAM;IACzB,sBAAsB,EAAE,MAAM;IAC9B,6BAA6B,EAAE,MAAM;IACrC,oBAAoB,EAAE,MAAM;IAE5B,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM;IACxB,2BAA2B,EAAE,MAAM;IACnC,uBAAuB,EAAE,MAAM;IAE/B,iCAAiC;IACjC,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,MAAM;IAEtB,iCAAiC;IACjC,oBAAoB,EAAE,MAAM;IAC5B,oBAAoB,EAAE,MAAM;IAC5B,mBAAmB,EAAE,MAAM;IAC3B,qBAAqB,EAAE,MAAM;IAE7B,8BAA8B;IAC9B,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;CACb,CAAC;AAIX;;GAEG;AACH,SAAgB,cAAc,CAAC,SAAoB;IACjD,OAAO,qEAAqE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;AACxG,CAAC;AAFD,wCAEC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,SAAoB;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,eAAe,CAAC;IACtD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,oBAAoB,CAAC;IAC3D,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,sBAAsB,CAAC;IAC7D,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,aAAa,CAAC;IACpD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,aAAa,CAAC;IACpD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,UAAU,CAAC;IAClD,OAAO,SAAS,CAAC;AACnB,CAAC;AATD,4CASC"}
@@ -0,0 +1,59 @@
1
+ import { ErrorCode } from './error-codes';
2
+ /**
3
+ * Error types with structured messages (Legacy - kept for compatibility)
4
+ */
5
+ export declare const ErrorTypes: {
6
+ readonly NO_CLAUDE_CLI: "NO_CLAUDE_CLI";
7
+ readonly MISSING_SETTINGS: "MISSING_SETTINGS";
8
+ readonly INVALID_CONFIG: "INVALID_CONFIG";
9
+ readonly UNKNOWN_PROFILE: "UNKNOWN_PROFILE";
10
+ readonly PERMISSION_DENIED: "PERMISSION_DENIED";
11
+ readonly GENERIC: "GENERIC";
12
+ };
13
+ export type ErrorType = (typeof ErrorTypes)[keyof typeof ErrorTypes];
14
+ /**
15
+ * Enhanced error manager with context-aware messages
16
+ */
17
+ export declare class ErrorManager {
18
+ /**
19
+ * Show error code and documentation URL
20
+ */
21
+ static showErrorCode(errorCode: ErrorCode): void;
22
+ /**
23
+ * Show Claude CLI not found error
24
+ */
25
+ static showClaudeNotFound(): void;
26
+ /**
27
+ * Show settings file not found error
28
+ */
29
+ static showSettingsNotFound(settingsPath: string): void;
30
+ /**
31
+ * Show invalid configuration error
32
+ */
33
+ static showInvalidConfig(configPath: string, errorDetail: string): void;
34
+ /**
35
+ * Show profile not found error
36
+ */
37
+ static showProfileNotFound(profileName: string, availableProfiles: string[], suggestions?: string[]): void;
38
+ /**
39
+ * Show permission denied error
40
+ */
41
+ static showPermissionDenied(path: string): void;
42
+ /**
43
+ * Show CLIProxy OAuth timeout error
44
+ */
45
+ static showOAuthTimeout(provider: string): void;
46
+ /**
47
+ * Show CLIProxy port conflict error
48
+ */
49
+ static showPortConflict(port: number): void;
50
+ /**
51
+ * Show CLIProxy binary download failure error
52
+ */
53
+ static showBinaryDownloadFailed(url: string, error: string): void;
54
+ /**
55
+ * Show CLIProxy authentication required error
56
+ */
57
+ static showAuthRequired(provider: string): void;
58
+ }
59
+ //# sourceMappingURL=error-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-manager.d.ts","sourceRoot":"","sources":["../../src/utils/error-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMhD;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,IAAI;IAoBjC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IA6BvD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAmBvE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CACxB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,WAAW,GAAE,MAAM,EAAO,GACzB,IAAI;IAwBP;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAmB/C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAqB/C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAoB3C;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAoBjE;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAWhD"}